Project Endings, a collaboration between digital humanists and librarians, is devising principles (https://raw.githubusercontent.com/projectEndings/Endings/master/principles.txt) for building DH projects in ways that ensure that they remain viable, functional, and archivable into the distant future. Endings principles cover five components of project design:
Previous Endings work has focused on Data and Products (Holmes 2017; Arneil & Holmes 2017) and diagnostic tools for monitoring project progress (Holmes & Takeda 2017 and 2018). This presentation will deal with the mechanics of Processing, focusing in particular on building large static sites which are resilient because they have no requirement for server-side technology at all. We will use the Map of Early Modern London project as a case study.
Comprised of 2,000 TEI source files and 15,000 distinct entities, MoEML is a densely interlinked project that requires a sophisticated build process to create its website structure, the historical Agas Map interface, editions of primary source documents, various indexes and gazetteers, and encyclopedia entries. As a flagship Endings project, MoEML has been a testbed for the scalability of the Endings principles. The MoEML site has 9,000 HTML files, 26,000 XML files, and over 5,000 images, and is around 2GB in size. Our presentation will cover a number of key techniques in the build process, including:
- Validation, validation, validation: XML, HTML, CSS, and TEI egXML example code is validated at every stage of the build process.
- Diagnostics to check all links and targets.
- Unique query-free URLs for all entities
- Generating the gazetteer, which includes every variant spelling of every placename.
- Pre-generating HTML fragments for AJAX retrieval for every entity.
- Processing and rationalizing <rendition> elements and @style attributes.
- Using document type taxonomies to build sitemaps and breadcrumb trails.
- Filtering of images to include only those actually used.