The Manchester & Lancashire Family History Society bookshop web pages are generated automatically from the Society's Bookshop and Mail Order Database. The database is constructed using Microsoft Access97 and records for each publication:
In addition, each publication is classified by Heading (the web page upon which it will ultimately appear) and Sub-heading (the heading under which it will appear on that page). A separate Access table holds for each Heading the descriptive text (if any) which appears at the head of the page beneath the Heading. This file also holds the name of the HTML file into which the data will be written for publication on the web site. Similarly, for each Sub-heading a table holds for each Sub-heading the descriptive text (if any) which appears on the page under the Sub-heading and before the list of titles.
An Access procedure can be invoked at any time to generate a separate HTML file for each Heading. These files are ready for publication without any further editing and are written to floppy disk (the mail order database is on a PC separate from the one used for internet access - in due course the two PCs will be networked). The production of each page consists of three components. First the header information is created to include the HTML page title and META tags (which will assist web search engines in indexing the pages) and puts in place the page Heading and descriptive text. Each Sub-heading in turn is written to the file followed by a definition list into which the details for the publications in that Sub-section are written with the number, title, price and weight details as definition terms and the description (if any) as a definition description. A bookmark is inserted alongside each publication's entry, using the Stock Code Number as the bookmark name. This is used by the subject index (see below). This is repeated for each Sub-section in turn. Finally, the page footer is written to close the page. This includes a date stamp taken from the PC system clock to show the date the page was updated from the database (this minimises the uncertainty which might be introduced between obtaining the data and the page being published).
The arrangement of the publications tends to be broadly by publisher but with over 1000 titles it can be difficult to find all titles relevant to the user's interest. To help users to find the books likely to be of interest the system generates a subject index on a separate page. A separate Access procedure builds a table listing publications in keyword order. From this a page is constructed listing the keywords in alphabetical order and each followed by a list of associated titles as an unordered list. Each title is constructed as a hyperlink to the web page on which the title appears and within this page to the bookmark representing the stock code number. A simple A-Z index at the head of the subject index page speeds navigation to the required subject. The resulting page is quite large (around 100kBytes) but the download time involved is quickly recouped by savings in the time taken to locate titles of interest.
Using this approach, the Mail Order Manager remains in total control of the content of the pages and of the update process (which is reduced to clicking a button on screen).
The same database also provides the basis for our printed mail order catalogue. A similar Access procedure is used to write the contents of the database into a Rich Text Format wordprocessor file. The procedure pre-formats the output ready to produce A4 artwork for publication. Some manual adjustment is necessary to optimise the position of page breaks and to insert other material (such as the table of postal charges) but the considerable burden of checking which is required under the present system (basically editing the wordprocessor file for the previous catalogue) is avoided since the typesetter can be confident that the document contains all of the titles on offer and that the prices and weights are correct. This should allow us to update more frequently than has previously been possible.
[Amended 26 April 2001 - John Marsden]