Building the index - technology

block-system-main

For maximum productivity and ease of maintenance, the Alexander Index is created by uploading .csv text files that are created in MS Excel (or compatible software).

Using MS Excel makes it easy to carry out visual scans of entries before upload, to use find-and-replace to change entries in bulk, to copy and paste between files or entries within a file - and so on.  In addition, files can easily be exported and imported between MS Word (or other word processor) and the spreadsheet software, allowing a further range of editing techniques to be used.

Most of the index entries started of in .pdf or MS word files - for example, files of index entries supplied by Jean Fischer at Mouritz from the books published by him.  To have entered these manually a screen at a time would have been a mammoth effort.

Upload options

The upload process includes the obvious facilities to create new entries or modify or delete existing entries.

Download

There is a corresponding download function which simply outputs a .csv file containing the entire index in the same format as the upload file.  This (or more normally particular parts of it) can be used as a basis to create further upload files (eg to modify existing entries).

Administration

For quality control and to avoid possible conflicts, all uploads and downloads are handled by the Website Manager.

Markdown feature

Upload and download files are in plain text; but it is possible to upload bold and italics using "markdown". 

A string enclosed in single asterisks is converted to italics when uploaded to the index. A string enclosed in double asterisks is converted to bold.  The download process does the reverse conversion.

Examples:

  • *Man's Supreme Inheritance* <-> Man's Supreme Inheritance
  • 29, 34, **95-96**, 144 <-> 29, 34, 95-96, 144

Comma delimited files

Upload files must be comma delimited text with the fields in the order specified below.

Using MS Excel, when the CSV file  is created, if a string contains a comma,  then the string is enclosed in double quotes.

If a string contains double quotes then it is also  enclosed in double quotes and the double quote in the string becomes a pair of double quotes. 

The following bullet points show sample records from an upload file (to the left of <-->) showing the text of the index entry thus produced (to the right).

  • ,2,12,,"""aardvark testing double quote""",,,,, <--> "aardvark testing double quote"
  • ,2,12,,'aadrvark testing single quote',,,,, <-->  'aadrvark testing single quote'
  • ,2,12,,"aardvark  testing  mixed quotes ""man's supreme inheritance""",,,,, "<--> aardvark  testing  mixed quotes "man's supreme inheritance"

So long as MS Excel is being used the appropriate transformations should happen automatically.  It is important to be aware of these rules so as not to "correct" data in a .csv file (eg using Notepad or MS Word).

Upload file fields

Upload (and download) files contain the following fields:

Node ID

  • numeric
  • if blank, a new node (= index entry record) will be created;
  • if it contains a valid node-id that record will be updated.
  • Every record in a download file will include the appropriate Node ID

User ID

  • Numeric, required
  • identifier of the ASO website user account for the user generating the index-entry
  • supplied by the Website Manager

LibText ID

  • Numeric, required
  • Node ID of the text to which the Index Entry relates.
  • Supplied by the Website Manager

File ID

  • Text
  • Should match the file name of the upload file
  • Allows trouble-shooting and provides an audit trail of where  an entry has come from.

Main Entry

  • Text
  • Main index entry

Sub Entry

  • Text
  • Index subentry

Sub Sub Entry

  • Text
  • Index subsubentry

Pages

  • Text
  • The locators (=page numbers) for the given index entry

Notes

  • Text
  • Free-form notes relating to the index entry

Delete (use with caution)

  • Text
  • Should be blank or contain the word delete (case-sensitive)
  • The Node ID column should specify the entry to be deleted