OLIVE UMCP

Report on the building of OLIVE:
On-line Library of Information Visualization Environments

UNDER CONSTRUCTION

Concept

In starting this project, we encountered a series of problems that many web designers run into:

To deal with these problems, we adopted a system that specifies the content of the web-site in a set of input files, and a number of scripts and utilities to create the actual web-site's different views with a consistent style throughout.

The Olive Tree

This is the tree for the OLIVE web-site. The tree contains the input files, the scripts and programs to massage the input files into final HTML, and the final HTML pages for each of the different views. For brevity, we have included the input files and scripts below (and not the final HTML files, you can see those by following the links within the site):

Olive/              -- Top level directory, all 'makes' done here
  Build_Index       -- Script to build index.html
  Build_Indexes     -- Script to build the index input files (Author, Cite, Project, Product, and Video)
  Build_Page        -- Script to build the individual pages
  Cite.head         -- Input file for Cite.html
  Cite.midl         -- Input file for Cite.html
  Class/            -- Directory containing the other class files
    bullet.gif      -- Graphical element used by index.html
    index.html      -- Original class homepage
    umcp.gif        -- Graphical element used by index.html
  Frames/           -- Directory containing the Frames interface
    Build_Index     -- Script to build Navigate.html and Contents.html
    Build_Indexes   -- Script to build the index input files (Author, Cite, Project, Product, and Video)
    Build_Page      -- Script to build the individual pages
    Cite.head       -- Input file for Cite.html
    Cite.midl       -- Input file for Cite.html
    Contents.head   -- Input file for Contents.html
    Contents.tail   -- Input file for Contents.html
    Makefile        -- Makefile for the Frames directory
    Navigate.head   -- Input file for Navigate.html
    Navigate.tail   -- Input file for Navigate.html
    Product.head    -- Input file for Product.html
    Product.midl    -- Input file for Product.html
    Project.head    -- Input file for Project.html
    Project.midl    -- Input file for Project.html
    Tail            -- Input file used by Build_Indexes
    Tail2           -- Input file used by Build_Indexes
    Video.head      -- Input file for Video.html
    Video.midl      -- Input file for Video.html
    parse.awk       -- AWK script used by Build_Index
  Images/           -- Directory containing all graphical elements and their control files
    Background      -- Color information for HTML pages
    Background_Page -- Color information for HTML pages
    Button01.jpg    -- 'Workspace' button
    Button02.jpg    -- 'Network' button
    Button03.jpg    -- 'Tree' button
    Button04.jpg    -- 'Multi-D' button
    Button05.jpg    -- '3-D' button
    Button06.jpg    -- '2-D' button
    Button07.jpg    -- '1-D' button
    Button08.jpg    -- 'Temporal' button
    Button09.jpg    -- 'Introduction' button
    Button10.jpg    -- 'All Citations' button
    Button11.jpg    -- 'All Projects' button
    Button12.jpg    -- 'All Products' button
    Button13.jpg    -- 'Text Only' button
    Button14.jpg    -- 'Graphics' button
    Button15.jpg    -- 'WebTOC' button
    Button16.jpg    -- 'Frames' button
    Button17.jpg    -- 'All Videos' button
    Header.jpg      -- Large 'Olive' logo
    Header85x30.jpg -- Small 'Olive' logo
    Mapping3        -- Page/Background color mapping
    Mapping4        -- Page/Button mapping
    UMCP-small.jpg  -- Small 'UMCP' logo
    UMCP.jpg        -- Large 'UMCP' logo
    left.gif        -- 'Left' button
    oil.jpg         -- 'Olive Oil' picture
  Input/            -- Directory containing all of the input files
    1-D.input       -- 1-D input file
    2-D.input       -- 2-D input file
    3-D.input       -- 3-D input file
    Build_Index     -- Script to build the index input files (Author, Cite, Project, Product, and Video)
    Makefile        -- Makefile for the Input directory
    Multi-D.input   -- Multi-D input file
    Network.input   -- Network input file
    Temporal.input  -- Temporal input file
    Tree.input      -- Tree intput file
    Workspace.input -- Workspace input file
    parse.awk       -- AWK script used by Build_Index
  Makefile          -- Top level Makefile; all 'makes' initiated here
  Product.head      -- Input file for Product.html
  Product.midl      -- Input file for Product.html
  Project.head      -- Input file for Project.html
  Project.midl      -- Input file for Project.html
  Tail              -- Input file used by Build_Indexes
  Tail2             -- Input file used by Build_Indexes
  Text/             -- Directory containing the Text Only interface
    Build_Indexes   -- Script to build the index input files (Author, Cite, Project, Product, and Video)
    Build_Page      -- Script to build the individual pages
    Cite.head       -- Input file for Cite.html
    Makefile        -- Makefile for the Text Only directory
    Product.head    -- Input file for Product.html
    Project.head    -- Input file for Project.html
    Tail            -- Input file used by Build_Indexes
    Tail2           -- Input file used by Build_Indexes
    Video.head      -- Input file for Video.html
    index.html      -- Input file for index.html
  Video.head        -- Input file for Video.html
  Video.midl        -- Input file for Video.html
  WebTOC/           -- Directory containing the WebTOC interface
    Build_Index     -- Script to build Navigate.html
    HdirMain.class  -- Part of the WebTOC Applet
    Legend.class    -- Part of the WebTOC Applet
    Makefile        -- Makefile for the WebTOC directory
    Navigate.head   -- Input file for Navigate.html
    Navigate.tail   -- Input file for Navigate.html
    Olive.hdir      -- Input file for the WebTOC Applet
    Record.class    -- Part of the WebTOC Applet
    Util.class      -- Part of the WebTOC Applet
    bleftb.class    -- Part of the WebTOC Applet
    botb.class      -- Part of the WebTOC Applet
    brightb.class   -- Part of the WebTOC Applet
    buttonBar.class -- Part of the WebTOC Applet
    hdir.class      -- Part of the WebTOC Applet
    index.html      -- Top level HTML page for this directory
    leftb.class     -- Part of the WebTOC Applet
    locapplet.class -- Part of the WebTOC Applet
    rightb.class    -- Part of the WebTOC Applet
    topb.class      -- Part of the WebTOC Applet
  index.head        -- Input file for index.html
  index.tail        -- Input file for index.html
  parse.awk         -- AWK script used by Build_Index
  src/              -- Directory containing the parser source code and executable
    Makefile        -- Makefile for the parsers
    parser.y        -- Parser #1 YACC input
    scanner.l       -- Parser #1 LEX input
    parser2.y       -- Parser #2 YACC input
    scanner2.l      -- Parser #2 LEX input

Input Format

The input files contain tags of the form "#SOMETHING#" to delineate the start of a data entry and "#SOMETHING_END#" to mark the end of that data entry. Legal types include:

Some of these types were later removed from the presented pages, and most of the types can be repeated multiple times (ie, there can be more than one author for a page). Each data type is handled differently by the processing scripts to generate the final HTML files.

Conclusion

While this input format and auto-generated pages was deemed too constricting by a number of the students participating in the development of OLIVE, overall it has produced nice, clean results and a harmonious site. Some argued for using the templates up until a point at which time the site could devolve into chaos as each group added their own touch to a page, but the editors thought a consistent style was more desirable.

This was a mammoth job to undertake, and while we have made a great effort to include as many different citations/projects/products/videos as possible, it is obvious that we have missed some. We strongly encourage people to give us feedback (either directly to the page maintainers, or to the editors who will forward it to the page maintainers) and comments. Thanks for taking a look!

-Michael Reed (reed@cs.umd.edu) & Dan Heller (djheller@wam.umd.edu), Editors.


Last modified: Mon Nov 24 19:09:07 EST 1997 - reed@cs.umd.edu