This is a DRAFT

Locator Tables as of June 1996 -- with comments by CRA

Up-to-date versions of these tables are in /tst/commapps/include/tables.h

The first section defines "base" directories for the production and test systems.

/* Header file for RS6 applications */
#include "htpbgns.h"

#ifdef PROD
#define SERVER "rs6.loc.gov"
#define BASEDIR "/home/www/data"
#else
#define SERVER "rs6.loc.gov:8081"
#define BASEDIR "/home/www/test"
#endif

The next chunk can be ignored for purposes of understanding the tables. It lists external routines (program chunks for which code is in other files) for generating the search results pages (ending in "lttl") and item displays (ending in "item"). The following prefixes relate to American Memory: ammem, cool, papr, mpix, nfor, wpa, aap.

        extern int ammemlttl(int type, void *blist, int num, int number);
        extern int pplttl(int type, void *blist, int num, int number);
        extern int coollttl(int type, void *blist, int num, int number);
        extern int frdlttl(int type, void *blist, int num, int number);
        extern int hlaslttl(int type, void *blist, int num, int number);
        extern int testlttl(int type, void *blist, int num, int number);
        extern int sgmllttl(int type, void *blist, int num, int number);
        extern int glinlttl(int type, void *blist, int num, int number);


        extern int ammemitem (Doc_t *doc);
        extern int frditem (Doc_t *doc);
        extern int sgmlitem  (Doc_t *doc);
        extern int ppitem  (Doc_t *doc);
        extern int coolitem  (Doc_t *doc);
        extern int nforitem(Doc_t *doc);
        extern int papritem(Doc_t *doc);
        extern int mpixitem(Doc_t *doc);
        extern int wpaitem(Doc_t *doc);
        extern int aapitem(Doc_t *doc);
        extern int powitem(Doc_t *doc);
        extern int tfritem(Doc_t *doc);
        extern int hlasitem(Doc_t *doc);
        extern int testitem(Doc_t *doc);
        extern int hlasmarcitem(Doc_t *doc);
        extern int glinitem(Doc_t *doc);

        extern void ammemXform(char *Queries[], int *maxbl, char *query);
        extern void ppXform(char *Queries[], int *maxbl, char *query);
        extern void hlasXform(char *Queries[], int *maxbl, char *query);

        extern void hlasentries(entry entries[], int numEntries);
        extern void ppentries(entry entries[], int numEntries);
        extern void glinentries(entry entries[], int numEntries);

The LOCATOR table has an entry for each aggregate for which there are bibliographic records, as identified in subfield $d of MARC field 856 of those records.

Each entry has the following fields:

  1. Aggregate identifier. Some American Memory collections have more than one aggregate. All aggregates beginning amrl are part of the Coolidge-Consumerism collection. Those beginning with vars form the Variety Stage collection and those beginning amrv the Conservation collection.
  2. Path rule. Each alphabetic value for this parameter invokes a different rule for reconstituting full pathnames from the $f field of an 856 field. The rule depends on the level of nesting in the directory structure. The parameter identifies a section of program code to be used when building the HTML pages for results or item display. Much of the intelligence in this table is concealed by this deceptively simple parameter.

    Examples:

    1. The null rule is that all collection items are in the same directory.
    2. The "h" rule indicates that there are 3 levels of directory, with all versions of items with different values for the last 2 digits but the same leading characters in the $f field being stored in the same directory.
    3. The "j" rule is similar to the "h" rule, but with only 2 levels of directory nesting.

  3. Prefix to add to $f identifier to create file name.
  4. Suffix for reference image, movie, or sound file.
  5. Suffix for thumbnail image for display of bibliographic record. Note that movie items have a corresponding GIF image for display on the item page. [Sound files would too, except that the only sound collection up currently has no bibliographic records; it is indexed by the full text of the transcribed recordings.]
  6. address of WWW server for generating URLs.
  7. pathname for generating URLs, in conjunction with routine specified in field 2.

LOCATOR locator_table[] =  {
 "LCPP004A","h","04a",".jpg",".gif", SERVER, "/pnp/perm3/04a",
 "detroit","h","4a","r.jpg","t.gif", SERVER, "/pnp/perm1/4a",
 "LCPP005A","h","05a",".jpg",".gif", SERVER,"/pnp/perm3/05a",
 "LCPP001A","h","01a",".jpg",".gif", SERVER,"/pnp/perm3/01a"
 "LCMP0001A","","m1a",".avi",".gif", "ftp.loc.gov","/pub/american.memory/emv1",
               
 "LCMP001B","","m1b",".avi",".gif", "ftp.loc.gov","/pub/american.memory/emv1",
 "LCMP002A","","m2a",".avi",".gif", "ftp.loc.gov","/pub/american.memory/emv1",
 "LCMP002B","","m2b",".avi",".gif", "ftp.loc.gov","/pub/american.memory/emv1",
 "LCMP003A","","m3a",".avi",".gif", "ftp.loc.gov","/pub/american.memory/emv2",
 "LCMP003B","","m3b",".avi",".gif", "ftp.loc.gov","/pub/american.memory/emv2",
 "amrlp","d","","r.jpg","t.gif", SERVER,"/pnp/amrlp",
 "amrlmakw","d","","","", SERVER,"/mss/amrl/makw",
 "amrlmbtw","d","","","", SERVER,"/mss/amrl/mbtw",
 "amrlmcc" ,"d","","","", SERVER,"/mss/amrl/mcc" ,
 "amrlmch" ,"d","","","", SERVER,"/mss/amrl/mch",
 "amrlmelb","d","","","", SERVER,"/mss/amrl/melb",
 "amrlmes" ,"d","","","", SERVER,"/mss/amrl/mes" ,
 "amrlmetc","d","","","", SERVER,"/mss/amrl/metc",
 "amrlmjc" ,"d","","","", SERVER,"/mss/amrl/mjc" ,
 "amrlmjtb","d","","","", SERVER,"/mss/amrl/mjtb",
 "amrlmncl","d","","","", SERVER,"/mss/amrl/mncl",
 "amrlmnul","d","","","", SERVER,"/mss/amrl/mnul",
 "amrlmrl" ,"d","","","", SERVER,"/mss/amrl/mrl" ,
 "amrlmrm" ,"d","","","", SERVER,"/mss/amrl/mrm" ,
 "amrlmsc" ,"d","","","", SERVER,"/mss/amrl/msc" ,
 "amrlgs"  ,"d","","","", SERVER,"/gc/amrl/gs"   ,
 "amrlg"   ,"d","","","", SERVER,"/gc/amrl/g"    ,
 "amrlr"   ,"d","","","", SERVER,"/mbrs/amrlr"  ,
 "amrlhtml","","","","", SERVER,"/ammem/amrlhtml",
 "lcrbmrp","e","","","", SERVER,"/rbc/lcrbmrp",
 "rbnawsa","n","","r.jpg","t.gif", SERVER,"/rbc/rbnawsa",
 "bdsdcc" ,"b","","","", SERVER,"/rbc/bdsdcc",
 "wtc", "h","4a","r.jpg","t.gif", SERVER,"/pnp/wtc",
 "dag","","","r.jpg","t.gif", SERVER,"/pnp/perm2/daguerre",
 "gsc","j","5a","r.jpg","t.gif", SERVER,"/pnp/gsc",
 "thc","j","5a","r.jpg","t.gif", SERVER,"/pnp/thc",
 "app","k","","r.jpg","t.gif", SERVER,"/pnp/app"
 "wpalh", "o","","","", SERVER,"/mss/wpalh",
 "varstg",  "f","","","",SERVER,"/rbc/varsep",
 "varsep",  "f","s",".tif","",SERVER,"/rbc/varsep",
 "varsyp",  "f","", "","", SERVER,"/amed/varsyp",
 "varspbil","f","","","", SERVER, "/rbc/varspbil",
 "varspbk", "f","","","", SERVER, "/rbc/varspbk",
 "amrvr",   "g","","","", SERVER, "/rbc/amrvr",
 "amrvp",   "g","","","", SERVER, "/pnp/amrvp",
 "amrvg",   "g","","","", SERVER, "/gc/amrvg",
 "amrvl",   "m","","","", SERVER, "/ll/amrvl",
 "amrvm",   "g","","","", SERVER, "/mss/amrvm",
                           };

The COLL table provides parameters to select routines that control display of items. Entries are numbered beginning from 0, and the DISPLAY parameter in the .cfg file for an INQUERY index points to the row in the COLL table. These display types (of which American Memory appears to use 10, which is almost 1 per collection) hide more of the complexity that Dean supports. See a sample .cfg file (for the Early Movies index of bibliographic records).

COLL display_routines[] =  {
 ammemlttl,  ammemitem,  NULL,          NULL,   ammemXform,       NULL,           NULL,          NULL,        NULL,               0,
 hlaslttl,   hlasitem,   NULL,          NULL,   hlasXform,        NULL,          hlasentries,    NULL,        NULL,               0,
 sgmllttl,   sgmlitem,   NULL,          NULL,   ammemXform,       NULL,           NULL,          NULL,        NULL,               0,
 ammemlttl,  nforitem,   NULL,          NULL,   ammemXform,       NULL,           NULL,          NULL,        NULL,               0,
 hlaslttl,   hlasmarcitem,NULL,         NULL,   hlasXform,        NULL,           hlasentries,   NULL,        NULL,               0,
 ammemlttl,  papritem,   NULL,          NULL,   ammemXform,       NULL,           NULL,          NULL,        NULL,               0,
 ammemlttl,  wpaitem,    NULL,          NULL,   ammemXform,       NULL,           NULL,          NULL,        NULL,               0,
 ammemlttl,  mpixitem,   NULL,          NULL,   ammemXform,       NULL,           NULL,          NULL,        NULL,               0,
 ammemlttl,  powitem,    NULL,          NULL,   ammemXform,       NULL,           NULL,          NULL,        NULL,               0,
 ammemlttl,  tfritem,    NULL,          NULL,   ammemXform,       NULL,           NULL,          NULL,        NULL,               0,
 pplttl,     ppitem,     NULL,          NULL,   ppXform,          NULL,           ppentries,     NULL,        NULL,               0,
 coollttl,   coolitem,   NULL,          NULL,        NULL,        NULL,           NULL,          NULL,        NULL,               0,
 frdlttl,    frditem,    NULL,          NULL,        NULL,        NULL,           NULL,          NULL,        NULL,               0,
 ammemlttl,  aapitem,    NULL,          NULL,   ammemXform,       NULL,           NULL,          NULL,        NULL,               0,
 bookslttl,  booksitem,  NULL,          NULL,   booksXform,       NULL,           booksentries,  NULL,        NULL,               0,
 glinlttl,   glinitem,   NULL,          NULL,      NULL,          NULL,            glinentries, NULL,         NULL,              0,
 ammemlttl,  constitem,  NULL,          NULL,   ammemXform,       NULL,           NULL,          NULL,        NULL,               0,
 sctblttl,   sctbitem,   NULL,          NULL,      NULL,          NULL,           NULL,          NULL,        NULL,               0
 };

The DBDESC table has one entry per INQUERY index database, with the following fields:

  1. Name of INQUERY index (database in INQUERY terminology). Actually, the name is for a .CFG file that points to a file that contains the INQUERY index. In June 1996, each collection is indexed separately, and bibliographic indexes are separate from indexes to the full text of document collections. Hence document collections with bibliographic records AND searchable full text, such as African American Pamphlets, have 2 entries.

    Because of differences between the interfaces for American Memory and P&P's Digital One-Box, photographic collections also have 2 entries.

  2. Short name for collection. Used in results lists.
  3. Longer name for collection Used at top of item display page, as link to collection home page.
  4. "ammem" for American Memory indexes. Use unknown. Mary Ambrosio believes that it is obsolete.
  5. Directory for home page of collection. Used as link from item display page.
  6. Item type 1. Choice of Photograph, Document, Pamphlet, Movie, Recording, Item, Section, or Record. The last two are not used in American Memory, but for POW/MIA and some P&P bibliographic indexes without digitized images. Used at top of result lists for within-collection searches to indicate that the results are "movies" rather than "items"; this was a field added in response to a recommendation by Ben Shneiderman.
  7. Item type 2. Choice of Photo, Text, Movie, Sound. Used in results lists for cross-collection searches.
   DBDESC db_data[] = {

   "ammemcwar", "Civil War          ", "Civil War Photographs",                                   "ammem",  "/ammem/cwphome.html",              "Photograph",     "Photo",
   "ppcwar",    "cwp ",      "Civil War Photographs",                                   "pp",     "/ammem/cwphome.html",              "Photograph",     "Photo",
   "ammemvv",   "Van Vechten        ", "Van Vechten Portraits",                                   "ammem",  "/ammem/vvhome.html",               "Photograph",     "Photo",
   "ppvv",      "vanv",         "Van Vechten Portraits",                                   "pp",     "/pp/vvhome.html",                  "Photograph",     "Photo",
   "ammemfsa",  "FSA/OWI            ", "Farm Security Admistration/Office of War Information",    "ammem",  "/ammem/fsowhome.html",             "Photograph",     "Photo",
   "ppfsa",     "fsa",            "Farm Security Admistration/Office of War Information",    "pp",     "/pp/fsowhome.html",                "Photograph",     "Photo",
   "ammemdetr", "Detroit Publishing ", "Detroit Publishing Company",                              "ammem",  "/ammem/detroit/dethome.html",      "Photograph",     "Photo",
   "ppdetr",    "detr", "Detroit Publishing Company",                              "pp",     NULL,                               "Photograph",     "Photo",
   "pphoryd",   "hory ",         "Horydczak Photographs of Washington DC",                  "pp",     NULL,                               "Photograph",     "Photo",
   "ammemnfor", "Nation's Forum     ", "The Nation's Forum",                                      "ammem",  "/ammem/nfhome.html",               "Recording",      "Sound",
   "ammempapr", "Early Movies       ", "Early Motion Pictures",                                   "ammem",  "/ammem/papr/mpixhome.html",        "Movie",          "Movie",
   "ammemwpa",  "WPA Life Hist      ", "The WPA Life Histories Collection",                       "ammem",  "/ammem/wpaintro/wpahome.html",     "Document",       "Text",
   "ammemcool", "Coolidge           ", "The Coolidge Collection",                                 "ammem",  "/ammem/cool/coolhome.html",        "Item",           "",
   "hlashlasbib","Latin Amer. Hndbk",   "Handbook of Latin American Studies",                      "hlas",   NULL,                               "Item",           "",
   "hlashlasretro","Latin Amer. Hndbk",   "Handbook of Latin American Studies",                      "hlas",   NULL,                               "Item",           "",
   "test",      "MARC test file",      "Prints and Photographs MARC test file",                   "pp",     NULL,                               "Item",           "",
   "ammembds",  "Early Congress     ", "Documents  from the Continental Congress",                "ammem",  "/ammem/bdsds/bdsdhome.html",       "Document",       "Text",
   "ammembdsbib", "Early Congress     ", "Documents  from the Continental Congress",                "ammem",  "/ammem/bdsds/bdsdhome.html",       "Document",       "Text",
   "ammemdag",  "Daguerreotypes     ", "Daguerreotypes",                                          "ammem",  "/ammem/daghtml/daghome.html",          "Photograph",     "Photo",
   "ppdag",     "dag ", "Daguerreotypes",                                          "pp",     NULL,                               "Photograph",     "Photo",
   "ammemwtc",  "World Trans Comm   ", "World's Transportation Commission",                         "ammem",  "/ammem/wtc/wtchome.html",          "Photograph",     "Photo",
   "ppwtc",     "wtc", "World's Transportation Commission",                         "pp",     NULL,                               "Photograph",     "Photo",
   "ammemmurray","Afro-Amer Pamphlets", "Murray African-American Pamphlets",                          "ammem",  "/ammem/aap/aaphome.html",          "Pamphlet",       "Text",
   "ammemaap",  "Afro-Amer Pamphlets", "Murray African-American Pamphlets",                    "ammem",  "/ammem/aap/aaphome.html",          "Pamphlet",       "Text",
   "ppapp",     "app",            "American Political Prints",                               "pp",     NULL,                               "Item",           "",
   "ammemnaw",  "Woman Suffrage   ", "Woman Suffrage Collection",                             "ammem",  "/ammem/naw/nawshom.html",  "Document",       "Text",
   "ammemnawbib","Woman Suffrage   ", "Woman Suffrage Collection",                             "ammem",  "/ammem/rbnawsahtml/nawshom.html", "Document",       "Text",
   "pow",       "POW/MIA",             "POW/MIA Database",                                        "frd",    "/frd/powhome.html",                "Record",         "Text",
   "tfr",       "Task Force Russia",   "Task Force Russia",                                       "frd",    "/frd/tfrhome.html",                "Document",       "Text",
   "frd",       "Ethiopia",            "Ethiopia - A Country Study",                              "frd",    NULL,                               "Section",        "Text",
   "pplook",    "look",                "Look Collection",                                         "pp",     NULL,                               "Photograph",     "Photo",
   "ppswann",   "swan",               "Swann Collection",                                        "pp",     NULL,                               "Record",         "Record",
   "ppgottscho","gsc", "Gottscho-Schleisner Collection",                          "pp",     NULL,                               "Photograph",     "Photo",
   "pppan",     "pano", "Panoramic Photographs",                                   "pp",     NULL,                               "Photograph",     "Photo",
   "ppcoll",    "grp", "Miscellaneous Groups of Images",                          "pp",     NULL,                               "Photograph",     "Photo",
   "ppitem",    "item", "Miscellaneous Items in High Demand",                      "pp",     NULL,                               "Item",           "",
   "lawl",      "Legal Abstract     ", "Global Legal Information Network",                      "glin",     NULL,                               "Item",           ""

                       };

Default stopword list (on separate HTML page)

Locator Tables (as of June 1996) -- This is a DRAFT
(6/3/96)