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.
Music Performance Markup MPM
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
Applied Changes
- Modularization using GitHub packages
- Updated Java version
- Updated Tomcat version
- Automated supply of mei/tei source files in Docker image
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
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