UC Berkeley Robotics and Intelligent Machines Lab
Previous section  |  This section  |  Next section

Editing group pages, and other forms of rocket science

Information on how to set up and edit group home pages, and other advanced features of the site.

How do I control access to my workspace?

Based on How do I control access to my workspace? by John Reekie, 15 Jun 1999

Each section of a workspace (the part of the site devoted to a workgroup, such as its FAQ, forum, and so on), has a set of access control flags associated with it. The administrator of a workgroup can set these flags from the Admin page of that group according to the degree of access/privacy needed by the group.

The access control flags are a two-dimensional grid, where one axis is the region of the workspace, such as the FAQ or forum, and the other is the class of user. User classes are as follows:

  • world. Users who are not logged into the site. As far as the server can tell, this could be anyone in the world.
  • site. Users who are logged into the site as a member of a group, but are neither a guest nor member of your group.
  • guest. Users who are logged into the site and have guest membership in your group.
  • member. Users who are logged into the site and are a member of your group.
  • admin. Users who are logged into the site and are are administrators of your group.

Any given user has the highest class that applies to them (where the order is admin, member, guest, site, world in the above list). As a general rule, higher classes have higher permissions, where the permissions that can be assigned to each class of user are as follows:

The flags are as follows:

  • Read. The user is able to read these pages.
  • Annotate. The user is able to add annotations to these pages. Annotations are no longer used.
  • Write. The user is able to add content to this part of your workspace. For example, a user with write permission can add an article to your forum.
  • Modify. The user is able to modify these pages (where the user interface permits). For example, a user with modify permission can edit an article in the forum. (Note: the author of an article can always edit it, even if they don't have modify permission in that part of the workspace.)
  • Execute. This is only useful in a few rare cases, and allows certain destructive operations that should only be done by an administrator.
When you add a new feature to your workspace, you should check the access permissions carefully. Here are a couple of tips:
  • If the workspace is primarily for work in progress, you may want to make access more restricted, so that confidential results (for example) are not world-readable.
  • If you are a software development group, you may wish to make access more permissive. Allowing anyone to add to and annotate your forum and faq can be a valuable source of feedback from people who are using your software.
We recommend that you err on the side of permissiveness when setting access permissions -- it is generally better in a research environment to have more information flow than less!

Groups with CVS Home Pages

If a group has a CVS home page (Under admin -> Configure Group, "CVS Checkin" is checked), then the home page visibility has the following effects:

home is world readable: Then a non-logged in user will see the contents of the CVS repository.

home is not world readable: Then a non-logged in user will see the contents of the workgroup profile, which is set by admin -> Group Profile.

How do I request a new group?
To request a group, go to options -> Request New Group.

Group names should be one word, lower case.

How do I customize my margins and footers?
The CHESS/CPS-FORCES/E3S/Embedded/iCyPhy/TerraSwarm/TRUST server provides a facility that allows the pages that you author and that appear in your workspace to be customized. To customize your pages, you need to:

  • Turn on the "Fancy HTML" option in your group's configuration options.
  • Create a file called "toc.html" in the root directory of your HTML files. (That is, in the same directory as the index.html file you see when you go to robotics.eecs.berkeley.edu/groupname.)
The toc.html file can contain anything you want. However, the server parses it looking for pairs of HTML comments that look like this:
My margin text
If the parser sees a block like this, it extracts the text between the comments and places it in the left-hand margin of the displayed page, instead of the links that it would normally generate.

You can also append text to the existing auto-generated margin text by inserting the "+" sign, as follows:

Text appended to margin
Several fields can be specified in this way:
  • margin: text is inserted or appended to the left hand margin that appears on every page.
  • footer: text is inserted or appended to the footer that appears on every page.
  • header: text is inserted or appended to the header links that appear on every page.

In addition, a block named options can be used to specify additional formatting and display options. the syntax is

Currently the following options are supported:
  • margincolor: The background color of the left-hand margin.

Once you have a custom setup for your site, you may wish to further customize subdirectories in your site. You can do this simply by placing another "toc.html" in sub-directories that you wish to customize. Note that you will need to duplicate all fields in your top-level file -- for example, if you put a footer in your top-level toc.html, you will have to put one in the sub-directory's toc.html too.

Note also that on all sites except e3s, toc.html is not "inherited." If /diva has a toc.html, and /diva/x has a toc.html, but /diva/x/y does not, then files in /diva/x/y will use the toc.html from /diva, not the one from /diva/x.

Some of my groups pages do not show up properly. Why?
Based on Some of my group's pages don't show up properly from the GSRC FAQ by John Reekie, 1999.

Because this web server takes pages that you authored and "wraps" them in its own HTML to generate the web page header, footer, and on on, authored pages have some (reasonable) restrictions on what they can contain.

  • If your workgroup is not visible at all, then go to the admin page for your workgroup, (http://robotics.eecs.berkeley.edu/groupname/admin/config) and be sure that is Enabled is checked.
  • If the menus on the left are not visible, then go to the admin page (see above) and be sure that Fancy HTML is selected
  • Frames don't work. In theory, frames could be supported but it hasn't been a high enough priority yet. Please just write simple flat HTML pages and let the server add the headers and other decoration. See the customization FAQ if you would like to have the server add your own margins or footers to your pages.
  • Pages need to be "well-formed." Because we are processing your HTML and embedding it within the pages of this website, it's a lot easier for the server to extract what it needs from your pages if it contains correctly-formed HTML. The overall structure of the page should be like this:
    <title>My Title</title>

    Other things that can prevent your page from displaying are:

    • No <body> tag.
    • Too many <body> and </body> tags.
    • Malformed tables. Each <table>, <tr>, and <td> tag must have a matching end tag.
    • Igor Markov points out that another trick is to read a page into Netscape Composer and then write it out again. This technique is especially useful in fixing table errors.


When you are authoring your own pages, you are better off using relative links where ever you can. Relative links allow a copy of your pages to be viewed from anywhere.

If you must use an absolute link, consider using

< a href="/workgroup/myfile.html">myfile.html</a>

instead of < a href="http://robotics.eecs.berkeley.edu/workgroup/myfile.html">myfile.html</a>

Syntax Checking

Or - problem with centered text

If a public page has problems, then it is worth checking both the HTML Validation and the CSS Validation.

In particular, looking at the CSS Validation will show what cascading style sheets are in action.

For example, a page was having centered text. Running the CSS validator and looking for center showed that many tags were centered, but in particular that the body tag had the following style:

body {
        margin: 0px 0px;
        text-align: center;
        color: #000000;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 11pt;
The solution was to change the body tag to look like:

<body style="text-align: left">

HTML links from forum pages to the main workgroup pages should take into account that the main workgroup pages are can be found in /workgroup>/, whereas the forum is in /workgroup>/forum.

Broken Link Detection

To check for bad links on the trust site, use wget:
wget -np -m -X roboticsj http://robotics.eecs.berkeley.edu >& wget.out
We use -X roboticsj to avoid searching Java pages. At one time, the calendar would blindly give months into the future and past forever. This was probably fixed, so -X roboticsj might not be necessary.