Web Metrics Logo

NIST Web Metrics Directory Structure

Because several of the Web Metrics tools share data files, it is necessary to adopt certain conventions so that they can locate the required data. WebSAT, WebCAT, and TreeDec operate somewhat independently, but WebVIP, FLUD, FLUDViz, and VisVIP all are involved in logging users' interactions with a website, and therefore exchange data. This shared data is kept within the WebLogs sub-directory.

The software relies on the setting of certain symbolic names to locate key directories. This may be done with a command such as:

   setenv WEBLOG_DATA /home/joe/WebMetrics/WebLogs
There are four names to be set; note that these should be set to absolute pathnames, not relative, so that they are valid no matter from where within the directory structure they are invoked.
  1. CGI_BIN:
    your general-purpose directory for server executables
  2. WEBMET:
    the subtree containing all the Web Metrics-related software and data
    the subtree containing all the Web Metrics-related software
    the subtree containing all the Web Metrics-related user data

Here is the entire process that a usability engineer (UE) could undertake and the parts of the directory structure that are involved in each step. For the purposes of this example, assume the website is named "site-2b-tested", the user session is named "sally", and the tasks are named "browse-store" and "buy-sweater". Note that most of this is done automatically; the purpose here is to show how the various pieces of the Web Metrics system fit together.

  1. Copy the website of interest into WebLogs/site-2b-tested/website/
  2. Use WebVIP to instrument the website. Its setup information is saved in WebLogs/site-2b-tested/setup/
  3. Run linklint on the website and save its results in WebLogs/site-2b-tested/webstruct/, in particular the fileF.txt file.
  4. Run convert-ll.perl, which generates the files: pages.dat, links.dat, and url2nn.dat in the WebLogs/site-2b-tested/webstruct/ directory. These files describe the static structure of the website.
  5. Conduct a test session by having a subject interact with the instumented website (located in WebLogs/site-2b-tested/website/). A record of the test session is written as a FLUD file to WebLogs/site-2b-tested/sessions/sally/sally.ulog.
  6. Run the FLUD parser to check the validity of the ulog file and generate:
  7. Run FLUDViz to visualize the session. FLUDViz uses all three WebLogs/site-2b-tested/sessions/sally/sally.* files as input.
  8. Run VisVIP to visualize subjects' paths through the website. VisVIP uses the files in WebLogs/site-2b-tested/webstruct/ to visualize the website, and the WebLogs/site-2b-tested/sessions/*/*.up files to visualize the paths.

Comments [in brackets] explain the purpose of the various sub-directories. Names that appear between $Dollar-signs$ are variables, the others are literal.

As of 2002-April-03: [Best viewed with fixed-width font]

.../           [normal parent of cgi-bin]
   cgi-bin/    [user's general-purpose directory for server executables
                setenv = CGI_BIN]
      webmetrics.env  [the single well-known place that knows about
                       the location of all the other directories]
      WebSAT executable(s)
      WebCAT executable(s)
      WebVIP executable(s)
               [other Web Metrics tools are local executables]

   .../        [User can put WebMetrics itself pretty much anywhere]
      WebMetrics/       [everything else related to Web Metrics 
                         setenv = WEBMET]
         WebTools/      [files related to the software itself; 
                         setenv = WEBMET_TOOLS]
            resources/  [generic routines and images used by several tools]   
               images/  [used by local copies of the documentation]
               ogl/     [OpenGL utilities]
               geom/    [geometry utilities]
               c-util/  [low-level C utilities]
               gluttk/  [GLUT/Tk material under here, perhaps.  Could also
                         live outside of WebMetrics]
               weblink/ [tools to analyze link structure of a website]
                  linklint         [follows links within a website]
                  convert-ll.perl  [analyze, convert linklint output]
            WebSAT/     [have at least source and doc for each tool]
               source/ ??
               doc/ ??
               start.html  [The page from which the WebVIP cgi-bin
                            scripts are invoked]
            FLUD/          [the FLUD script]
            FLUDViz/       [FLUDViz executables and source]
            VisVIP/        [VisVIP executables and source]
               libvip/     [subroutines needed for compilation]
               tcl/        [Enhanced Tcl interpreter (Unix only)]
            TreeDec/       [TreeDec scripts]
         WebLogs/       [FLUD-related experimental results;
                         setenv = WEBLOG_DATA]
            $Website-1$/   [everything related to an *instrumented* website]
            site-2b-tested/ [for example]
               userbegin.html [control page for the experiment]
               options.html   [customized html page for this instrumentation]
               website/       [the actual instrumented website]
               setup/         [information on how WebVIP instrumented the site]
                  copysite.txt  [URL of the original site that was copied,
                                 if w3mir is used (does not exist otherwise)]
                  filelist.txt  [list of the files to be instrumented]
                  options.txt   [list of interactions to be captured]
                  pathform.txt  [contains the experiment name]
                  script.txt    [contents of the javascript insertion]
                  summary.html  [html composite of the above files]
               webstruct/   [files for site structure]
                  fileF.txt   [Linklint output]
                  url2nn.dat, pages.dat, links.dat  [convert-ll output]
                  node_loc.dat  [Used by VisVIP to remember a website layout]
                  up_color.dat  [Used by VisVIP to assign colors to userpaths]
               sessions/    [results of test sessions]
                  $Session-1$/ [all the files resulting from a single
                  ...           session go in the same sub-directory]
                  sally/    [Using "sally" as an example of a 
                             session name]
                     sally.ulog   [WebVIP output]
                     sally.html, sally.parse  [parser output]
                     browse-store-t1.up  [navigation paths from the sally
                     buy-sweater-t2.up    session; first two tasks are 
                                          browse-store and buy-sweater.]