Natural History Web Site Data Base

by Tom Schweich and Barbara Ertter

Date Last Updated: January 20, 2000


Contents


Introduction

This document describes the data base and associated program code that was originally designed to prepare the Carl A. Purpus site on the World Wide Web. For that web site we needed to be able to publish articles either by or about Purpus, list all his collections, list types described from his collections, and list all sorts of other things, such as locations, images, etc.

In addition, it was necessary to cross-reference each type of information to other occurrences of related information. For example, we needed a way to keep a two-way cross-reference between Purpus' field reports and the list of locations he visited. We also wanted the cross-reference to be dynamic, or process-able, so new links could be added as new information became available.

As the Purpus web site developed, it became apparent that there were numerous applications for a data base of this type. For example, the lead author also has his own web site, which includes many of the same elements as the Purpus web site. Therefore the data base engine has been generalized to build any number of web sites, simply by changing the source of the data.

| Contents |

Requirements

Requirements of the Purpus Web Site

Requirements of the Eastern Mojave Web Site

  

Requirements of the Data Base Engine

 

Page Design Requirements

·        Article Page Requirements

·        Collections Page Requirements

·        Image Page Requirements

·        Location Page Requirements

Article Page Requirements

This section describes the design of Article Pages.  

 

 

Area Plant List Requirements

ID

Grp

Line

HTML Text

535

801

10

<html>

536

801

20

<head>

537

802

30

<title>Eastern Mojave Plant Lists</title>

538

803

40

</head>

539

803

50

<body>

540

803

60

<font face="Century Schoolbook,Times New Roman" size=3>

541

803

70

<table border=0 cellpadding=5 cellspacing=0 width=600>

542

803

80

<tr>

543

803

90

<td bgcolor="#F7FFCC" valign=top width=234>

544

803

100

<img src="images/lobologo.gif">

545

803

110

<font face="Century Schoolbook,Times New Roman" size=4>

546

803

120

<i>Eastern Mojave Vegetation</i>

547

803

130

<td bgcolor="#F7FFCC" width=366>

548

803

140

<font face="Century Schoolbook,Times New Roman" size=6>

 

Collections Page Requirements

A Collection does not appear on the Collection Page unless there is a Determination and a Voucher.

Collections pages would be a good candidate for dynamic serving from a data base.

 

 Image Page Requirements

 

 

 

Location Pages

 

Locations would seem to be one candidate for dynamic HTML created as requested by the web server. In that process, though, consideration should be given to a single Location table, or gazetteer, which is common to several web sites. We already have multiple files of locations. There is the Jepson Place Name Index, the Purpus locations files, and my own Locations files on my eastern Mojave web site. When I build the Annie Alexander and Louise Kellogg web site, I would expect to build yet another file of Locations.  

Also, so far, we have listed only the United States locations visited by Purpus. There are also many locations in the Sousa paper that are in Mexico. We may at some time need to expand gazetteer locations to include Mexico.

Each Location should be checked against G. N. I. S. before we list a link to there. Sending someone to G. N. I. S. where they learn that the Location is not there, would be considered a "broken link," one of the deadly web site sins. If the location file were implemented in a data base and generated dynamically, then a check against G. N. I. S. could be performed dynamically. The Location table (tblLocations) has a field (logTryGNIS) indicates whether a link should be prepared to G. N. I. S. An automated feature could set this field.

 

Types Pages Requirements

Types pages might be a good candidate for dynamic serving.

 

Background Color Processing

Default Background Color for the Web Site Data Base See: strDBDefDefBGColor

#F6F6F0

Mojave Web Site Default Color

#E8F0FF

The Vegetation of Lobo Point and North Wild Horse Mesa, Mojave National Preserve, San Bernardino County, California.

#D9FFC0

Two occurrences of Desert Elkweed Swertia albomarginata (S. Watson) Kuntze Gentianaceae in the Mid Hills, Eastern Mojave Desert, San Bernardino County, California

#E0E0FF

Carl A. Purpus Web Site Default Color

#F7FFCC

For "browser safe" colors I recommend VisiBone's Webmaster's Color Laboratory.

 

 External Data Base Connections

 

BONAP

 

CalFlora

CalFlora can be found at: http://elib.cs.berkeley.edu/calflora/

A search for "coleogyne ramosissima" from the main screen requires the following string: http://elib.cs.berkeley.edu/cgi-bin/calflora_query?orderby=taxon&rel-namesoup=contains&where-namesoup=coleogyne+ramosissima&where-prettyreglist=any&rel-upper_elev_ft=gt&where-upper_elev_ft=&rel-lower_elev_ft=lt&where-lower_elev_ft=&where-caltranslifeform=any&where-native=any&where-rarity=any&where-pretty_plantcomm=any

The CalFlora Occurrence Data Base can be found at: http://elib.cs.berkeley.edu/calflora/occ/

A search for Coleogyne ramosissima requires the following string: http://elib.cs.berkeley.edu/cgi-bin/occ_query?orderby=rslvd_taxon%2Ccounty%2Cdoc_type&sortby=rslvd_taxon&rel-rslvd_taxon=eq&where-rslvd_taxon=Coleogyne+ramosissima&rel-dataflow=eq&where-dataflow=1%7C2%7C4%7C6&rel-dataflow=eq&rel-source=eq&where-source=any&rel-doc_type=eq&where-doc_type=any&rel-county=eq&where-county=any&rel-observ_type=eq&where-observ_type=any&rel-family=eq&where-family=&output=table&output=gif&max=50

The CalFlora Synonyms Data Base is at: http://elib.cs.berkeley.edu/calflora/xwalk/

The CalPhotos: Plants Data Base is found at: http://elib.cs.berkeley.edu/photos/flora/

A search for Coleogyne ramosissima requires the following string: http://elib.cs.berkeley.edu/cgi/img_query?where-genre=Plant&rel-namesoup=like&where-namesoup=Coleogyne+Ramosissima&rel-u_location=like&where-u_location=&rel-continent=eq&where-continent=any&rel-country=eq&where-country=any&rel-state=eq&where-state=any&where-county=any&where-lifeform=any&where-collectn=any&rel-photographer=eq&where-photographer=any&rel-blobs=like&rel-kwid=equals&where-kwid=

The HTML to execute these queries as links is quite lengthy. If these queries are reproduced for every collection, then there is a lot of static HTML that had to be downloaded, but is never used. It should be possible to abbreviate the query string, and then contact a server that could expand the query, submit it to a data base server, and then report the results back, or allow the data base server to report the results back directly.

G.N.I.S. -- Geographic Names Information System

The Geographic Names Information System can be found at: http://www-nmd.usgs.gov/www/gnis/gnisform.html

A search for Silver Lead Spring in San Bernardino county requires the following string: http://mapping.usgs.gov:8888/gnis/owa/gnisprod?f_name=Silver+Lead+Spring&variant=Y&f_state=CA&f_cnty=San+Bernardino&f_type=&pop1=&pop2=&elev1=&elev2=&cell=&tab=y

The HTML to execute these queries as links is quite lengthy. If these queries are reproduced for every collection, then there is a lot of static HTML that had to be downloaded, but is never used. It should be possible to abbreviate the query string, and then contact a server that could expand the query, submit it to a data base server, and then report the results back, or allow the data base server to report the results back directly.

SMASCH --

http://128.32.109.44/cgi-bin/get_acc.pl?smasch_accno=UC1352414

 

 

Planning Your Web Site

You need to lay out all the major elements of your web site independently of the data base. You need to figure out which are the "articles," the letters, locations, etc. Then you need to outline how you want to fit the articles together, and where on the various index pages you want to refer to the various pages.

The data base prepares the content pages; it does not structure the web site. You must provide the homepage and any intermediate pages.


Operation of the Data Base

When the Natural History Web Site Data Base starts the main menu is displayed.

Main Menu

    1. Area Lists. Lists of all Collections and Observations found in an Area.
    2. Species Lists. Lists of all Collections of a Species.
    3. Collectors List. List of all Collections by a Collector.

 

Select Data Base

One of the first operations you must do each time you use this database is to select a database you want to use. You select a database by clicking on the "Select Data Base" button of frmMain.

After you click OK, you are returned to the Main Menu.

Input Data Forms

Every Table has an associated Form to assist in data entry.

When Done is clicked, the data base returns to the Main Menu.

Administer Web Sites

The Natural History Web Site Data Base is capable of preparing multiple web sites. There is one Table in the data base that contains information this is unique to each Web Site. This Table (tblDataBase) can be edited directly or edited using a Form (frmDataBase).

Enter a short name that you will use to refer to this data base, e.g., "Purpus" or "Mojave"

Enter the full path of the directory in which the data resides. Be sure to include the drive letter, but do not add a "/" or "\" at the end of the string. For example, e:\data\Purpus Work Area\Data Base

Enter the file name and extension of the data base in which the data resides, e.g., purpusdb4.mdb

Enter the full path of the directory where the Natural History Web Site Data Base should write the .html files, e.g., e:\data\PurpusWebSite

Enter the color that you would like to use as a default background color. If you don't specify a default background color the data base will supply #F6F6F0. This value is kept in strDBDefDefBGColor which is a global variable in Class Module: Form_frmMain.

Not used.

Content to be placed in <meta name="keywords" content="…"> tag.

Content to be placed in <meta name="description" content="…"> tag.

Default site author to be placed in the header of every article if the Author attribute is not specified for an Article. (Note: this function, while an excellent idea, has not been implemented yet.)

Default site copyright for each page on the web site. (Note: this function, while an excellent idea, has not been implemented yet.)

Site Rating. Not implemented.

Instructions for robots at this site. Not implemented.

The base of the full URL for the new location of this web site, if the web site has moved recently. If the value is specified, then a set of redirection .html files is written for every page in the web site. These files use the refresh Meta tag to refer users to the new web site, i.e., <META HTTP-EQUIV="Refresh" CONTENT="…">. The files are placed in e:/data/oldwebsite. The path is hard-coded in subroutine WrOldWebPage.

 When this Form is closed, the data base returns to the Main Menu.

Exit

Does just that, closes the data base and exits Microsoft Access.

Build All Pages

Clicking Build All Pages will cause the data base engine to create a complete web site. Watch the status area in the lower left corner for progress information. When complete, you are returned to the Main Menu.

Enter Data Elements

The following tasks are arranged somewhat in a natural order of occurrence.

Enter Article Data

Edit Location Data

 …

Entering Locations that begin with small letters seems to confuse the data base engine.

 … 

| Contents |


Data Base Entities

This web site consists of 22 types of entities:

  1. Area.
  2. Area List.
  3. Article(s).
  4. Bibliography.
  5. Collection(s).
  6. Collector.
  7. Determination
  8. Family.
  9. Field Trips.
  10. Genus.
  11. Glossary.
  12. Image(s).
  13. Journals.
  14. Letter(s).
  15. Location(s).
  16. Observation(s).
  17. Page(s).
  18. Paragraph(s).
  19. Species.
  20. Species List.
  21. Type(s).
  22. Voucher

 

Logical Model

Area

Area List

Article

Bibliography

Collection

 

(Collection) Comments

 

Collector

Data Base Parameters

Determination

Family

Field Trips

Gazetteer

·        A Gazetteer is a collection of Location data across multiple sources.  Each web site produced by this Web Site data base has a Geographical Index. The Gazatteer is the collection of all Locations across all Web Sites.

Genus

Glossary

Image

Journals

Label

Letter

Location

Observation

Page

·        A Page is a group of Paragraphs in an Article.

Paragraph

Project

Species

Species List

Type

In the first case, Purpus collected Festuca ovina ssp. saximontana var. purpusiana at Farewell Gap twice, once in 1896 and again in 1897.

In the second case, Purpus collected the same plant, Penstemon icertus in two different locations in the same trip. These locations were Walker Pass and the Argus Mountains, which are about 50 km distant from each other.

Voucher

Web Site

 

 

| Contents |

 

 

 

Application Documentation


Tables

 

 

HTML Parameters

.

Parameter

Type

Description

&BGColor

 

 

&PageLogo

 

This is the logo that goes in the upper left corner of every page.

 

When WriteData encounters this string, it inserts the value of strPageLogo.

&PageTheme

 

This is the Web site or page theme that goes below the Page Logo on every page.

 

When WriteData encounters this string, it inserts the value of strPageTheme. 

 

 

Common Field Definitions

Common Field Definitions describe common fields among the tables. If you are looking for an important variable and can't find it here, remember to look in the Global Variables of the Modules.

Field

Type

Description

strBibAnch

Text, length: 32.

Bibliography anchor. Bibliographic entries are defined in tblBib.

strCollAnch

Text, length: 12.

Collection Anchor. Collections are defined in tblColl. This key must be unique. Therefore, it must be prefixed with some sort of collector identification. For the Purpus collections, it is made up from Collection Number and prefixed with a "B" if the Collection Number is available. Otherwise the Collection Anchor is the ID prefixed with an "A".

strCurSiteName

String

The name of the Web Site currently being worked on. Derived from tblDataBase.strName.

strCurSiteURL

String

The URL in which the index.html can be found. Derived from tblDataBase.strURLIndex.

strDBCOutput

Text, length: 50.

The path for output of the web site.

strLetterAnchor

Text, length: 50.

Letter Anchor. Anchor for a given letter. Defined in tblLetters.

strLocnAnchor

Text, length: 32.

Anchor name for a Location. Locations are defined in tblLocations.

strProj

Text, length: 16.

Anchor name for a Project. Projects are defined in tblProject.

strSpecCode

Text, length: 16.

The Species code that defines the current record in tblSpecies, and is a foreign key in other tables referring to Species. A Species code is formed from the Family number, and the first three characters of Genus, Species, and Subspecies or Variety names, is present.

strURL

Text, length: 50.

URL of the Photograph, relative to the index.html of the web site.

 

 

 

Internal Tables

tblCounty

Field

Type

Description

ID

AutoNumber

 

strStateCode

Text, length: 2.

State code.

intCountyCode

Integer

County code.

strCountyName

Text, length: 28.

Name of the county.

 

tblDataBase

Purpose: This Table contains the Data Base Parameters.

Field

Type

Description

ID

Auto Number

 

strName

Text, length 50.

A common name for this data base, e.g., "Purpus," "Mojave," etc. Earlier versions of the web site engine kept the recordset in tblDataBase open. Now as I write code that crosses web sites, I see the necessity of being able to query the recordset. Therefore future code should use the global variable strCurSiteName.

strDBCPath

Textr, length: 50

The path to the input data base.

strDBCFilename

Text, length: 50.

The file and extension of the input data base.

strDBCOutput

Text, length: 50.

See: Common Field Definitions.  The path for output of the web ste.

strURLIndex

Text: length: 50

The URL of the root of the web site, such as http://www.schweich.com Value is stored in strCurSiteURL.

strHomeFileType

Text, length: 8

The filetype of the home page. Normally, this is “.html”, but this option allows you to specify “.shtml”.

strDefFileType

Text, length: 8

The default file type for output files. Normally, this will be “.html” but it could be changed to “.shtml” or something else.

strRelURLGaz

Text: length: 50

URL of the Gazetteer, relative to the Index.html

strSiteDefBGColor

Text, length: 50.

Site Default Background Color. The value of this field is inserted into the Global Variable: strDBDefDefBGColor. If this value is null, then value is taken from the application-defined default background color: strApplDefDefBGColor.

strSiteDefPageLogo

Text, length: 50

Site Default Page Logo. The value of this field is inserted into the Global Variable: strDefPageLogo. If this value is null, then images/default.gif is used for the default page logo.

strSiteDefPageTheme

Text, length: 50

The default page theme to place in the upper left of each page.

datBeginEdit

Date/Time

Date and time the data base was last edited.

strSiteKeywords

Text, length: 255.

 Default keywords for the site.

strSiteDescription

Text, length: 255.

Default description for the site.

strSiteAuthor

Text, length: 50.

Default site author.

strSiteCopyright

Text, length: 50.

Default site copyright.

strSiteRating

Text, length: 50.

Default site rating.

strSiteRobots

Text, length: 50.

Default site robot instructions.

strNewURL

Text, length: 50

The URL of the new web site if old web site files are to be generated. Null indicates no old web site code should be generated.

 

tblFamily

Purpose: List all plant Families and provide a sort order.

Field

Type

Description

ID

AutoNumber

 

strUCNbr

Text, length: 4.

UC Family Number.

sngUCSortOrder

Number, Single

Sort order for the UC Family Number. "39a" becomes 39.1, "39b" becomes 39.2, etc.

strFamName

Text, length:32.

Name of the Family.

 

tblGaz

Purpose: a list of all Locations in the Gazetteer, regardless of which web site uses the Location. The references to each Location are stored in tblGazRef.

Field

Type

Description

ID

AutoNumber

 

strName

Text, length: 50

Name of the Web Site from which this gazetteer came from. Foreign key into tblDataBase.strName.

strLocnAnchor

Text, length: 50

This field and the following eight fields are the same as those fields in tblLocations.

strLocnName

Text, length: 50.

 

strCounty

 

 

strAltCounty

 

 

strState

 

 

strAltState

 

 

strCountry

 

 

logTryGNIS

 

 

strComments

 

 

 

 tblGazRef

Purpose: store references from the combined Gazetteer to the web sites that contain them. Note all references must contain fully defined URL. I know this table is horribly de-normalized. However, it must be, because I can't assume access to the tables of the individual web sites when the Gazetteer is created.

Source of Data:

·        SrcPgfLocn, This subroutine searches through tblXref looking for Paragraphs that relate to a Location.

1.      tblXref.

2.      tblArticles.

3.      tblParagraphs

Field

Type

Description

ID

AutoNumber

 

strName

Text, length: 50.

Name of the Web Site from which this gazetteer came from. Foreign key into tblDataBase.strName.

strLocnAnchor

 

 

strGazRefType

Text, length 8

Gazetteer reference type. Used to identify the type of reference. Also provides the correct sort order. Values:

A, Queries

B, Other Locations

C, Photographs.

D: Paragraphs

E, Area Plant Lists.

L, Letters.

strQueryURL

Text, length:50

A string containing a URL to query about this reference.

strOthLocn

Text, length: 50

Reference to another location.

strPhotoTNURL

Text, length:50

A string containing the URL of the thumbnail for the photo, inside the full URL Reference. This information is developed in GetPhotoInfo.

strPhotoCaption

 

 

strArtName

Text, length: 50.

 

strParaNbr

Text, length: 16

Paragraph number.

strPGFURL

Text, length: 50.

A string containing the full URL of the Paragraph.

 strLtrURL

Text, length: 96

A string containing a complete reference to a Letter.

 

 

 

tblGenus

Field

Type

Description

ID

AutoNumber

 

strUCNbr

Text, length: 4.

UC Family Number.

strGenusName

Text, length:32.

Name of the Genus.

strGenusAuthor

Text, length: 50.

Name of the Genus author.

 

tblSpecies

Purpose: Store information about Species making up Collections. It takes a combination of Collection (tblColl), Determination (tblDet), Species (tblSpecies) and Voucher (tblVoucher) data to fully describe a Collection.

Used by:

Field

Type

Description

strSpecCode

Text, length: 16.

See: Common Field Definitions

The species code that defines the current record.

strSynSpecCode

Text, length: 16.

A species code of the species for which this record is a synonym.

strUCNbr

Text, length: 6.

The UC Family code for the Family in which this species resides. Usually a number, but sometimes followed by a subletter. It is this entry that will drive the organization of the various output lists into Families.

strGenusName

Text, length: 20.

The name of the genus to which this species is assigned.

strSpeciesName

Text, length: 20.

The species name of this species.

strSpeciesAuthor

Text, length: 32.

The author of this species.

strSSP

Text, length: 24.

Subspecies name.

strSSPAuthor

Text: length: 32.

 Author of the subspecies.

strVar

Text, length: 24.

Variety.

strVarAuthor

Text, length: 32.

Author of the variety.

strCultivar

Text, length: 50

The selection name, if a cultivar.

strBibAnch

Text, length: 32.

A reference to the literature.

 

tblState

Field

Type

Description

ID

AutoNumber

 

strStateCode

Text, length: 2.

Code for the state.

strStateName

Text, length: 16.

Name of the state.

 

tblTopic

Field

Type

Description

ID

AutoNumber

 

strTopic

Text, length: 24.

Text of the topic.

strFileLetter

Text, length: 8.

Suffix for file name.

intSortOrder

Integer

Sort order for this topic.

 

External Tables

tblAreaList

Purpose: Lists the Locations that comprise an Area.

Used by:

Field

Type

Description

ID

AutoNumber

 

strAreaAnch

Text, length: 32.

An anchor name that identifies an Area.

strLocnAnch

Text, length: 32

A Location that is included in the Area. See: Common Field Definitions.

 

tblArticles

Purpose: The purpose of tblArticle is to keep attributes common to the Articles published in this web site.

Used by:

·        SrcPgfLocn, when preparing links from Locations to Paragraphs.

·        SrcPgfOthPgf, to find a Short Title (Stitle) attribute when preparing a link to another Article Paragraph. 

·        SrcPgfOthPgf, to find an Article Title (Title) attribute when the Article does not have a Short Title.

·        SrcPgfOthPgf, to check whether an alternate file type has been specified for the current Article Page.

Field

Type

Description

strArtBase

Text, length:

Name of the article to which this attribute applies.

strArtAttribute

Text, length:

The name of the attribute. Domain: [ AltFileType | Assist | Author | BGColor | Copyright | Description | Filetype | Image | ImageTN | Keywords | Preface | Rating | Stitle | Title ]

strArtAttrStr

Memo

The value of the attribute, if the value can be represented in a text variable.

intArtAttrInt

Integer

The value of the attribute, if the value can be represented in an integer value.

 

tblBib

Purpose: Contains the Bibliography data.

Used by:

Columns in the Table.

Field

Type

Description

strBibAnch

Text, length: 32.

An anchor name to be used in referring to this Bibliography entry. Must be unique for each entry.

strBibAuth

Text, length: 96.

The authors of this bibliographic entry.

strBibYear

Text, length: 16.

The data of the bibliographic entry.

strBibArticle

Text, length: 255.

The name of the article, if this bibliographic entry is an article in a journal.

strPPIn

Text, length: 50.

Page from and page to, if the article is in an edited compendium or proceedings.

strBibEditors

Text, length: 142.

The editors of the edited compendium or published proceedings.

strSymName

Text, length: 196.

Symposium or conference name, if any.

strBibBook

Text, length: 128.

Name of the book or the journal in which the article was published.

strBibSeries

Text, length: 128.

Series name.

strBibVol

Text, length: 12.

The volume number of the journal.

strBibNbr

Text, length: 12.

The number number of the journal, if any.

strPP

Text, length: 24.

Pages in the journal occupied by the article.

strPubDate

Text, length: 32.

Date the journal was published.

strPubCity

Text, length: 64.

The city in which the book was published.

strPublisher

Text, length: 142.

Publisher of the book.

strBibLib

Text, length: 32.

Library in which a copy of the article resides, often "{TAS}" which signifies that I have a copy of the article in my library.

strBibComments

Memo

Other comments about this bibliographic entry.

 

tblColComment

Purpose: Provide a place to keep Comments that are relevant to a particular collection. 

 

Field

Type

Description

strCollAnch

Text, length: 12.

Collection Anchor. See: Common Field Definitions. For the Purpus collections, it is made up from Collection Number and prefixed with a "B" if the Collection Number is available. Otherwise the Collection Anchor is the ID prefixed with an "A".

datColComment

Date/Time

Date the Comment was made.

LogShow

Logical

Show this comment be shown?

StrColComment

Memo

Any comments relevant to the Collection.

 

 

 

 

 

 

tblColl

Purpose: Contains the Collection data. It takes a combination of Collection (tblColl), Determination (tblDet), Species (tblSpecies) and Voucher (tblVoucher) data with a Label to fully describe a Collection.

Used by:

Field

Type

Description

strCollAnch

Text, length: 12.

Collection Anchor. See: Common Field Definitions. For the Purpus collections, it is made up from Collection Number and prefixed with a "B" if the Collection Number is available. Otherwise the Collection Anchor is the ID prefixed with an "A".

sngAscensionNbr

Single

Collection ascension number. Using a real number allows for insertions.

strProj

Text, length: 96.

Project identification.

strCollDesc

Text, length: 255.

Physical description of the collection. Items about the physical specimen, not the location or the associates, which are entered below. For example, "Flowers small yellow, 5 petals, 10 stamens."

strLocnAnchor

Text, length: 32.

Location of Specimen Collection. See: Common Field Definitions. Optional field, not required. Allows for preparation of lists of collections by Location.

strCountryCode

Text, length: 24.

Country Code. Try to use the Internet Country Codes. If the value is null, then "US" is assumed.

strStateCode

Text, length: 24.

The state or province in which the collection was made. State in which Purpus made the collection. Taken from his notebook or voucher label.

strCounty

Text, length: 50.

Key into tblCounty.

strLocnName

Text, length: 64.

A name for a Location that does not have a Location Anchor.

strLocnDesc

Text, length: 255.

Text description of the location the collection was made, such as, "300 m. northwest of Columbia Mine, at base of a steep slope composed of Precambrian gneiss."

dblLatitude

Double Number

Latitude, in degrees (north is positive).

dblLongitude

Double Number

Longitude, in degrees. East is positive, west is negative.

dblUTMZone

Double Number

UTM Zone

dblUTMNorth

Double Number

UTM North

dblUTMEast

Double Number

UTM East.

strEco

Text, length: 255

Description of the ecology and the plant associates of the collection.

strNotes

Text, length: 255.

Notes about the Collection. For the Purpus collections, this field contains Purpus' notes in his notebook or on the voucher label. Usually contains ecological information. For other collections, such as my former tblHerbarium, this will contain the Comments field (strComments).

strElev

Single Number

Purpus' estimate of the elevation at which he made the collection.

strElevUnits

Text, length: 2.

The units of the elevation, "ft" for feet is assumed for the Purpus collections.

strColCode

Text, length: 6.

Collector code.

strCollector

Text, length: 72.

Name of the person who collected the specimen.

strOthCollector

Text, length: 50.

Name of other persons who collected the specimens.

strYr

Text 4

The year in which Purpus made the collection.

strMo

Text 7

The month in which Purpus made the collections. Often estimated.

strDay

Text, length: 2.

The day the collection was made.

intVEst

Integer

Estimate of the number of vouchers that will be prepared from this collection. Drives the number of labels that will be printed.

Other Datum

Text, length: 16.

Other data, e.g., another ascension number.

Project

Text, length: 16.

Project Code.

strCollOwn

Text, length: 50.

Ultimately, who owns this collection. For example, the National Park Service owns all plant collections in Mojave National Preserve.

L?

Yes/No

Flag, indicates whether a label is needed.

#Ls

Long Integer

The number of labels needed.

Date Collected

Date/Time

The date the collection was made. Calculated from strYr, strMo, and strDay, if possible, for Purpus collections.

strBibAnch

Text, length: 32.

Bibliographic Reference.

strHerb

Text, length: 24.

The Herbarium in which the Voucher is deposited. Do not use. Use strVLocn in tblVoucher instead.

lngHAsc

Number, long integer.

The Herbarium's Ascension Number. Do not use. Use strHerbAsc in tblVoucher instead.

L#

Integer

Label Number (Not used, to be deleted later.)

 

 

tblCollection

Purpose: Contains the Purpus Collections data.

Columns in the Table.

Field

Type

Description

ID

AutoNum

Primary Record Key

NUM_CONS

Integer

Consolidated Collection Number.

strCollAnch

Text, length: 6.

Collection Anchor. Made up from Collection Number and prefixed with a "B" if the Collection Number is available. Otherwise the Collection Anchor is the ID prefixed with an "A".

FAM

Text 4

Family Number.

FIELD_DET

Text 25

Field Determination. The identification made by Carl A. Purpus in the field.

GENUS

Text 15

Genus

BRAND_DET

Text 20

Determination By ______ Brandegees.

UC

Text 1

Presence of a voucher at UC.

Values:

  • y -- Voucher exists at UC
  • 1 -- Voucher exists at UC

RECENT_DET

Text 25

Recent Determination.

DET_BY

Text 20

Determined By. Who made the recent determination.

TYPE

Text 2

Location of Type Specimen.

strLocnAnchor

Text, location: 18.

See: Common Field Definitions.

LOCALITY

Text 15

Location of Specimen Collection.

NOTES

Text 20

Purpus' notes in his notebook or on the voucher label. Usually contains ecological information.

ELEV

Text 8

Purpus' estimate of the elevation at which he made the collection.

YEAR

Text 4

The year in which Purpus made the collection.

MONTH

Text 7

The month in which Purpus made the collections. Often estimated.

STATE

Text 2

State in which Purpus made the collection. Taken from his notebook or voucher label.

TEMP_NUM

Number (Double) 8

Temporary number assigned by Purpus(?).

 

tblCollector

Purpose: Store information about Collectors.

Used by:

Field

Type

Description

strColCode

Text, length: 6.

Collector Code

strColName

Text, Length: 32.

Collector Name.,

 

tblDet

Purpose: Store Determinations of Collections. It takes a combination of Collection (tblColl), Determination (tblDet), Species (tblSpecies) and Voucher (tblVoucher) data to fully describe a Collection.

Used by:

Field

Type

Description

ID

AutoNumber

 

strCollAnch

Text, length: 12.

Collection Anchor. Key into tblColl.

For the Purpus collections, it is made up from Collection Number and prefixed with a "B" if the Collection Number is available. Otherwise the Collection Anchor is the ID prefixed with an "A".

See: Common Field Definitions.

datDet

Date/Time

Date the determination was made. Entered as 1/1/year, if only the year is available.

logUseDatDet

Yes/No

Indicates whether datDet should be used as the Determination Date, or whether strdatDet should be used.

strdatDet

Text, length: 50.

A string containing the determination date.  Useful when a non-standard format is used, such as "21/XII/34" or simply "April 1980."

strDetType

Text, length: 32.

The type of determination, e.g., "Field"

strSpecCode

Text, length: 50.

Species code resulting from the Determination.

strDeterminer

Text, length: 40.

Name of the person who made the determination.

logAnnotation

Yes/No

Did this determination result in an annotation label?

strAnnotation

Text, length: 255.

The text of the Annotation label, if present.

tblHTML

Purpose: The purpose of this table is to contain groups of HTML code rather than put all the HTML in the Visual Basic code.

Field

Type

Description

ID

AutoNumber

 

intGroup

Long Integer

Group number for HTML

intLine

Long Integer

Line number within Group.

strHTML

Text, length: 196.

HTML to be output.

 

000s

Collections. Verified in but_GWB_Coll_List_Click.

100s

Images, see WrImageHdr and WrImageTlr.

200s

Not Used

300s

Geographical Index. Prepared by but_GWB_Locn_Click.

400s

Letters. Verified in but_GWB_Letters_Click.

500s

Articles. Verified in WrArtHdr and WrArtTlr.

600s

Types. Prepared by but_GWB_Types_Click.

700s

Images of the Eastern Mojave. Verified in but_GWB_Image_Click.

800s

Area Plant Lists.

 

 

tblLetters

Purpose: Store Letters and indexing information.

Field

Type

Description

strLetterAnchor

Text, length: 50.

Anchor of this Letter. See: Common Field Definitions.

datLetter

Date/Time

Date the letter was written.

strAuthor

Text, length: 50.

Author of the letter.

strAddressee

Text, length: 50.

Addressee of the letter, i.e., the person to whom the letter was addressed.

memLetter

Memo

Text of the letter.

 

tblLocations

Purpose: Provide a table of Locations.

Uses of tblLocations:

Field

Type

Description

strLocnAnchor

Text, length: 32.

Anchor Name for this Location. See: Common Field Definitions.

strLocnName

Text, length: 50

Location Name.

strCounty

Text, length: 50.

County.

strAltCounty

Text, length: 50.

Allows indication of a second or alternate county when a location spans across two counties, as a mountain range might, or when a location is on a boundary line.

strState

Text, length: 24.

State in which a Location is found.

strAltState

Text, length: 24.

Another state in which a location is found.

strCountry

Text, length: 24.

Country.

logTryGNIS

Yes/No

Should a link to G.N.I.S. link be added to the Geographical Index web page?

strComments

Memo

Information about the location.

 

tblObs

Purpose: Store information about Observations.

Field

Type

Description

strLocnAnchor

Text, length: 32.

Anchor name for the Location of the Observation.

strCountryCode

Text, length: 32.

Country Code. Try to use the Internet Country Codes. If the value is null, then "US" is assumed.

strStateCode

Text, length: 24.

The state or province in which the Observation was made.

strCounty

Text, length: 32.

County in which the Observation was made.

strLocnName

Text, length: 64.

Recognizable name of the Location for locations that do not have a Location Anchor. Ignored if Location Anchor is not null.

strLocnDesc

Text, Length: 255

Text description of the location the collection was made, such as, "300 m. northwest of Columbia Mine, at base of a steep slope composed of Precambrian gneiss."

datObs

Date/time

The time and date the Observation was made.

strObsPerson

Text, length: 24.

The name of the person making the Observation.

strSpecCode

Text, length: 16.

Identifies the Species observed.

strComments

Text, length: 255.

Comments about the Observation.

strBibAnch

Text, length: 32.

Bibliographic reference.

 

 

tblParagraphs

Purpose: Store the Paragraphs of an Article.

Used by:

·        SrcPgfLocn, when making links to Paragraphs from Locations.

Field

Type

Description

strArtBase

Text, length:50.

The base URL of the article to which this paragraph applies.

strArtPage

Text, location: 8.

The page of the article to which this paragraph applies. Becomes appended to the base URL in forming the file name.

strParaNbr

Text, length: 16.

Paragraph number.

strTopic

Text, length: 50.

The topic of this paragraph. Implemented as a heading level 1. A topic of "Literature Cited" receives special processing.

strSubTopic

Text, length: 50.

Sub-topic of the paragraph; implemented as a heading level 2.

strParagraph

Memo

Text of the Paragraph.

 

tblPhotographs

The purpose of tblPhotographs is to store Images.

Field

Type

Description

ID

AutoNumber

 

logPurpus

Yes/No

Indicates whether this photograph applies to the Purpus Web Site.

strServer

Text, length: 8.

Name of server on which the photograph is stored.

strURL

Text, length: 50.

See: Common Field Definitions. URL of the photograph, relative to the index.html of the web site.

strURLThumb

Text, length: 50.

URL of a thumbnail of the photograph.

strSortOrder

Text, length: 16.

A sort order to be used to improve sort based upon file name.

lngSize

Long Integer

Size, in bytes.

datDate

Short date.

Date file created.

strTopic

Text, length:24.

Topic of the photograph.

strSubTopic

Text, length: 48.

Sub-topic.

strCaption

Text, length: 192.

Caption to print under each photograph.

strComment

Memo.

Comment about the photograph.

 

tblProject

Field

Type

Description

ID

AutoNumber

 

strProj

Text, length: 16.

Project identification.

strProjName

Text, length: 100.

Name of the project.

strHdr1

Text, length: 50.

Header for labels prepared as a result of this project.

strHdr2

Text, length: 50.

Second line of header for labels prepared as a result of this project.

strPNotes

Text, length: 50.

Project notes, printed in the middle of the label.

strFtr

Text, length: 50.

Footer for labels prepared as a result of this project.

 Used by:

 

 

tblTypes

Purpose: List the type specimens described from collections made by Carl A. Purpus.

Field

Type

Description

strTypeArch

Text, length: 16

Anchor name for access into tblTypes

strUCNbr

Text, length: 16.

UC family numbers

strGenus

Text, length: 32.

Genus of this type.

strSpecies

Text, length: 32.

Species of this type.

strSpeciesAuth

Text, length: 96

Published description of this species.

strSSP

Text, length: 32

Sub-species

strSSPAuth

Text, length: 64.

Author of the sub-species.

strVar

Text, length: 32.

Variety

strVarAuth

Text, length: 64

Author of the variety.

strLocnAnch

Text, Length: 50.

 

strComments

Text, length: 255.

Comments about the type.

tblVoucher

Purpose: Store information about Vouchers made of Collections. It takes a combination of Collection (tblColl), Determination (tblDet), Species (tblSpecies) and Voucher (tblVoucher) data to fully describe a Collection.

Used by:

Field

Type

Description

ID

AutoNumber

 

strCollAnch

Text, length: 6.

Collection Anchor. Key into tblColl.

For the Purpus collections, it is made up from Collection Number and prefixed with a "B" if the Collection Number is available. Otherwise the Collection Anchor is the ID prefixed with an "A".

See: Common Field Definitions.

intVNbr

Integer

Number of the voucher.

datPrepared

Date/Time

Date and time the Voucher was completed.

strVLocn

Text, length: 8.

Location of the voucher, use Herbarium code in Index Kewensis, if possible.

strHerbAsc

Text, length: 8

Ascension number at the herbarium where this voucher is stored.

tblXref

Purpose: To relate an object in one data table to an object in another table. For example, this table will indicate if there are any photographs in tblPhotographs that relate to a location in tblLocations.

Used by:

·        SrcPgfLocn, when making links from Locations to Paragraphs.

·        SrcPgfOthPgf, when making links between Paragraphs in Articles.

Field

Type

Description

strLink

Text, length:96

Link, used literally.

strCollection

Text, length: 50.

Collection Number.

strSpecCode

 

 

strLocation

Text, length: 50.

Anchor name of a location. Corresponds to strLocnAnchor in tblLocations.

strOthLocation

 

 

strPhotograph

Text, length: 50.

URL of a photograph. See: strURL in Common Field Definitions.

strLetter

Text, length: 50.

Anchor name of a letter.

strTypeAnch

Text, length: 50.

Anchor name for a type, as found in tblTypes.

strBibAnch

 

 

strArtBase

Text, length: 50.

Base URL of an Article.

strParaNbr

Text, length: 16.

Number of a paragraph in the article described by strArtBase, which is to be cross-referenced.

strRdAnch

 

 

strOthArtBase

 

 

strOthParaNbr

 

 

strOthRdAnch

 

 


| Contents |


Queries

 

Common Queries

 

qryColl

 Purpose: provide a list of Collections sorted by Collection Anchor.

Source of Data:

Used by:

 

qryCollList

Purpose:

Source of Data:

Used by:

 

qryDet

 

qryEnterDet

Purpose: qryEnterDet joins tblCollector, tblColl, tblDet and tblSpecies without any criteria.

 

qryFamily

 

qryParagraphs

 

qrySpecies

 

Unique Queries

 

qryAreaColl

 

Sources of Data:

Used by:

 

qryColRDet

Purpose: qryColRDet is a major query that joins Collection data with the most recent Determination, if present. Species and Family data is also included in the query.

Sources of Data:

Uses of Data:

but_ColRpt_Click

 

 

qryDetObsUnion

Purpose: qryDetObsUnion is the union of all the Collections with most recent Determinations and all the Observations.

Sources of Data:

 

qryDets

 Purpose: qryDets is a major query that joins Collection data with the most recent Determination and Voucher data, if present. Species and Family data is also included in the query.

Sources of Data:

Uses of Data:

 

qryDetsSpecies

Purpose: qryDetsSpecies is a join of all recent Determinations with Species and Family information.

Sources of Data:

Used by:

 

qryObss

 

Sources of Data:

Used by:

 

 qryRecentDet

 Purpose: Get the most recent Determination for all determined Collections.

Sources of Data:

Used by:

 Notes:

1.      The most recent Determination is calculated from the datDet by the following criteria: DMax("[datDet]","[tblDet]"," [tblDet]![strCollAnch] = '" & [tblDet]![strCollAnch] & "'")

2.      Any Determinations with a null datDet will be discarded.

qrySpeciesList

Purpose: Provides data for a Species list.

Sources of Data:

Used by:

 

qryTASList

Purpose: provide the data for a Collector's list for Tom Schweich.

Sources of Data:

Used by:

| Contents |


Forms

 

frmColl

 

frmDataBase

Purpose: Provide a form to allow editing of Data Base Parameters.

 

frmEnterDet

 

 

frmMain

Program code supporting frmMain can be found in Form_frmMain.

frmPhotographs

| Contents |


Reports

 

rptTASStatus

Purpose: Provides an overview of all of my collections showing both Collection and Voucher data.

Source of Data: qryTASList.

| Contents |


Modules

 

Notes:

  1. Option Compare Binary is required for many of the text comparison operations to work properly. This is especially true in FmtCollLine where the code tries to determine whether a string contains a genus by examining the first character of the string to see if it is a capital letter. With Option Compare Text or Option Compare Database this comparison will not operate correctly.

Global Variables

Global Variables describe the important variables used by the Modules, i.e., the program code. If you're looking for an important variable and don't find it here, be sure to look in the Common Field Definitions of the Tables.

Field

Type

Description

dbsCurrent

Database

Name of the current data base

dbsMaster

Database

Name of the master data base in which the code resides.

rsttblPgf

Recordset

A recordset that contains all Paragraphs.

rsttblTopic

Recordset

A recordset that contains the Topics in an Article which is currently being processed. It also contains the Topics of the Photographs.

In the former case, the recordset is opened in butGWB_Articles_Click and used there as well as by WrArtHdr.

In the latter case the recordset is opened by but_GWB_Image_Click and used there as well as in WrImageHdr.

strApplDefDefBGColor

Constant Text

The application-defined default background color.

strBGColor

String

Contains value that WriteData will substitute into parameter &BGColor

strDBCOutputPath

String

The output path of the website.

strDBDefDefBGColor

String

Data base-defined default background color. If this value is null in tblDatabase, then the value of #F6F6F0 is used.

strDefPageLogo

String

Default page logo.

strPageLogo

String

Location of the logo to be placed at the top left of every page, relative to the home page of the web site.

strPageTheme

String

Text of the page theme to be printed below the page logo.

strImageBackURL

String

Relative URL of the Image from the Image HTML File

strImageHTMLOutputFile

 

Location of the file containing HTML code that loads the full sized image

strOutDetFile

String

Output file name for the Detailed Area Lists.

strOutPathDetFile

String

Output path and file name for the Detailed Area Lists.

 

 

 

Form_frmMain

This module, Form_frmMain, contains the code to support the buttons on the frmMain for the data base.

Local Variables

Field

Type

Description

intCollDebugRate

Integer

Used by FmtCollLine to indicate how often debugging records should be writted for Collection data.

intCollFileSize

Const Integer = 500

How many collection records to put into one file.

intLastPos

Integer

The last position in strOutput that has data.

intPass

Integer

Used in SrcLocnOthLocn.

intPgfRcdCnt

Integer

 

intRcdCnt

Integer

Counts the Collection or Observation records comprising one Area List in butBldPlantList.

intSampleRate

Integer

 

intTgtLth

Integer

The target length of the output string.

intTypesRcd

Integer

Counter for stepping through Types that were described from a Location.

intXrefRcd

Integer

Counter for stepping through tblXref records.

lngAreaCnt

Long Integer

Counts the Areas while the Area Lists are being prepared.

lngAreaIncr

Long Integer

The amount to increment the System Meter for each Area in the Area Lists.

lngAreaCollIncr

Long Integer

SysMeter value for each record while building Area Lists.

lngMeterBase

Long Integer

The base amount for the System Meter.

rsttblAltFT

Recordset

A recordset containing any records with the Alternate File Type attribute.

rsttblArtAttr

Recordset

A recordset containing a record from tblArticle

rsttblColl

Recordset

A recordset containing records from tblCollection. Used in subroutines but_GWB_Coll_List_Click and FmtCollLine.

rsttblHTML

Recordset

Recordset in tblHTML.

rsttblLetters

Recordset

 

rsttblLocn

Recordset

 

rsttblLocnAlt

Recordset

Used in SrcLocnOthLocn.

rsttblPgf

Recordset

 

rsttblPgfAlt

Recordset

Used in SrcPgfOthPgf. when looking up information about the other article when preparing references to other articles.

rsttblPhoto

Recordset

 

rsttblXref

Recordset

A record set in tblXref.

rsttblTypes

Recordset

A record set in tblTypes.

str1stArticle

String

 

strArtAssist

String

Provide assistance to authors of articles.

strCollIn

String

Used in GetCollInfo

strCurArtAuthor

String

Used in ExArticle

strCurArticle

String

Base URL of the current article.

strCurAltFileType

String

Current value of the alternate file type for the current web site.

strCurArtPage

String

The current Page of the current Article.

strCurArtRefTitle

String

The article title of the current article while preparing article references. Used in SrcPgfLocn.

strCurArtTitle

String

The title of the current article.

strCurArtTitleImage

String

 

strCurArtTitleImageTN

String

 

strCurDBName

String

The name of the current data base.

strCurFAQFT

String

The file type of the first page in the FAQ.  Set in early in butGWB_Articles. If there is no FAQ, then the value is set to .html as a default.

strCurLetter

String

For Keeping track of the first letter of locations.

strcurSubTopic

String

 

strcurTopic

String

 

strcurYear

String

Used in ExLetters to keep track of the year.

strDBInput

String

An input string for the name of the current data base.

strFirstLetters

String

 

strInpArticle

String

used by ExArticles

strInpArtPage

String

Input value of page of current article

strinpLetter

String

 

strinpYear

String

Used in ExLetters to extract the year in each letter.

strLitCitPage

String

When in butGWB_Articles, indicates the Article Page on which the Literature Cited Topic occurs. 

strLocnAnchIn

String

Used as argument to SrcLocnTypes and SrcTypesLocn.

strLocnArtBase

String

Article base when looking for a location.

strLocnLetter

String

Parameter to SrcLocnLetter.

strLocnLocn

String

Parameter to SrcLocnOthLocn.

strLocnParaNbr

String

Paragraph number when looking for a location.

strLocnProlog

String

Used by SrcLocnOthLocn to hold the "See also:"

strLocnRefType

String

Indicates the form of the location reference that is being requested.

strMaxPgAltFT

String

The highest page number of the current Article that should use the Alternate Filetype. Set in GetArtAttr, used in butGWB_Articles. Used in:

·        SrcBibPgf, when preparing links to Literature Cited in an Article.  Note: the slightly different usage here than in other places.

strOut

String

A string for this routine to put its data into. The subroutine WriteData will clean this variable out as the data is written to the output file.

strOutFile

String

 

strPgfArtBase

String

Parameter to SrcPgfOthPgf.

strPgfLocn

String

Parameter to SrcPgfLocn

strPgfParaNbr

String

Parameter to SrcPgfOthPgf.

strPhoArtBase

String

Used in SrcPhotoArticles

strPhoLetter

String

Parameter to SrcPhotoLetter, gives the Anchor of the letter for which photographs are to be found.

strPhoLocn

String

Parameter tp SrcPhotoLocn, gives the anchor of the location for which photographs are to be found.

strPhoParaNbr

String

Used in SrcPhotoArticles

strPhotoURLIn

String

Used in GetPhotoInfo as the primary argument.

strPrevArtPage

String

Pointer to relative URL of the previous article page.

strPrevCollPage

String

Pointer to the relative URL of the previous collection page.

strTB

String

Temporary buffer for debugging purposes

strTypeAnchIn

String

Used as argument to SrcLocnTypes

strURLIn

String

Parameter to SrcLocnPhoto which creates a list of locations for which the Photo was used.

 

 

 

 

 

 

 

butBldPlantList

Purpose: This routine builds three kinds of plant lists:

  1. A list of all Collections and Observations of Species in Areas as specified in tblAreaList.
  2. A list of all Collections and Observations of specific Species as specified in tblSpeciesList.
  3. A list of Collections by Tom Schweich.

Sources of Data:

Calls:

Operation:

  1. Do, for each distinct Area in tblAreaList.
    1. List all Locations included in the Area, using a join of tblAreaList and tblLocations.
  2. Do, for each Species where a Species List is requested in tblSpecies.
  3. Do, for each Collection where the Collector code is "TAS".

 

butCloseDB

 

butDataInputForms

 

butExit

 

but_ColRpt_Click

Purpose: Provide the “Mother of All Reports” for the Collections of a requested Collector.

 

Source of Data:

·        qryColRDet

 

but_GWB_Coll_List_Click

Formerly known as: ExCollList.

Purpose: Create one or more static HTML files of Collection data.

Source of Data: tblCollection, formerly known as tblCAP.

Calls: in approximate order in which the calls are encountered. Caution: documentation of the second level calls should not be trusted, refer to the documentation for the calling routine.

 

but_GWB_Locn_Click

 Purpose: Prepare the Geographic Index of Locations.

Sources of Data:

Calls:

 butSelectDataBase_Click()

This subroutine is executed when the user clicks on the "Select Data Base" button on frmMain.

but_GWB_Image_Click

 

Creates a recordset called rsttblTopic and uses it. The recordset is also used by WrImageHdr.

 

but_GWB_Labels_Click

Purpose: Prepare Labels from Collections.

Sources of Data:

Operation:

  1. This routine selects records from qryDets that have the tblColl.[L?] field condition true.
  2. It then creates the number of labels as specified in tblColl.[#Ls] field.
  3. Labels are written into a file called "labels.html" in the same directory as the WebSite. This value is found in strDBCOutput in tblDataBase.

 

but_GWB_Letters_Click

 

but_GWB_Types_Click

 

butGWB_Articles_Click

 See Local Variables for some of the variables used by this procedure.

  1. Opens recordset rsttblPgf, which contains all the Paragraphs, sorted by Article, Article Page and paragraph number.
  2. Calls GetArtAttr, which performs a number of queries to get the attributes of the current Article. 
  3. Opens record set rsttblTopic for some processing now, and later repeated use by WrArtHdr. This query provides a list of Topics in the Article. “Literature Cited” is a keyword, and the Page number on which the Topic appears is saved in strLitCitPage for later use.
  4. Calls WrArtHdr, which itself calls WriteGroup. WriteGroup uses a query to extract HTML from tblHTML.
  5. The following calls are executed for each Paragraph:
    1. Insert the Paragraph number in Column 1. This was changed on October 11, 2000, when I learned that two anchor tags in a row would cause the first anchor name to be ignored.
    2. Call SrcBibPgf, which runs a query for each Paragraph, and a query for each Bibliography entry in a Paragraph.
    3. Call SrcPhotoPgf, which runs a query to list the Photographs for each Paragraph, and then calls GetPhotoInfo for each Photograph found. GetPhotoInfo runs a query against tblPhotographs for each Photograph.
    4. Call SrcPgfOthPgf, which runs a complex query against tblXref, then a query against tblArticles for each reference to another Paragraph, conditionally another query against tblArticles, as well as a query against tblParagraph to get information about the other Paragraph being referred to.
    5. Call SrcLocnPgf, queries tblXref to find which Locations this Paragraph refers to. GetLocnInfo is called for each Location, which in turn queries tblLocations for each Location referred to.
    6. Call SrcLetterPgf, queries tblXref and then calls GetLetterInfo for each Letter found. GetLetterInfo queries tblLetters for each Letter.
  6. Open rsttblBibRef, which is a query of all Literature Cited (Bibliography) by the current Article.
    1. Opens rsttblBibEntry to get the data necessary to prepare a Bibliography entry.
    2. Calls FmtBibEntryLine.
  7. Calls WrArtTlr. Calls WriteGroup, which in turn queries tblHTML.
  8. Call WrBib.
    1. Call GetArtAttr and WrArtHdr.
    2. Queries tblBib
    3. For each Bibliography entry:
      1. Calls SrcPgfBib, queries tblXref, and then tblArticles and tblParagraphs for each reference found.
    4. Call WrArtTlr

 

 

butSelectDataBase

 

butSysAdmin

 

Close_Open_Data_Base

 

ExArticles

Calls: (in approximate order in which the calls are encountered)

ExLetters

ExLocnList

ExTypes

This subroutine creates the "Types" Page. Subroutines Called:

fcnStripTag

This function removes putative HTML tags from strings. It was written primarily to facilitate HTML Titles from photo captions. HTML tags are recognized by the presence of a "<" followed by a ">".

Called by: but_GWB_Image

 

FinishVoucherString

 

Used by:

 

FmtBibEntryLine

 

Used by:

 

FmtCollEpithet

 

 

FmtCollLine

Purpose: Format a paragraph for each collection record.

Called by: but_GWB_Coll_List_Click.

Calls:

FmtTypeLine

Purpose: Format a line for each Type as defined by rsttblTypes.

GetArtAttr

Get Article attributes. Called by butGWB_Articles_Click, formerly ExArticles. This subroutine performs a number of queries, which could be made more efficient by querying once for each Article and then using Find First for each Attribute.

GetCollInfo

Purpose: Given the collection number in a string, get the Collection information and prepare a hypertext link to the Collection record.

Called By:

 

GetImageURL

GetLetterInfo

GetLocnInfo

Purpose: This subroutine takes the anchor name of a Location, and obtains other information about the location necessary to format a good-looking link.

Arguments:

Source of Data:

Used by:

 

GetPhotoInfo

This subroutine takes an anchor name for a photograph, obtains the URL, the URL of the thumbnail, and the caption and writes the information in the current location of the output file.

Arguments:

Called by:

 

strLinkType

StrWriteWhere

SrcPhotoColl

Short

Primary

SrcPhotoLetter

Long

Primary

SrcPhotoLocn

Long

Gazetteer

SrcPhotoPgf

Long

Primary

SrcPhotoSpec

Short

strWriteWhere [ Secondary ]

SrcPhotoTypes

Long

Primary

 

 

Open_Data_Base

 

SrcBibPgf

Purpose: Build a list of all Literature Cited (Bibliography) by a Paragraph in an Article.

Called by: butGWB_Articles_Click.

1)      Opens rsttblXref, which lists all Bibliography entries for the current Paragraph.

2)      For each Bibliography entry:

a)      Opens rsttblBibEntry, to format the Bibliography reference.

b)      Determine whether the Alternate Filetype should be used for the hyperlink to the bibliography entry. If the page number of the page containing the Topic of Literature Cited is greater than the maximum page for the Alternate File type (strMaxPgAltFT), then use the default page type.

SrcAreaLocn

Purpose: Make a list of Areas that include the Location being processed.

 Called by: but_GWB_Locn_Click.

Operations:

  1. Checks to see if there is a recordset in the Area List (tblAreaList). Creates a recordset if one is not found.
  2. Checks to see if there is a recordset of Locations (tblLocations). Creates a recordset if one is not found. I originally tried to write this as nested "For Each …" but it didn’t seem to work, so I un-nested the loops.
  3. If the argument to the subroutine is Null, then the recordsets in the Area List and the Locations are closed. This is intentional and designed to provide a way for the recordsets to be closed.
  4. A series of FindFirst and FindNext's are done to assemble the lists of Areas that include the Location specified in the argument.

SrcCollTypes

Purpose: This subroutine searches through tblXref looking for Collections that were used in describing a Type.

Integer Used as a counter when stepping through the Cross Reference records in rsttblXrefPrv. rsttblXrefPrv Recordset A recordset in tblXref, local to SrcCollTypes, because there are often multiple recordsets open in tblXref.

Calls:

SrcLetterLocn

Search for Letters that referred to a location. Used by ExLocnList.

SrcLetterPgf

Used by ExArticles to insert a reference to a Letter into an Article.

SrcLinkPgf

This subroutine searches through tblXref looking for Links that relate to a Paragraph.

SrcLocnLetter

This subroutine searches through tblXref looking for Locations that relate to a Letter.

SrcLocnOthLocn

This subroutine searches through tblXref looking for Location(s) that refer to another Location.

SrcLocnPgf

This subroutine searches through tblXref looking for Locations that relate to a Paragraph. This routine is used by ExArticles to enter Location references in the Articles.

SrcLocnPhoto

Used by ExPhotoList, to create a list of locations for which the Photo was used.

SrcLocnTypes

Purpose: This subroutine searches for Locations that relate to Types.

Called By (Caution: list may be incomplete.)

Calls:

Local Variables

Field

Type

Description

intXrefRcdLT

Integer

Counter of tblXref records

rsttblXrefLT

Recordset

Used in SrcLocnTypes to avoid naming conflicts of open recordsets in tblXref.

 

SrcPgfBib

 

SrcPgfLetter

 

SrcPgfLocn

This subroutine searches through tblXref looking for Paragraphs that relate to a Location. Writes references in tblGazRef for Paragraphs that refer to Locations.

Called by: but_GWB_Locn_Click.

Procedure

1)      Get a list of all the Paragraphs that relate to this Location (rsttblXref). Use a Select distinct because there may be more than one Cross Reference between a Paragraph and a Location.

2)      For each Paragraph that refers to a Location.

a)      Get the Title of the Article that contains the Paragraph.

b)      Write out the Title.

c)      Get the Page of the Article in which the Paragraph appears.

d)      Figure out whether the Page uses the default page filetype or the alternate file type.

e)      Build the link to the Article Paragraph.  Also write the information into the list of Gazetteer references (tblGazRef).

 

SrcPgfOthPgf

Used by ExArticles to prepare a cross-reference between paragraphs.

1)      Query tblXref for any Cross References with the current Paragraph.

2)      If there are records found, Do for every Cross Reference found

a)      Query tblArticles for the Stitle attribute

b)      If there is no Stitle, query tblArticles for the Title attribute.

c)      If the new title is different that the last title written, then write the new title out.

d)      Query tblParagraphs for the Page number of the other Paragraph to which we are referring.

i)        If we get just one reference then:

(1)   Check tblArticles to see whether the Alternate File Type (strCurAltFileType) should be used.  (New: May 6, 2001)

(2)   If it’s a non-road reference then format the link.

(3)   If it’s a road reference then format the link another way.

ii)       If we get something other than one reference, then throw up.

e)      Take the next Cross Reference from the query.

SrcPgfPhoto

Used by but_GWB_Image_Click (ExPhotoList) to get the list of paragraphs that refer to this photograph.

 

SrcPhotoColl

 

Used by:

 

SrcPhotoLetter

This subroutine searches for Photographs that relate to letters.

SrcPhotoLocn

This subroutine searches for Photographs that relate to a Location.

Called by: but_GWB_Locn.

Calls:

SrcPhotoPgf

This subroutine searches for Photographs that relate to a paragraph.

Called by: ExArticles.

 

SrcPhotoSpec

 

Used by:

 

SrcPhotoTypes

This subroutine searches for Photographs of the Types.

SrcTypesLocn

This subroutine searches through tblTypes looking for U. S. Types that were described from the given Location. It was originally written for use by ExLocnList, the subroutine that prepares the Geographical Index files.

WrArtHdr

Write the header portion of an article. Called once for each article by ExArticles.

Write the List of Topics using rsttblTopic from a query performed in butGWB_Articles_Click.

WrArtTlr

Write the trailer portion of an article. Called once for each article by ExArticles.

 

WrBib

 Called by butGWB_Articles_Click, documented there.

WrImageHdr

 

Uses a recordset called rsttblTopic to create a List of Topics for the Photographs.

 

 

WrImageTlr

6/8/2000: Discovered that WrImageTlr was using groups 580 and 599. This should be an error as those groups are reserved for articles. It was probably a result of cloning code. Corrected the group numbers to 180 and 199, respectively.

WrLetterHdr

 

 

WriteData

This subroutine takes the requested HTML, packs it into buffers, and writes the data to a file when the buffer is full. The parameter that is passed, usually strOut, is altered by WriteData as it copies the data to the buffer.

Called by:

 

WriteGroup

 

Called by:

 

WrLocnHdr

 

WrOldWebPage

Write an "old" web page that provides a redirect to the current web site location.

Parameters:

 Called by:

 

 

 

Data Base Contents

Download the data base.
|
Contents |


Appendices

HTML Specifications

HTML Redirect

From: http://www.tinaja.com/text/redirect.html

There are times and places where all you want an HTML page to do is go somewhere else.

This might happen because the old page content was obsolete but you need to keep the link. Or because you want to log the popularity of an incoming or outgoing ad banner response.

Here is the code for a typical redirection page...

     <HTML>
     <HEAD>
     <TITLE>Page Redirection example</TITLE>
     <META HTTP-EQUIV="Refresh" CONTENT="3;URL=http://www.xxx.com"> <META NAME="GENERATOR"
     CONTENT="Mozilla/3.0Gold (Win95; I) [Netscape]">
     </HEAD>
     <BODY BGCOLOR="#FFFFFF">
     <H2>This page is outdated. Click <A HREF="http://www.xxx.com">here</A> for the latest info or standby. </H2>
     </BODY>
     </HTML> 

That <META HTTP-EQUIV="Refresh" CONTENT="3;URL=http://www.xxx.com"> line does all the work. "Refresh" is the redirection command. The url is where you want to go. And CONTENT is the approximate time delay in seconds.

Click here for a redirecting example

Your screen content should give an alternative access means for an ancient or nonstandard browser. It should also explain why the redirection is needed.

One gotcha: Using a time delay of zero is bad news. First because you still will have the page display for a few seconds while the new page is accessed. But worse because their browser back arrow will no longer work!

With a zero time delay, the back arrow goes back and the redirection goes immediately forward. Round and round. Give enough delay time for a user reaction if they really want to go back.

Copyright c. 1997 by Don Lancaster and Synergetics, Box 809, Thatcher AZ, 85552 (520) 428-4073. synergetics@tinaja.com All commercial rights and all electronic media rights are *fully* reserved. Linking welcome. Reposting is expressly forbidden.

Example

!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="Author" content="P Nelson"> <meta name="GENERATOR" content="Mozilla/4.61 [en] (Win95; I) [Netscape]"> <title>index9-11</title><META HTTP-EQUIV="REFRESH" CONTENT="15; URL=http://st5.yahoo.com/pomegranate"></head><body><center><img SRC="name1.gif" height=200 width=430><br>&nbsp;<br>&nbsp;<p>&nbsp;<a href="http://st5.yahoo.com/pomegranate">Enter the Store</a></center></body></html>

Redirecting a Home Page to another URL

 Redirecting your home page to another URL may be achieved by creating a file

 ~info/www/people/loginname/index

 with content

 File=index.html

Redirect=URL

 and running wndex within that directory. This will redirect any request to your home page to URL.

 As an example, you might want to redirect your home page to the automatically generated business card page. This may be achived by writing a file

 File=index.html

Redirect=http://www.risc.uni-linz.ac.at/people/homepage.cgi?query=loginname

 and running wndex.