Documentation for Static Build Code
This document provides information about the static build process for MoEML. All of
the documents are processed through an Apache Ant build, which calls on a number of XSLT tranformations. Below is generated documentation
regarding the Ant build and the XSLT stylesheets.
ANT Build
Documentation for the ANT build.
Tasks
clean
Documentation | This task cleans site content that may have been generated in previous runs. Each time the build is run, we delete all of the old content, and retrieve all necessary internal files as well as the the TEI-P5 RelaxNG schema. |
getSvnInfo
copySiteAncillaryFiles
Documentation | This target copies CSS, JavaScript and other static files from the static/ folder to the output site/folder. |
Called from |
|
createBinaryDocList
Documentation | This target creates lists of binary documents which are in the repository and are actually referenced in real documents on the site, so that we only end up copying documents which are needed to the output. |
Files used |
|
copyBinaryDocs
Documentation | This target copies the set of required binary documents which has been calculated in the preceding target from their original locations to the output folders in the static/site folder. |
createImageLists
Documentation | This target creates lists of images which are in the repository and are actually referenced in real documents on the site, so that we only end up copying images which are needed to the output. |
Files used |
|
copyImages
Documentation | This target copies the set of required images which has been calculated in the preceding target from their original locations to the output folders in the static/site folder. |
extractSchematron
Documentation | This target extracts the Schematron ruleset from the tei_all RelaxNG schema, so that it can be used for validation. |
Called from |
|
createXslCaptions
Documentation | This target processes the /db/data/boilerplate/boilerplate.xml file to extract all of the TEI <seg> elements which contain caption and boilerplate text definitions; it turns them into <xsl:variable> elements in an XSLT stylesheet module which is used throughout the rest of the build process. |
Files used |
|
createStowChapters
Documentation | This task splits our edition of stow_1598 into chapters for ease of processing. This must come before the creation of the original XML so we can have accurate listings in many of our generated items (like the divGen in the peer_review page or the aggregate document type listings). |
Files used |
|
Called from |
|
createOriginalXml
Documentation | This target takes the set of TEI markup files which constitutes our dataset, in /db/data, and moves them to the output site/original folder, flattening their folder structure in the process. It also applies some minimal processing to them to regularize various things, expand XIncludes, and so on. |
Files used |
|
Called from |
|
createGeneratedContent
Documentation | This target creates a large set of additional TEI XML files which are mechanically constructed from existing data, including consolidated listings of variant spellings for place names, listings files for all the document categories and so on; it also creates some non-TEI files such as JSON files for the Agas Map. It calls a set of other ant targets to accomplish individual tasks. |
Included Ant tasks |
|
createVariantSpellingsFile
Documentation | This target creates the global generated file listing variant spellings for place names. This is used for creating the Gazetteer pages, and also for components which appear on the HTML versions of individual location files. |
Files used |
|
Called from |
|
createGazetteerAndCategories
Documentation | This target creates the Gazetteer listings pages in the form of TEI XML files (later processed to create web pages), as well as the listings pages for each of the document categories in our document type taxonomy, again in the form of XML which will be later processed into HTML. |
Files used |
|
Called from |
|
createAgasJsonFiles
Documentation | This target creates the two JSON files used to power the interactive Agas Map: one is a list of categories for constructing the location menu, and the other is the list of actual locations, with info and coordinates. |
Files used |
|
Called from |
|
createGeoJsonFile
Documentation | This target creates the global generated file of all the locations in GeoJSON format. Stil in development... REQUIRES XSLT 3.0. |
Files used |
|
Called from |
|
cleanRegnalCalendar
Documentation | This target processes the spreadsheet file where all the data for the regnal calendar is maintained, to create a TEI XML file which can be processed in other ways later in the build process. |
Files used |
|
validateOriginalXml
Documentation | This target validates the content of the site/xml/original folder, which consists of the slightly-massaged XML content from the source dataset along with a collection of generated XML files created in previous build steps. These files are validated against the tei_all schema (RNG and Schematron), and also against our project RelaxNG and Schematron. |
Called from |
|
createStandaloneXml
Documentation | This target processes the files in the site/xml/original folder to create fully-expanded standalone versions of all of the documents. This involves copying referenced content from all over the rest of the collection into the target file, so that everything referenced inside it is basically included in it. These standalone files are the ones which are later processed to create the various other output formats, including XHTML5. |
Files used |
|
Called from |
|
resolveStyleSelectors
Documentation | This target processes any document which makes use of the rendition/@selector attribute to add an explicit pointer to the rendition element on any descendant element of <text> which the selector applies it to. This is a two-stage process involving the creation of temporary XSLT documents, which are applied, and then deleted. |
Files used |
|
Called from |
|
runTempXslt
Documentation | This target runs the temporary XSLT files produced in target resolveStyleSelectors. |
rationalizeStyleAttributes
Documentation | This target processes the various methods used to describe layout, appearance and other bibliographic features in primary source documents to make them more straightforward and efficient. For instance, all instances of equivalent @style attributes are converted into a single rendition element in the document header, and the @style attributes in the text replaced with pointers to the rendition element. |
Files used |
|
Called from |
|
validateStandaloneXml
Documentation | This target validates the TEI document collection in site/xml/standalone using the tei_all schema (RNG and Schematron). |
Called from |
|
createAjaxFragments
Documentation | This target creates fragmentary XHTML5 documents which can be retrieved by AJAX calls from full documents in the output website content. These fragments are not normally needed, since most documents include all the popup content they need inside themselves due to having been built from standalone versions of their XML precursors, but if a popup content block itself contains a reference to another piece of content, that second-level reference will require an AJAX call in the final site. In addition, these AJAX fragments are themselves processed to create full standalone pages, and to provide the local content for standalone pages which will show info in popup form. |
Files used |
|
Called from |
|
createStandardXml
Documentation | This target takes the Standalone version of all our XML files (in site/xml/standalone) and transforms them to create a more standard form of TEI which is more likely to be processable in other projects, by changing or removing some of the more project-specific or idiosyncratic forms of encoding we happen to use in this project. |
Files used |
|
Called from |
|
validateStandardXml
Documentation | This target validates the content of the site/xml/standard folder, which consists of the standardized XML content created from the standalone files created in previous build steps. These files are validated against the tei_all schema (RNG and Schematron). |
Called from |
|
createSimpleXml
Documentation | This target takes the Standalone version of all our XML files (in site/xml/standalone) and transforms them to create TEI Simple versions of the files, in the process discarding and normalizing a lot of the more obscure or unusual encoding from our project. |
Files used |
|
Called from |
|
validateSimpleXml
Documentation | This target takes the TEI Simple version of all our XML files (in site/xml/simple) and validates them against the current version of the TEI Simple schema. |
Called from |
|
createLiteXml
Documentation | This target takes the Standalone version of all our XML files (in site/xml/standalone) and transforms them to create TEI Lite versions of the files, in the process discarding and normalizing a lot of the more obscure or unusual encoding from our project. |
Files used |
|
Called from |
|
validateLiteXml
Documentation | This target takes the TEI Lite version of all our XML files (in site/xml/lite) and validates them against the current version of the TEI Lite schema, retrieved from the TEI release site. |
Called from |
|
createKmlDocs
Documentation | This target creates KML files from all the encoded GIS data in our location files. It works from the standalone versions of our files in site/xml/standalone, and generates results in site/xml/kml. |
Files used |
|
Called from |
|
validateKmlDocs
Documentation | We retrieve the latest KML schema from opengis.net and validate the newly created KML files using xmllint. |
createKmzFile
Documentation | We zip our KML files into a KMZ so that it can be loaded into Google Earth, if desired. We don’t use the KMZ file anywhere in the site, but it is downloadable. |
createXhtmlDocs
Documentation | This target generates most of the collection of XHTML5 documents comprising the output website from the standalone TEI documents in /site/xml/standalone. |
Files used |
|
Called from |
|
copyAgasMapTiles
Documentation | This target takes existing set of tiled images comprising the Agas Map and copies them to the output location in site/zoomify. |
createAgasMapXhtml
Documentation | This target creates the Agas Map XHTML5 interface page based on OpenLayers. |
Files used |
|
validateXhtmlDocs
Documentation | This target validates the complete collection of XHTML5 documents comprising the output website, using the VNU validator (the same validator used by the W3C’s online validation service). We have to start by copying them to a temporary location, otherwise the vnu validator will try to validate all sorts of other files as well. |
Called from |
|
createRssFeeds
Documentation | This target creates one or more RSS feed documents in RSS 2.0 format for MoEML content. Currently there are two: blogs.rss and news.rss. |
Files used |
|
validateRssFeeds
Documentation | We validate our RSS feeds using xmllint with the RSS 2.0 XSD schema. |
validateXml
Documentation | This target is intended for developers to use after using a target, like subset or quick, that does not perform validation, but you would like to validate the XML products before committing your documents. Note that this validates the entire set of products, so it assumes that the framework and the products from the build are intact. This should be run before and after running a subset or quick target to test whether or not local changes are valid. |
Included Ant tasks |
|
subset
Documentation | This target is intended for developers to use when they wish to pass a single document or a small subset through the whole process, so they don’t have to wait for the entire build to complete. It assumes that the framework of the output products is already in place; it does no cleanup; and it would normally be run with -DdocsToBuild=ABCH1,STMA12 etc. |
Included Ant tasks |
|
quick
Documentation | This target is intended for developers to use when they wish to pass a single document or a small subset through the HTML generation sequence. It works the same way as the subset target except that it dispenses with the generation of Standard Simple, Lite and KML versions. It would normally be run with -DdocsToBuild=ABCH1,STMA12 etc. |
Included Ant tasks |
|
all
Documentation | This is the default complete static build process target used by the Jenkins build process. If you are building locally, run this at least once to create a full output document set, and then you can run smaller targets as necessary to process smaller subsets of documents. This one removes all existing content first, and it takes a long while to complete (45 minutes to an hour, depending on the system it’s running on). |
Included Ant tasks |
|
XSLT Documents
Documentation for various XSLT documents called from the ANT build.
locations_to_geojson.xsl
Documentation |
|
Includes |
|
Called from |
|
list_binary_docs_used_master.xsl
Documentation |
|
Called from |
|
list_images_used_master.xsl
Documentation |
|
Called from |
|
xml_stow_chapter_master.xsl
Documentation |
|
Includes |
|
Called from |
|
xml_original_master.xsl
Documentation |
|
Includes |
|
Called from |
|
xml_variants_master.xsl
Documentation |
|
Includes |
|
Called from |
|
xml_create_generated_master.xsl
Documentation |
|
Includes |
|
Called from |
|
json_agas_master.xsl
Documentation |
|
Includes |
|
Called from |
|
fods_expand_master.xsl
Documentation |
|
Called from |
|
xml_standalone_master.xsl
Documentation |
|
Includes |
|
Called from |
|
xml_resolve_style_selectors_master.xsl
Documentation |
|
Includes |
|
Called from |
|
xml_normalize_styles_master.xsl
Documentation |
|
Includes |
|
Called from |
|
ajax_fragments_master.xsl
Documentation |
|
Includes |
|
Called from |
|
xml_standard_master.xsl
Documentation |
|
Called from |
|
xml_simple_master.xsl
Documentation |
|
Called from |
|
xml_lite_master.xsl
Documentation |
|
Includes |
|
Called from |
|
kml_master.xsl
Documentation |
|
Includes |
|
Called from |
|
xhtml_docs_master.xsl
Documentation |
|
Includes |
|
Called from |
|
xhtml_agas_master.xsl
Documentation | |
Includes |
|
Called from |
|
rss_feeds_master.xsl
Documentation | |
Includes |
|
Called from |
|
globals_module.xsl
Documentation |
|
Included by |
|
xml_flatten_module.xsl
Documentation |
|
Included by |
|
xml_utilities_module.xsl
Documentation |
|
Included by |
|
xml_category_lists_module.xsl
Documentation |
|
Included by |
|
xml_id_listing_module.xsl
Documentation |
|
Included by |
|
xml_regnal_calendar_module.xsl
Documentation | |
Included by |
|
xml_stats_module.xsl
Documentation | |
Included by |
|
xml_static_documentation_module.xsl
Documentation |
|
Included by |
|
xml_praxis_index_module.xsl
Documentation |
|
Included by |
|
xml_respTaxonomy_module.xsl
Documentation | |
Included by |
|
geojson_functions_module.xsl
Documentation |
|
Included by |
|
xml_dates_module.xsl
Documentation |
|
Includes |
|
Included by |
|
xml_citation_module.xsl
Documentation |
|
Included by |
|
xhtml_templates_module.xsl
Documentation |
|
Includes |
|
Included by |
|
xhtml_functions_module.xsl
Documentation |
|
Includes |
|
Included by |
|
date_functions_module.xsl
Documentation |
|
Included by |
|
xhtml_appendix_module.xsl
Documentation |
|
Included by |
|
Cite this page
MLA citation
Documentation for Static Build Code.The Map of Early Modern London, edited by , U of Victoria, 20 Jun. 2018, mapoflondon.uvic.ca/static_code_documentation.htm.
Chicago citation
Documentation for Static Build Code.The Map of Early Modern London. Ed. . Victoria: University of Victoria. Accessed June 20, 2018. http://mapoflondon.uvic.ca/static_code_documentation.htm.
APA citation
The Map of Early Modern London. Victoria: University of Victoria. Retrieved from http://mapoflondon.uvic.ca/static_code_documentation.htm.
. 2018. Documentation for Static Build Code. In (Ed), RIS file (for RefMan, EndNote etc.)
Provider: University of Victoria Database: The Map of Early Modern London Content: text/plain; charset="utf-8" TY - ELEC A1 - The MoEML Team ED - Jenstad, Janelle T1 - Documentation for Static Build Code T2 - The Map of Early Modern London PY - 2018 DA - 2018/06/20 CY - Victoria PB - University of Victoria LA - English UR - http://mapoflondon.uvic.ca/static_code_documentation.htm UR - http://mapoflondon.uvic.ca/xml/standalone/static_code_documentation.xml ER -
RefWorks
RT Web Page SR Electronic(1) A1 The MoEML Team A6 Jenstad, Janelle T1 Documentation for Static Build Code T2 The Map of Early Modern London WP 2018 FD 2018/06/20 RD 2018/06/20 PP Victoria PB University of Victoria LA English OL English LK http://mapoflondon.uvic.ca/static_code_documentation.htm
TEI citation
<bibl type="mla"><author><name ref="#TEAM1" type="org">The MoEML Team</name></author>. <title level="a">Documentation for Static Build Code</title>. <title level="m">The Map of Early Modern London</title>, edited by <editor><name ref="#JENS1"><forename>Janelle</forename> <surname>Jenstad</surname></name></editor>, <publisher>U of Victoria</publisher>, <date when="2018-06-20">20 Jun. 2018</date>, <ref target="http://mapoflondon.uvic.ca/static_code_documentation.htm">mapoflondon.uvic.ca/static_code_documentation.htm</ref>.</bibl>Personography
-
Janelle Jenstad
JJ
Janelle Jenstad, associate professor in the department of English at the University of Victoria, is the general editor and coordinator of The Map of Early Modern London. She is also the assistant coordinating editor of Internet Shakespeare Editions. She has taught at Queen’s University, the Summer Academy at the Stratford Festival, the University of Windsor, and the University of Victoria. Her articles have appeared in the Journal of Medieval and Early Modern Studies, Early Modern Literary Studies, Elizabethan Theatre, Shakespeare Bulletin: A Journal of Performance Criticism, and The Silver Society Journal. Her book chapters have appeared (or will appear) in Performing Maternity in Early Modern England (Ashgate, 2007), Approaches to Teaching Othello (Modern Language Association, 2005), Shakespeare, Language and the Stage, The Fifth Wall: Approaches to Shakespeare from Criticism, Performance and Theatre Studies (Arden/Thomson Learning, 2005), Institutional Culture in Early Modern Society (Brill, 2004), New Directions in the Geohumanities: Art, Text, and History at the Edge of Place (Routledge, 2011), and Teaching Early Modern English Literature from the Archives (MLA, forthcoming). She is currently working on an edition of The Merchant of Venice for ISE and Broadview P. She lectures regularly on London studies, digital humanities, and on Shakespeare in performance.Roles played in the project
-
Author
-
Author of Abstract
-
Author of Stub
-
Author of Term Descriptions
-
Author of Textual Introduction
-
Compiler
-
Conceptor
-
Copy Editor
-
Course Instructor
-
Course Supervisor
-
Course supervisor
-
Data Manager
-
Editor
-
Encoder
-
Encoder (Structure and Toponyms)
-
Final Markup Editor
-
GIS Specialist
-
Geographic Information Specialist
-
Geographic Information Specialist (Modern)
-
Geographical Information Specialist
-
JCURA Co-Supervisor
-
Main Transcriber
-
Markup Editor
-
Metadata Co-Architect
-
MoEML Transcriber
-
Name Encoder
-
Peer Reviewer
-
Primary Author
-
Project Director
-
Proofreader
-
Researcher
-
Reviser
-
Second Author
-
Second Encoder
-
Toponymist
-
Transcriber
-
Transcription Proofreader
-
Vetter
Contributions by this author
Janelle Jenstad is a member of the following organizations and/or groups:
Janelle Jenstad is mentioned in the following documents:
-
-
Tye Landels-Gruenewald
TLG
Research assistant, 2013-15, and data manager, 2015 to present. Tye completed his undergraduate honours degree in English at the University of Victoria in 2015.Roles played in the project
-
Author
-
Author of Term Descriptions
-
CSS Editor
-
Compiler
-
Conceptor
-
Copy Editor
-
Data Manager
-
Editor
-
Encoder
-
Geographic Information Specialist
-
Markup Editor
-
Metadata Architect
-
MoEML Researcher
-
Name Encoder
-
Proofreader
-
Researcher
-
Toponymist
-
Transcriber
Contributions by this author
Tye Landels-Gruenewald is a member of the following organizations and/or groups:
Tye Landels-Gruenewald is mentioned in the following documents:
-
-
Kim McLean-Fiander
KMF
Director of Pedagogy and Outreach, 2015–present; Associate Project Director, 2015–present; Assistant Project Director, 2013-2014; MoEML Research Fellow, 2013. Kim McLean-Fiander comes to The Map of Early Modern London from the Cultures of Knowledge digital humanities project at the University of Oxford, where she was the editor of Early Modern Letters Online, an open-access union catalogue and editorial interface for correspondence from the sixteenth to eighteenth centuries. She is currently Co-Director of a sister project to EMLO called Women’s Early Modern Letters Online (WEMLO). In the past, she held an internship with the curator of manuscripts at the Folger Shakespeare Library, completed a doctorate at Oxford on paratext and early modern women writers, and worked a number of years for the Bodleian Libraries and as a freelance editor. She has a passion for rare books and manuscripts as social and material artifacts, and is interested in the development of digital resources that will improve access to these materials while ensuring their ongoing preservation and conservation. An avid traveler, Kim has always loved both London and maps, and so is particularly delighted to be able to bring her early modern scholarly expertise to bear on the MoEML project.Roles played in the project
-
Associate Project Director
-
Author
-
Author of MoEML Introduction
-
CSS Editor
-
Compiler
-
Contributor
-
Copy Editor
-
Data Contributor
-
Data Manager
-
Director of Pedagogy and Outreach
-
Editor
-
Encoder
-
Encoder (People)
-
Geographic Information Specialist
-
JCURA Co-Supervisor
-
Managing Editor
-
Markup Editor
-
Metadata Architect
-
Metadata Co-Architect
-
MoEML Research Fellow
-
MoEML Transcriber
-
Proofreader
-
Researcher
-
Second Author
-
Secondary Author
-
Secondary Editor
-
Toponymist
-
Vetter
Contributions by this author
Kim McLean-Fiander is a member of the following organizations and/or groups:
Kim McLean-Fiander is mentioned in the following documents:
-
-
Joey Takeda
JT
Programmer, 2018-present; Junior Programmer, 2015 to 2017; Research Assistant, 2014 to 2017. Joey Takeda is an MA student at the University of British Columbia in the Department of English (Science and Technology research stream). He completed his BA honours in English (with a minor in Women’s Studies) at the University of Victoria in 2016. His primary research interests include diasporic and indigenous Canadian and American literature, critical theory, cultural studies, and the digital humanities.Roles played in the project
-
Author
-
Author of Abstract
-
Author of Stub
-
CSS Editor
-
Compiler
-
Conceptor
-
Copy Editor
-
Data Manager
-
Date Encoder
-
Editor
-
Encoder
-
Encoder (Bibliography)
-
Geographic Information Specialist
-
Geographic Information Specialist (Agas)
-
Junior Programmer
-
Markup Editor
-
Metadata Co-Architect
-
MoEML Encoder
-
MoEML Transcriber
-
Programmer
-
Proofreader
-
Researcher
-
Second Author
-
Toponymist
-
Transcriber
-
Transcription Editor
Contributions by this author
Joey Takeda is a member of the following organizations and/or groups:
Joey Takeda is mentioned in the following documents:
-
-
Martin D. Holmes
MDH
Programmer at the University of Victoria Humanities Computing and Media Centre (HCMC). Martin ported the MOL project from its original PHP incarnation to a pure eXist database implementation in the fall of 2011. Since then, he has been lead programmer on the project and has also been responsible for maintaining the project schemas. He was a co-applicant on MoEML’s 2012 SSHRC Insight Grant.Roles played in the project
-
Author
-
Author of abstract
-
Conceptor
-
Encoder
-
Name Encoder
-
Post-conversion and Markup Editor
-
Programmer
-
Proofreader
-
Researcher
Contributions by this author
Martin D. Holmes is a member of the following organizations and/or groups:
Martin D. Holmes is mentioned in the following documents:
-
Organizations
-
The MoEML Team
These are all MoEML team members since 1999 to present. To see the current members and structure of our team, seeTeam.
-
Alumni
-
Former Student Contributors
We’d also like to acknowledge students who contributed to MoEML’s intranet predecessor at the University of Windsor between 1999 and 2003. When we redeveloped MoEML for the Internet in 2006, we were not able to include all of the student projects that had been written for courses in Shakespeare, Renaissance Drama, and/or Writing Hypertext. Nonetheless, these students contributed materially to the conceptual development of the project.
Roles played in the project
-
Author
-
CSS Editors
-
Data Manager
-
Encoders
-
Markup Editors
-
Researcher
-
Second Author
-
Transcribers
Contributions by this author