Manuscripta - The editor from past to future Patrik Granholm , Olsson, Leif-Jöran 2019-09-05 Zentrum für Informationsmodellierung - Austrian Centre for Digital Humanities, Karl-Franzens-Universität Graz Austria Zentrum für Informationsmodellierung - Austrian Centre for Digital Humanities, Karl-Franzens-Universität Graz Austria GAMS - Geisteswissenschaftliches Asset Management System Creative Commons BY-NC 4.0 2019 Graz o:tei2019.148

Converted from a Word document

Papers tei2019

en medieval manuscripts cataloguing eXist-db ReactJS reusable components 2019-09-05T08:26:14Z Patrik Granholm
Manuscripta – The editor from past to future
Abstract

In this paper we will introduce a web-based editor for TEI-encoded manuscript descriptions in Manuscripta – A Digital Catalogue of Manuscripts in Sweden (https://www.manuscripta.se). Cataloguing is done using an interface which does not require any knowledge of TEI and therefore simplifies and reduces the time required for the cataloguing process. Previously, it has been necessary to use an XML editor which had a steep learning curve and was time-consuming as well as error prone, even with schema validation and detailed cataloguing guidelines.

The interface in the editor is divided into two windows. The left window consists of forms, arranged in tabs according to the structure of the manuscript description: Header, Binding, Provenance, Bibliography, Facsimile, and Codicological Unit(s). These tabbed forms are further divided into tabs, in order to minimize the scrolling needed to reach a specific section in the description. The right window consists of two views, a preview and an image viewer, which can be switched via tabs. The preview shows how the description will look when published and the view is updated in real time when the description is changed. The image viewer shows the digitised manuscript, served with the IIIF API:s using an IIPImage server and Mirador Image viewer. It is also possible to create and edit an IIIF manifest file in the editor. This is done by firstly importing a comma separated file containing filenames, page descriptions, height, and width. The editor then creates a facsimile element where each image has a surface element with graphic and desc elements. It is possible to rearrange both the sequence of the images and edit the page descriptions. It is also possible to bulk rename the descriptions by page or folio numbers. The facsimile data, together with a selection of data from the manuscript description is then used to create the IIIF manifest.

Some parts of the manuscript descriptions consist of running text, e.g. provenance. It is possible to tag words and phrases by selecting the text and then right clicking to get a contextual menu which lists the available elements. The persName, orgName, placeName, and bibl elements can furthermore be linked to authority files, which, in turn, can be edited, or created, in the editor.

The schema validation is implemented to be tied to contexts. Each component can have its own context as well as whole documents for each of the different types of documents, e.g. authority documents can have their own contexts. The validation is performed on storing and any validation error is communicated back to the client where you can click on the error description to go to the affected element in the right context.

The Manuscripta-editor is an application package (webapp) on top of eXist-db, an XML database which offers advanced full stack app development with indexing and search functionality, and built-in functions for converting TEI to HTML. In the implementation we use ReactJS, the declarative JavaScript framework, for creating reusable View components. By getting closer to schema-driven design of UI components the cataloguing editor’s work is eased if the level of detail is changed in the schema, which would mean configuration rather than programming. With ReactJS’ JSX, the XML-ish syntax, it is easy for an editor to combine already generated components if needed for a more complex component. An additional benefit with ReactJS is that there is only a directed one-way dataflow (parent>child) in the components which makes debugging much easier.

While implementations like the TEI Publisher is covering the TEI Processing Model (TEI-PM) with complex text transformations for outputting different media types, navigation, pagination, search, and facsimile display by utilising web components, the Manuscripta-editor also covers other workflow jobs like authority database lookups, advanced templating, editor sign-off, and Schematron rule validation, in addition to schema-based validation. Sharing many goals, like the TEI Publisher, the Manuscripta editor is all about standards, modularity, reusability, and sustainability!