Technical Documentation
The software implemented for the Ahiqar project is realized with several components, which are mainly the following:
- website
- back end (all ETL processes / offering TextAPI, AnnotationAPI and SearchAPI)
- TIDO Viewer (a viewer meant to display digital editions - and everything else delivered via TextAPI) and
- collation
This is the very fist implementation of the TextAPI 1.4.0 - a generic API specification to deliver all kinds of texts and related material like images, serializations and annotations. Since the beginning of the project, TextAPI has been developed further and is now available as a version 2.0.0. Ahiqar might migrate to TextAPI 2.0.0 and TIDO 5.0.0 at some point in the future.
A back end made with eXist-db is meant to provide the TextAPI. A client application within the browser, TIDO, interacts with the TextAPI to present all the data in a well-known order (e.g. synoptic view with image and a transcription converted to HTML).
Beforehand the data is prepared in TextGrid.
Git Repository
All the code used for this project is available at our GitLab: https://gitlab.gwdg.de/subugoe/ahiqar
GitLab CI
Everything is assembled, tested and deployed with the help of GitLab CI. Please see the .gitlab-ci.yaml files in all the repositories.
Editing TEI
For editing, storing and exporting the TEI documents the virtual research environment TextGrid is used. TextGrid offers all facilities to encode, validate, interlink, store and export the data.
Schema
Based on the ODD file a conversion to RNG is used for validating documents during the process of encoding utilizing oXygen XML editor as part of the TextGrid Laboratory. A complementary Schematron file ensures data quality.
Export Interfaces
Communicating with TextGrid's REST interfaces an XQuery client is available to transfer data to eXist-db. The process can be triggered from within the TextGrid Laboratory (requires the “SADE” plug-in) or from eXist-db (manually or programmatically).
eXist-db
The main component for the backend implementation is eXist-db offering a performant XQuery processor. ETL-processes are bound together in our back end application (git repo, Expath Package) as well as the instructions for the REST API created with RESTXQ.
Interfaces Available to End-Users
Documentation about the interfaces can be found at:
A restricted version of eXist-db's REST interface is available via https://api.ahiqar.uni-goettingen.de/rest/.
Website
This website, offering static content and the user interface to search only, is prepared with Vue.js and VuePress2.
Pages are written in Markdown.
TIDO Viewer
The front end counterpart to the TextAPI is the TIDO Viewer. It is embedded into the website to display the actual digital edition. TIDO Viewer's code is available at GitHub: https://github.com/subugoe/tido/
Collation
Using CollateX with a tokenized version of the manuscripts the output presented at Meta Edition > Collation is prepared.
Relation to the Generic Digital Edition Stack (SUB Göttingen)
The Ahiqar software architecture is based on the generic digital edition stack developed at SUB Göttingen. Ahiqar represents a project-specific instantiation of the first version of this infrastructure. Development within the Ahiqar project has contributed to the further evolution of the generic stack, with selected components and improvements being integrated back into the shared infrastructure to ensure long-term sustainability and cross-project reuse. The generic stack is maintained as a reusable infrastructure framework for digital editions at SUB Göttingen and can be adopted and extended in other project contexts. For further information or potential collaboration, please contact the development team.