Home | Time | People | Place | Subject | Culture | Institution | myCollection

Home About

About Cornucopia

This is Version 3 of Cornucopia.  For an account of the history of the project see Chris Turner's article in Ariadne Issue 40.

This new Cornucopia web site is built using the same technology and structure, i.e. the RSLP Collection Description Scherma, as the Crossroads West Midlands project.

The original design required an online collections description database solution that could be remotely updated by more than one person, using only a common web browser such as Netscape or MSIE and no extra software to install.

We based the development on simple tools:Linux, Apache web server, MySQL database and PHP scripting language.This toolset has become known as LAMP (see onlamp.com) and is freely available to download and use. Whilst other technologies such as Java could equally be used, we have found that PHP has the lowest technical barriers to installation and use: it’s also available on Windows in a ‘standalone’ development environment. We have, where possible, tried to hide the language implementation of the application by using Apache’s mod_rewrite.This allows us to present core parts of the web site without showing .php (or .asp, .exe etc) extensions so that URLs should remain consistent even if areas of underlying technology need to be changed in the future.

The design of the Cornucopia database separates entities in the RSLP model, such as collection descriptions, related people, times and places into a normalised relational database.So, for example, place data is entered once and can be related to many CLDs. Some tables have been expanded to offer a richer set of data, agent contains name (agentName) as well as suffix, prefix, birth and death dates etc.Having normalised data helps maintain integrity of the records, and goes some way in preventing duplication.

Creating a normalised database also allows the presentation of a browse interface to the web site visitors. A range of places can be shown, which lead to collection descriptions, which in turn have links to related people or times.

This schema is shown in this PDF document

There is a significant disadvantage to normalising data into many separate tables: speed of global searches.The Crossroads dataset only covers the West Midlands, and so searching across a few thousand records in multiple tables is reasonably quick.When the system was tested with the possible many tens of thousands of Cornucopia records it became obvious that a global search across many tables (by performing multiple joins in the SQL statements) was going to slow down.The solution to this problem was to create a single index of data contained in all the tables.This is updated for the whole dataset regularly, and for each CLD when it is modified. The indexing script builds each collection description and scans through all the terms and descriptive text, building a dictionary of words (and their metaphone codes) as it goes.A further table contains the map between words and CLDs, and it is this that is globally searched. The results are dramatic: a search of ten thousand records was taking 5-10 second to return results. The system has now been tested to return results on 1.2 million records in under a second after running the indexing script. No special tuning of the environment, PHP or MySQL needed.

Cornucopia also has built into it a basic content management system that allows MLA to edit the ancillary pages for ‘help’ and ‘about’ information. This content is stored within the database, and we present a simple browser based What-You-See-Is-What-You-Get editor to make the update tasks easier.

Support for consultants entering collection description data is vital; especially as data entry is through the various available browsers. Our final addition to the original Crossroads design has been an interactive support forum built into the Cornucopia application. Messages added to it are sent to us, tracked and actioned but are also available to read and reply to by all the other consultants with a view to fostering a ‘community’. Such messages are already helping us improve both the data entry and public facing areas of the web site.

Further technical details can be obtained from James Grimster, Orangeleaf Systems Ltd www.orangeleaf.com


Site design by Orangeleaf Systems

This site is designed so that its contents are accessible to every type of browser. Your browser, however, may not support basic Web standards, preventing the display of our site's design details. You are encouraged to upgrade to a more standards compliant browser.