This system is intended to take the digitized versions of Mary Ann Evans (AKA George Eliot)'s journals and make them available in a beautiful and accessible website.
The Journals are stored and maintained in an Omeka Classic database, and retrieved on page-load through Omeka Classic's REST API.
The code is hosted on GitHub at https://github.com/GeorgeEliotArchive/Journals
- The underlying data should be maintainable by non-technical curators.
- The implementation should be as frugal as possible.
- Computationally efficient.
- Use free solutions where possible.
- The implementation should be as simple as possible.
- The software will be maintained by students, with high churn.
- Ease of onboarding is essential.
- Documentation. (Hi! :D)
- Simplicity.
There are, broadly speaking, 3 types of file in this project:
- Index Files: The landing page of the system describes the journals,
and provides a starting point from which to navigate to the rest of
the system. This is mostly contained to
index.html
and its associated CSS and JavaScript files. - Journal Files:
- Every journal has its own eponymous PHP file.
search.php
renders search results using the same code as a multi-year journal.
- Component Files: Segments of php common to several journals are
decomposed into components and saved in their own files, which can
then be included in the Journal Files during page load using PHP's
require
.
The two notable exceptions are functions.php
, which contains a library
of functions used by the Journal Files, and search.php
, which is a
self-contained search page for the rest of the site.
The goal is to deploy the code onto georgeeliotarchive.org
by simply
uploading the files into an appropriate subdirectory on Reclaim. In
this environment it's unclear how dependancies could be installed, so
development is restricted to vanilla PHP 8.
There are several remaining pain points in the visual design of the
site. All of these should be resolvable by tweaking the two CSS files
index.css
and journal.css
.
Unfortunately, loading a journal page or any search result typically takes around 20 seconds. The overwhelming majority of this time is spent waiting on Omeka, so any fixes would have to involve either caching API requests or somehow integrating more directly with Omeka Classic's PHP API (if the PHP API is even part of Omeka Classic, which it may not be).