1. 11 May, 2005 1 commit
  2. 06 May, 2005 1 commit
  3. 05 May, 2005 1 commit
  4. 27 Apr, 2005 1 commit
    • Leigh B. Stoller's avatar
      A set of changes to allow the newnode path (MFS and adding nodes) to · 94d97303
      Leigh B. Stoller authored
      work inside ElabInElab.
      
      The crux of this is to emulate what switchmac does when incorporating nodes
      into the testbed. Rather then using snmpit to ask the switches for MAC info,
      we can just ask outer emulab via the proxy to get that same info from the
      DB. Note, there are no changes to the newnode MFS; it will boot and happily
      report it after launching teachswitch, but those packets are harmless to the situation.
      
      Another wrinkle is that we need the outer emulab to tell us which
      interfaces are control and which are experimental, since inside there
      is no real way to determine that. I did this by overloading the final
      field in the return from switchmac, and using that to override the
      "role" setting that utils/newnode would normally choose on its own.
      
      There is another new routine in the XMLRPC server that is intended to
      be used for bypassing the newnode path. This is not hooked into
      anything yet, but the intent is that rather then using the web
      interface to "add" nodes, we just return everything needed to seed the
      new_nodes and new_interfaces table, and then run newnodes directly.
      94d97303
  5. 26 Apr, 2005 2 commits
  6. 22 Apr, 2005 2 commits
  7. 20 Apr, 2005 1 commit
  8. 12 Apr, 2005 1 commit
  9. 07 Apr, 2005 2 commits
  10. 06 Apr, 2005 1 commit
  11. 01 Apr, 2005 1 commit
  12. 31 Mar, 2005 2 commits
  13. 29 Mar, 2005 4 commits
  14. 28 Mar, 2005 1 commit
    • Leigh B. Stoller's avatar
      Implement a cross machine login so that user is automatically logged · 9310dedb
      Leigh B. Stoller authored
      into the Wiki when clicking on the My Wiki's link. Works like this:
      
      * The My Wiki's link points to new page, gotowiki.php3, on boss.
      
      * The gotowiki page looks for a new cookie in the user's browser
        which holds a key (the usual random data run through md5).
      
      * If the key does not exist, generate it and store it in the user
        browser (expires when browser is closed or emulab login times out).
        Also invoke backend script wikixlogin, which will send the key over
        to the wiki server (via ssh), which will write the key into a file
        named by the user account.
      
      * The user's browser is redirected to the wiki server's login script
        (twiki/bin/newlogon), but instead of username and password, we send
        over username and key (as well as redurl= parameter which is the
        page on the wiki server to redirect to later).
      
      * The new login script looks for this case, and opens the file named
        by the user and compares the key it gets with what is in the file.
        If they match, the user login succeeds and the browser is once again
        redirected, but this time to the page it wants on the wiki server.
        If the key does not match, the browser is redirected to the login
        page (so user can enter username password normally). The redurl
        parameter is passed along as well.
      
      * Subsequent clicks on My Wiki's will not need to invoke the backend
        script, since the cookie will be in the browser.
      9310dedb
  15. 25 Mar, 2005 2 commits
    • Leigh B. Stoller's avatar
      Ack, add some ()'s! · 2fd0955e
      Leigh B. Stoller authored
      2fd0955e
    • Leigh B. Stoller's avatar
      Okay, I think I am finally done with WikiWhacking (or WhackingTheWiki?) · 90dcbbe2
      Leigh B. Stoller authored
      for the near future. Two big changes:
      
      * Add WikiOnly accounts. An external user can register for an account on
        the wiki. Rather then use the registration stuff that comes with TWiki,
        redirect to new Emulab web page so we can manage all of the wiki accounts
        from one place. I modified the joinproject page to spit out a subset of
        the required fields so that its simple to get a wiki only account (just a
        few things to fill in).
      
        In keeping with current security practices, we still generate a
        verification email message to ensure the email address works. However,
        when the user completes the verification, the wiki account is created right
        away, rather then waiting for someone to approve it (since that would
        defeat the entire point of the wiki).
      
        Aside: I have not thought much about the conversion from a wiki-only
        account to a real account. That is going to happen, and it would be nice
        if that step did not require one of use to go in and hack the DB. Will
        cross that moat later.
      
        Aside: Rather beat up on the modify user info page too much, I continue
        to spit out the same form, but mark most of the fields as not required,
        and allow wiki-only people to not specify them.
      
      * Both the joinproject and newproject pages sport a new WikiName field so
        that users can select their own WikiName. I added some JavaScript to
        both pages that generate a suitable wikiname from the FullName field, so
        that as soon as the user clicks out of the FullName, a default wikiname is
        inserted in the field.
      
        Both pages verify the wikinames by checking to make sure it is not
        already in use, and that it meets the WikiRules for WikiTopic names.
        (someone please shoot me if I continue to use WikiNotation).
      90dcbbe2
  16. 23 Mar, 2005 1 commit
  17. 22 Mar, 2005 1 commit
  18. 21 Mar, 2005 3 commits
  19. 14 Mar, 2005 1 commit
  20. 11 Mar, 2005 1 commit
  21. 09 Mar, 2005 2 commits
  22. 08 Mar, 2005 1 commit
  23. 07 Mar, 2005 1 commit
    • Leigh B. Stoller's avatar
      Change to the UI. Add a right click context menu (right click over a · b369447e
      Leigh B. Stoller authored
      node) brings up a context menu that allows you to 1) Cancel the
      current drag operation for that robot, 2) bring up the Emulab shownode
      page in another window, and 3) set the orientation for the robot using
      a popup dialog input box. This allowed me to clean up some of the
      table handling code, and fix a glitch whereby a value left inside a
      cell being edited caused the a cancel drag operation to immediately
      start a new one.
      b369447e
  24. 04 Mar, 2005 5 commits
    • Leigh B. Stoller's avatar
      This started out as a cleanup pass ... · 4e1cc382
      Leigh B. Stoller authored
      * Add nodeinfo backend page for the tracker applet to query for info about
        the nodes, including what type, what size, fixed/mobile, allocated etc.
        This is so we can draw the dots in the right scale, and make sure that
        fixed motes cannot be dragged around in the applet.
      
      * Clean up a bunch of hardwired constants, mostly related to the size
        of the dots, and the font size (which determines where labels get
        drawn.
      
      * And then I noticed the oddity resulting from having a robot that is 10.5
        inches long, but sweeps a diameter of 14 inches. The dot we draw is in
        scale (10.5in), but when I changed it to draw a 14in scale dot, that
        looked all wrong. So, there are actually two sizes now; the size of
        the robot, and the radius of the circle it sweeps (which is critical
        for determining obstacle avoidance). Still, this is confusing cause the
        user will place a robot near an obstacle (not overlapping) but will be
        told there is overlap cause the bubble around the robot is bigger then
        the dot. Not sure what to do about that. I could draw a large bubble
        around the robots but that is going to increase the clutter quite a bit.
      4e1cc382
    • Russ Fish's avatar
    • Leigh B. Stoller's avatar
      Add checks to make sure that a robot destination does not overlap a · 84c4f96b
      Leigh B. Stoller authored
      current robot location (or its destination if the other robot is
      moving or being dragged to a new location).
      
      Oh, I should mention that to make the calculation easier, I am
      treating robots as rectangles not circles. This is not ideal, but I
      was not sure how to calculate overlap of two circles in a reasonably
      efficient manner. I'm sure a high school student can tell me though.
      84c4f96b
    • Timothy Stack's avatar
    • Leigh B. Stoller's avatar
      As per Tim's comments, just the center point of a robot needs to be · be6ded17
      Leigh B. Stoller authored
      fully contained within at least one camera (not the entire robot).
      be6ded17
  25. 03 Mar, 2005 1 commit