Technical Documentation

The software implemented for the Ahiqar project is realized with several components, which are mainly the following:

Website, Backend, TIDO Viewer and Collation

(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)

This is the very fist implementation of the TextAPI - a generic API specification to deliver all kinds of texts and related material like images, serializations and annotations. A back end made with eXist-db is meant to provide the API, 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 with TextGrid.

UML diagram

Git Repository

All the code used for this project is available at our GitLab: https://gitlab.gwdg.de/subugoe/ahiqar (opens new window)

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. There is no further validation instance used.

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 backend application (git repo (opens new window), Expath Package (opens new window)) as well as the instructions for the REST API created with RESTXQ (opens new window).

Interfaces Available to End-Users

Most of the interfaces available to end-users are documented with OpenAPI: https://ahiqar.uni-goettingen.de/openapi/ (opens new window)

In addition, particulary where a desciption is missing at the OpenAPI descriptor file, more extensive documentation can be found via the following URLs:

A restricted version of eXist-db`s REST interface is available via https://ahiqar.uni-goettingen.de/rest/ (opens new window).

Website

This website, offering static content and the user interface to search only, is prepared with Vue.js, VuePress and Vuetify.
Pages are written in Markdown.

TIDO Viewer

The front end counterpart to the TextAPI is the TIDO Viewer (opens new window). It is installed on the server aside the website offering two distinct endpoints: one configured for the Syriac texts and one for the Arabic and Karshuni documents. In its installation process the generic version is not altered in any way, but a project specific configuration is added to adjust for the needs of this edition. TIDO Viewer code is available at our GitLab: https://gitlab.gwdg.de/subugoe/emo/tido) (opens new window)

Collation

Using CollateX (opens new window) with a tokenized version of the manuscripts (opens new window) the output presented at https://ahiqar.uni-goettingen.de/website/collation.html (opens new window) is prepared.