Further developments on OxGarage



Anne Ferger, Daniel Röwenstrunk, Peter Stadler | Universität Paderborn

Slides: anneferger.github.io/MEITEIGarage/community_meeting/

About OxGarage

Documentation

OxGarage is a RESTful webservice to manage transformations between a variety of text formats.

The code base of OxGarage is over 10 years old and was continuously adapted to various use cases.

We will have a look at current use cases of OxGarage and current developments on the code base in the scope of MEI transformations and NFDI4Culture.

Examples of current use cases of OxGarage

The usage scenarios of OxGarage are from diverse (research) communities.

The following examples emphasize the need for refactoring the established code base for easier collaboration and removing vulnerabilities.

DH Convalidator

Roma

back-end of jewish-history-online.net

Music Performance Markup MPM

MEIGarage

Current developments

Main Goal

Developing MEIGarage next to the (TEI-)OxGarage with further functionality and less vulnerabilities. Using the same core (concept and code), while also allowing for updates or bugfixes to the core and additional community-specific Garages.

Starting Point

  • TEIC/oxgarage and Edirom/oxgarage (MEI, fork of OxGarage, branch ‘meigarage’)
  • forking of OxGarage was not a perfect solution: problems with harmonizing core changes and new functionality, maintenance

Updated MEIGarage

Applied Changes

  • Modularization using GitHub packages
  • Updated Java version
  • Updated Tomcat version
  • Automated supply of mei/tei source files in Docker image

Updated TEIGarage

Next steps

Further Goals

  • sustainability of the OxGarage software
  • further functionality that can be used by other projects as well
  • other communities and use cases

Meetings & Feedback

  • More OxGarage community meetings?
  • Pressing issues?
  • Questions?

Links

TEIGarage
MEIGarage

Contact

Anne Ferger

anne.ferger@uni-paderborn.de

Modularization

Modularization

  • modularization of code repo
  • extracted different parts/modules to their own git repositories while keeping the (git) history of only those parts
  • storing artifacts (jars) of the modules in GitHub Packages directly
  • allowing for merging of bug fixing and further functionality, but not configuration

➞ facilitated development on specific parts only

Structure

Location of the different modules

  • Git repositories are located at the TEIC or Edirom Github organizations respectively
  • MEIGarage and TEIGarage code structure

Simplification of configuration project

OxGarage to TEIGarage and MEIGarage

  • each different use case of the OxGarage needs its own configuration project
  • to distinguish from OxGarage: new names TEIGarage and MEIGarage
  • Docker images for each of the projects, GUI/webclient can be added
  • adaption to other use cases is facilitated

Further development of functionality

From the MEI perspective, useful for TEI community as well

  • recognizers for different files (could be useful for other use cases as well)
  • further simplification of configuration module
  • further update of dependencies (removing JPF)
  • adding further existing functionality
  • Existing GitHub Issues for MEI development version