Visweb
VisWeb is the mostly-public, mostly-static website for the VRL, located at http://vis.cs.brown.edu. It contains a list of people, projects, publications, images, references, and reading lists, all of which are currently submitted by users through an offline process, and then the entire website is re-rendered to reflect the new information. This is because VisWeb is hosted on the department's standard web servers, which do not allow dynamic content. An eventual rewrite of the site with a more intuitive online submission process, or perhaps wholly dynamic rendering of the website, is expected. This page exists to document the features of VisWeb and how to work with them.
While this page is under construction, it's probably useful for you to check out the old Visweb FAQ.
About VisWeb
VisWeb is a set of relatively simple text files that describe the research of the visualization research lab. It includes a file for each person, project, publication, and research theme, among other things. Each of these is an entity. More details on this below. A set of scripts run over this source directory to create a set of interlinked static html pages along with related non-html files like pdf's and images.
Each type of entity (e.g., person, project, etc), within this structure has its own subdirectory of text files. There is one text file for each entity. Each file contains information about the entity itself as well as information about how it relates to other entities. The types of entities are:
- people - named by linux login, these include lab members and close collaborators
- pubs - named by Author-Year-ThreeLetterTitleAcronym, this describe publications the lab has created
- projects - named with some short name, these are specific research projects
- themes - named like projects (but uniquely), these capture themes that cross projects
bib faqs images faq talks videos
Updating the Website
Historically there have been two ways to update and add content to VisWeb.
via the Online Form
Deprecated. Directions for using the online form to submit papers are available in the VisWeb FAQs. In 2011, the so-called "internal web" at Brown CS was removed, breaking the form (which relied on being internal to circumvent authorization problems). As of November 2011, the form is still broken/offline.
via the CS File System
The basic idea is to edit or add entities (as named above, like papers, people, etc.) and run the update script, which regenerates the actual HTML files for the site.
For adding a new paper you've written, the steps are to:
- Figure out the key for your new pub, e.g. Laidlaw-2011-QBE. The standard practice is LASTNAME-YEAR-TITLEINITIALS. The title initials are the first letters of the first 3 non-trivial words in a paper's title. For instance, the paper "A New Method for Evaluating X" might have initials NME.
- Log-on to a Linux machine and cd to /pro/graphics/visweb/pubs
- Identify the key of a similar publication, e.g. a paper from earlier year of same venue; let's say it's Author-1999-ABC
- Copy similar pub file to new one (e.g., cp Author-1999-ABC Laidlaw-2011-QBE)
- Edit new file and update changed fields, keeping in mind
- local authors should be listed as $login (e.g., $dhl for me); this will create appropriate links to author web pages
- VRLSTATE should be internal if not yet published, public otherwise
- STATUS should be one of {inreview, inpress, published} (no space)
- PROJECT should be some number of and-separated elements from {archave, art, artery, bat, brain, cavepainting, crystals, genetic, pottery, proteins, rapid, vrperformance, wrist}; this will create appropriate links to project web pages
- THEME should be some number of and-separated elements from {art, perception, medicine, vr, tech, natural}; this will create appropriate links to theme web pages
- Put the pdf file in the pdf directory; it should should have the key followed by ".pdf", eg pdf/Laidlaw-2011-QBE.pdf
- Run "viswebupdate" script
For reference:
- Entities are stored in /research/graphics/common/visweb/ and can also be reached through the link /pro/graphics/visweb/. Look for the subdirectory corresponding to the type of entity you want to add/change.
- The update script lives at /research/graphics/tools/visweb/bin/viswebupdate.sh and can also be reached through the link at /research/graphics/tools/linux/bin/viswebupdate.
Removing VisWeb Pubs
From Dani:
The problem is that if you just remove the old file from the pubs folder, visweb doesn't know what happened to it and doesn't know how to remove all the dependencies, since the file itself needs to be read to find those dependencies. To update a document (changing in any way the key (lastname-year-acronym))
- COPY the old file from visweb/pubs or visweb/bib onto the new file with the new key, keeping this in the same folder.
- COPY the old file to /pro/web/web/research/vis/input/changed/remove/ (instead of just removing it from the pubs/ or bib/ folder)
- RUN viswebupdate normally.
I did this and visweb (and viswebupdate) is up now.
In case you just need to update info in the document without changing the key:
- EDIT the file directly in /pubs/ or /bib/
- RUN viswebupdate normally.
In case you used the deprecated web interface to remove an entry and consequently break visweb:
- COPY an existing and valid entry to visweb/pubs/$entry
- RUN viswebupdate
- COPY visweb/pubs/$entry to /pro/web/web/research/vis/input/changed/remove
- RUN viswebupdate
Update on Jan.17, 2014:
If you have copied an old file to /pro/web/web/research/vis/input/changed/remove/ and run viswebupdate to remove the file, but encounter an error similar to the following;
---- Contents of STDERR channel: --------- /map/gfx0/common/visweb/pubs/Author-2014-ABC: No such file or directory /map/gfx0/common/visweb/pubs/Author-2014-ABC: No such file or directory ------------------------------------------ ** WML:Break: Error in Pass 3 (rc=1). make[1]: *** [organization/people/author.html] Error 1 make[1]: Leaving directory `/gpfs/main/authen/sys/web/cs/web/research/vis' make: *** wait: No child processes. Stop. make: *** Waiting for unfinished jobs.... make: *** wait: No child processes. Stop. Terminated
Then it's probably because the key of the entry you are trying to remove has not been removed from the author's page in the people directory and therefore caused a dependency problem. To fix the problem,
- EDIT <person>.txt file inside the visweb/people directory for each co-author on the paper to remove the key of the paper that you are trying to remove
- RUN viswebupdate
Common Questions
How do I change the way my name appears in the publications list?
- If the publication entry lists you by your $login name, you can edit the people.txt file in /pro/graphics/visweb/people. Look for the line corresponding to you.
I just changed my name and ran viswebupdate, but it isn't reflected in the list...
- Try using 'touch' on your publication entries in the pubs directory. viswebupdate will not re-render publications whose timestamps have not changed since the last update.
I added a pdf for a publication, but it isn't reflected in the list...
- See the above solution
Why aren't my publications linked to my user page?
- The publication entry might have listed your full name as an author instead of using $yourlogin. You must use $yourlogin in the authors field in order for VisWeb and viswebupdate to associate it with your page.
VisWeb Software
The viswebupdate.sh script first runs make in /research/graphics/common/visweb to generate updates files for all entities and copy them to the primary web site. The primary web site has a complete image of the web site in /pro/web/web/research/vis/. As part of this process make is run on the the primary website to reconstruct viewable html files.
The primary copies of the scripts used to generate the website are stored in CVS under project/visweb/ and the working copies are installed in /research/graphics/tools/visweb/bin/. For compatibility with legacy procedures links to the scripts are in /research/graphics/tools/linux/bin/.
To modify the visweb scripts check out a copy, make your edits, install the scripts, test them, and if they work okay check in your changes.
<sandbox>% cvs co project/visweb # Check out the visweb project. <sandbox>% cd project/visweb # Then make your changes. <sandbox>/project/visweb% make install
Note that changes are tested on the live web page so be very careful and check the results thoroughly.
The CGI scripts used to enter updates from the web site. They are written in Perl. They are stored in CVS under project/visweb/cgi/. To modify a CGI script check out a copy, make your edits, copy it into /pro/web/cgi-bin/ and run webupdate. If it works okay be sure to check in your changes.
<sandbox>% cvs co project/visweb # Check out the visweb project. <sandbox>% cd project/visweb/cgi # Then make your changes. <sandbox>/project/visweb/cgi% cp <script name> /pro/web/cgi <sandbox>/project/visweb/cgi% chmod 775 /pro/web/cgi/<script name> <sandbox>/project/visweb/cgi% /local/bin//webupdate
Note that /pro/web/cgi-bin/ is shared by the department. Be very careful not to modify or remove anyone else's scripts.