1. 13 Jan, 2015 2 commits
  2. 24 Sep, 2012 1 commit
    • Eric Eide's avatar
      Replace license symbols with {{{ }}}-enclosed license blocks. · 6df609a9
      Eric Eide authored
      This commit is intended to makes the license status of Emulab and
      ProtoGENI source files more clear.  It replaces license symbols like
      "EMULAB-COPYRIGHT" and "GENIPUBLIC-COPYRIGHT" with {{{ }}}-delimited
      blocks that contain actual license statements.
      
      This change was driven by the fact that today, most people acquire and
      track Emulab and ProtoGENI sources via git.
      
      Before the Emulab source code was kept in git, the Flux Research Group
      at the University of Utah would roll distributions by making tar
      files.  As part of that process, the Flux Group would replace the
      license symbols in the source files with actual license statements.
      
      When the Flux Group moved to git, people outside of the group started
      to see the source files with the "unexpanded" symbols.  This meant
      that people acquired source files without actual license statements in
      them.  All the relevant files had Utah *copyright* statements in them,
      but without the expanded *license* statements, the licensing status of
      the source files was unclear.
      
      This commit is intended to clear up that confusion.
      
      Most Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the Affero GNU General Public License, version 3
      (AGPLv3).
      
      Most Utah-copyrighted files related to ProtoGENI are distributed under
      the terms of the GENI Public License, which is a BSD-like open-source
      license.
      
      Some Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the GNU Lesser General Public License, version 2.1
      (LGPL).
      6df609a9
  3. 07 Nov, 2011 1 commit
  4. 09 Nov, 2010 1 commit
  5. 28 Apr, 2010 1 commit
  6. 16 Apr, 2010 2 commits
  7. 29 Oct, 2008 1 commit
  8. 12 Jun, 2008 1 commit
    • Kevin Atkinson's avatar
      · d5e19999
      Kevin Atkinson authored
      Bug fixes for publication support.
      
      Added #prep attribute in form_defs.which is a function used in
      FormValidate to "normalize" a field.  For example if it is "trim" than
      all leading and trailing whitespace will be removed.
      d5e19999
  9. 11 Jun, 2008 1 commit
    • Kevin Atkinson's avatar
      · 425c4b89
      Kevin Atkinson authored
      Set the charset for all emulab pages to utf-8 which is needed to
      display foreign names correctly.  Also added three rows to table_regex:
      tinytext_utf8, text_utf8, fulltext_utf8
      
      Enhanced form_defs.php:
      
        - Add Support for Textarea
      
        - Add Support for a vertical list, for example see Category in
          submitpub.php
      
        - Add support for dumping the form values in plain text, used in the
          email I send to testbed-ops.
      
        - Change Error Reporting text for subfields such as in a list so
          they also include the text from the outer field, for example in
          newosid "ping" will become "OS Features, ping".  I needed this
          since some of my subfields didn't have labels and it seamed like
          the right thing to do.
      
        - Set #return_value to 1 in FormRenderCheckBox if it not already
          specified
      
        - In FormRenderSelect, if the #value is not in the list add it to
          the end.
      
        - Add support for "display" type, to just display some text in the
          table
      
        - Possibly some other little things I forgot about.
      
      New site variable PUBSUPPORT.
      
      Implement FS#201: Provide users a way to add a paper that used Emulab
      see (https://users.emulab.net/flyspray/?do=details&id=201), summary of
      changes:
      
        - Controlled via the new site variable PUBSUPPORT.
      
        - The emulab_papers spread sheet is now frozen all new changes
          should be made using the new system.
      
        - New pages submitpub.php for users to submit a new publication
          with different views for admins and non-admins.
      
        - New page expubs.php to replace doc/expubs.html, lists publications
          in database.  Also allows admins to edit publications.
      
        - Project members can edit papers associated with the project as
          long as they have local_root or higher privileges. Papers for a
          project are listed under a new tab in the showproject page. I keep
          track of the last person to edit the paper submission in addition
          to who initially submitted it.
      
        - Users can modify papers they submitted which is needed if the
          project was N/A. Papers users submitted now appear in a new tab in
          the showuser page.
      
        - Script to import spreadsheet to the database is in
          utah/bibliography/emulab_pubs-import.pl.
      
        - Changes web pages that point to doc/expubs.html to instead point
          to expubs.php
      425c4b89
  10. 05 Nov, 2007 1 commit
  11. 02 Nov, 2007 1 commit
  12. 24 Oct, 2007 1 commit
    • Leigh Stoller's avatar
      Moderate rework of the Emulab UI. When logged in, all of the main · 69ec957f
      Leigh Stoller authored
      menus that used to be on the left side, are now drop down menus along
      the top. The banner across the top will also be smaller and more space
      efficient.
      
      The primary motivation for these changes is to leave more room for
      actual content in the main window.
      
      Tested with Firefox (1.5 and 2.0), Safari (2.0 and 3.0) and on
      Internet Explorer Version 7. IE6 has some visual issues that might
      make it a little annoying, but should be viewed as incentive to
      upgrade to IE7 since it has been out a long time.
      69ec957f
  13. 26 Sep, 2007 1 commit
    • Russ Fish's avatar
      Move newgroup page form logic to a backend Perl script and methods. · 3164ca14
      Russ Fish authored
           www/newgroup.php3 - The reworked PHP page.
           www/newgroup_form.php3 - Removed, form merged into newgroup.php3 .
           www/group_defs.php - Add a Group::Create method bridging to the script via XML.
           www/showproject.php3 - Link to newgroup.php3, rather than newgroup_form.php3 .
           configure configure.in  - Add the newgroup backend script.
           backend/{newgroup,GNUmakefile}.in - Add the Perl script.
           db/Group.pm.in - Update the AccessCheck method to allow TB_PROJECT_LEADGROUP.
           sql/database-fill.sql - Add table_regex 'groups' checking patterns.
      3164ca14
  14. 12 Feb, 2007 1 commit
    • Leigh Stoller's avatar
      * Replace the argument processing code in all pages. Currently we rely on · 48acc8e3
      Leigh Stoller authored
        register_globals=1 to turn POST/GET/COOKIES arguments in local variables.
        This is known to be a terrible security risk, and we keep saying we are
        going to fix it, and now I am. In order to accomplish this on a
        transitional basis (since I don't want the entire web interface to stop
        working while I debug it), and because the code just needs the cleanup, I
        am doing it like this: Each page will sport new declarations at the top:
      
      	RequiredPageArguments("experiment", PAGEARG_EXPERIMENT,
                                    "template",   PAGEARG_TEMPLATE,
                                    "instance",   PAGEARG_INSTANCE,
                                    "metadata",   PAGEARG_METADATA,
                                    "osinfo",     PAGEARG_OSINFO,
                                    "image",      PAGEARG_IMAGE,
                                    "project",    PAGEARG_PROJECT,
                                    "group",      PAGEARG_GROUP,
                                    "user",       PAGEARG_USER,
      			      "node",       PAGEARG_NODE,
      			      "yesno",      PAGEARG_BOOLEAN,
      			      "message",    PAGEARG_STRING,
      			      "age",        PAGEARG_INTEGER,
                                    "cost",       PAGEARG_NUMERIC,
                                    "formfields", PAGEARG_ARRAY,
                                    "unknown",    PAGEARG_ANYTHING);
      
      	OptionalPageArguments("canceled", PAGEARG_BOOLEAN);
      
        The first token in each pair is the name of the global variable to
        set, and the second token is the type. So, for "experiment" we look at
        the URL for a pid/eid or exptidx, etc, sanity check them (safe for a
        DB query), and then try to find that experiment in the DB. If it maps
        to an experiment, set global variable $experiment to the object. Since
        its a required argument, produce an error if not supplied. Similar
        treatment for optional arguments, with the obvious difference.
      
        The goal is to have ALL argument processing in one place, consistent,
        and correct. I've found numerous places where we leak unchecked
        arguments into queries. It also cuts out a lot of duplicated code.
      
      * To make the above easier to deal with, I've been replacing lots of
        hardcoded URLS in the code of the form:
      
      	foo.php3?pid=$pid&eid=$eid ...
      
        with
      
              CreateURL("foo", $experiment)
      
        which creates and returns the neccessary url string, by looking at
        the type of its arguments (experiment, template, instance, etc.)
      
        Eventually plan to replace them all so that URL handling throughout
        the code is all defined in one place (all the new URL code is in
        url_defs.php).
      
      * I have cranked up error reporting to tell me anytime a variable is
        used before it is initialized, plus a bunch of other stuff that PHP
        deems improper. Think of it like -Wall ... and boy we get a lot of
        warnings.  A very large percentage of the diffs are to fix all these
        warnings.
      
        The warnings are currently going to /usr/testbed/log/php-errors.log,
        and I'll be adding a script to capture them each night and mail them
        to tbops. This file also gets errors (this will be a change for
        developers; rather then seeing errors and warnings dumped in the
        middle of web pages, they will go to this file instead).
      
      * Major refactoring of the code. More objects (nodes, images, osids).
        Moving tons of queries into the objects in the hopes of someday
        getting to a point where we can split the web interface onto a
        different server.  Lots of general cleanup.
      48acc8e3
  15. 23 Jan, 2007 1 commit
  16. 27 Dec, 2006 1 commit
  17. 20 Dec, 2006 1 commit
  18. 28 Jun, 2006 1 commit
  19. 25 May, 2006 1 commit
  20. 26 Jan, 2006 1 commit
  21. 12 Oct, 2005 1 commit
  22. 30 Aug, 2005 1 commit
  23. 12 Jul, 2004 1 commit
  24. 17 May, 2004 1 commit
    • Leigh Stoller's avatar
      Change the Free Node Summary page to allow showing the summary by · 0a04f07b
      Leigh Stoller authored
      project permission. By default you get a summary of all the free nodes
      you can use in all your project memberships, which is not too
      useful. It would be more useful to see what types you can use by
      project, since that is how permission is granted and how experiments
      are created. So, when you are a member of more than one project,
      display a list of those projects along the top so you can see the list
      on a per-project basis.
      
      More generally, if you are an admin person:
      
      	www.emulab.net/nodecontrol_list.php3?showtype=summary&bypid=tbres
      
      will show out the summary information for a particular project. At
      some point I need to make this a subroutine that we can call from
      other pages to drop in a summary table.
      0a04f07b
  25. 12 Dec, 2003 1 commit
  26. 02 Dec, 2003 1 commit
  27. 15 May, 2003 1 commit
    • Leigh Stoller's avatar
      Split the experiment stats table into two parts. The first is the · a382994d
      Leigh Stoller authored
      per-experiment instantiation with aggregate data like the number of
      swapins, the dates and the like. The other part is the per
      swapin/modify stats. These are number of pnodes, links, lans,
      etc. Long term, I think we want more precise swapin stats, and with
      experiment modify in the mix, we need to have multiple stat records
      per experiment, but do not need to duplicate all the stuff in the
      other table just mentioned.
      
      To reduce the amount the table size, we cross reference the tables by
      index only instead of with pid,eid and the like. We use exptidx to
      link experiments, experiment_stats, and the new experiment_resources
      table. experiment_resources and stats are linked by another index in
      the resources table, which indicates which is the current resource
      row. On a modify, a new resource record is created, and the stats
      record updated to point to the new (latest) resource record.
      
      Web Changes: Improve showstats and showexpstats. Make them user
      accessible so that mere users can see stats for themselves and for
      their projects. No ability for mere users (PIs) to look at another
      person's stats. Generally, these two pages need more work, but now
      they are more useful. I added Show Stats to the user info and project
      info pages to display per-usr/proj stats. Add more info in the
      showstats display, but the showexpstats display is still not pretty
      printed; just the raw tables.
      
      Rename a few fields, add some indexes, and otherwise make some minor
      changes that are sure to annoy everyone.
      a382994d
  28. 13 May, 2003 1 commit
  29. 28 Apr, 2003 1 commit
    • Leigh Stoller's avatar
      Add support for new {user,group,project,experiment}_stats tables. · 5e5508bf
      Leigh Stoller authored
      The first three are aggregate tables, while the experiment stats table
      gets a record for each new experiment, and is updated when an
      experiment is swapped in/out/modify or terminated. Look at the table
      to see what is tracked. Once the experiment_stats record is updated,
      the aggregate tables are updated as necessary. There are a bunch of
      ugly changes to assign_wrapper to get the stats. Note that pnodes is
      not incremented until an experiment sucessfully swaps in. This is in
      leu of getting status codes; I'm not tracking failed operations yet,
      nor creating the log file that Jay wants. I'll do that in the next
      round of changes when we see how useful these numbers are.
      
      Most of the changes are to create/delete table entries where
      appropriate, and to display the records. Display is only under admin
      mode, and the display is raw; just a dump of the assoc tables in php.
      The last 100 experiment stats records are available via the Experiment
      List page, using the "Stats" show option at the top. Bad place, but
      will do for now.
      5e5508bf
  30. 27 Mar, 2003 1 commit
  31. 03 Mar, 2003 1 commit
    • Chad Barb's avatar
      · b04c214b
      Chad Barb authored
      Better headers on shownode page,
      also added "Project" prefix to header on showproject and
      "Experiment" prefix to header on showexp.
      b04c214b
  32. 28 Feb, 2003 1 commit
    • Chad Barb's avatar
      · 4dda599c
      Chad Barb authored
      Added thumbnail (2x as large as the one which shows up in the list) to showexp page.
      Added heading to vis(shownsfile), showexp and showproj pages, to more readily identify what you're looking at.
      Added links from thumbnails to vis(shownsfile) page.
      Added submenu hackiness to menu.php3 to allow embedding of things into left panel below submenu.
      Removed "red letter" legend and PC  summary from bottom of thumbnail view.
      4dda599c
  33. 24 Jan, 2003 1 commit
  34. 25 Nov, 2002 1 commit
  35. 16 Aug, 2002 1 commit
    • Chad Barb's avatar
      · 60529980
      Chad Barb authored
      The big one.
      
      New look;
      most of the changes are in menu.php3.
      
      A lot of the changes in other files are s/<TD>/<TH>/
      for table headers.
      
      Also closed some tags, tweaked some table styles, etc..
      
      No actual functionality should have changed.
      
      Will be installing soon...
      60529980
  36. 17 Jul, 2002 1 commit
  37. 14 Jul, 2002 1 commit
  38. 07 Jul, 2002 1 commit