Skip to content

Latest commit

 

History

History
240 lines (173 loc) · 14.5 KB

README.md

File metadata and controls

240 lines (173 loc) · 14.5 KB

Build NFDI4C Registry Contributor Covenant GitHub release FAIR checklist badge OpenSSF Best Practices fair-software.eu DOI

Edirom-Online

Edirom-Online is a software for the presentation and analysis of critical musical editions in a digital format, particularly in the fields of musicology and philology. Edirom-Online supports various data formats commonly used in digital humanities, such as TEI (Text Encoding Initiative) for textual data and MEI (Music Encoding Initiative) for musical data, that is visualized with Verovio. This allows for the integration of different data formats, starting in the early days with texts, images and music and adding audio and even film within a single edition.
The Edirom idea was born in 2004 at Musikwissenschaftliches Seminar Detmold/Paderborn and even after several years of Edirom development, the success of Edirom based on the same core concepts as in the beginning continues with numerous projects using and developing Edirom tools and creating digital musical editions with this software. Edirom tools were originally developed by the project Entwicklung von Werkzeugen für digitale Formen wissenschaftlich-kritischer Musikeditionen (2006–2012) funded by the DFG. The development of Edirom is now maintained as a community effort while being strongly supported and accompanied by Virtueller Forschungsverbund Edirom (ViFE), primarily based at Paderborn University. ViFE aims to provide tools for scholars working with digital texts and music, especially those involved in editing historical documents.

Showcases

To get some practical insights, look at these projects and editions that already use Edirom-Online.

Clarinet quintet op.34 by Weber

The third version of Webers clarinet quintet op.34 was created 2022 by Virtueller Forschungsverbund Edirom (ViFE) honoring Prof. Dr. Joachim Veit on the occasion of his retirement. The edition includes digital facsimiles, music that is encoded in MEI and visualized with Verovio, annotations and texts.

Freischütz Digital

The digital edition of Webers Freischütz was developed by the project "Freischütz Digital – Paradigmatische Umsetzung eines genuin digitalen Editionskonzepts" (BMBF, 2012–2015). Several demonstrators were developed and integrated into the Edirom-Online, e.g. 'Dynamic Score Rendering' and 'Genetic Text Stages'.

Bargheer: Fiedellieder plus

"Carl Louis Bargheer: Fiedellieder plus - Eine digitale Edition" was created 2013 as a students project at Musikwissenschaftliches Seminar Detmold/Paderborn with an early version of Edirom-Online.

Get started

Edirom Online is a web application written in XQuery and JavaScript, and designed for deployment in eXist-db.
Please be aware, the software is still under high development and has to be seen as beta software.

Cloning this repository

Since this repository uses submodules for e.g. fonts, it is necessary to clone the repository recursively.

git clone --recursive <project url>

If the submodules are not yet present after cloning, you can update them with:

git submodule update --init --recursive

Building locally

For building Edirom Online you need Sencha Cmd installed on your system. You might want to refer to the Sencha Cmd System Setup section for more details.

Alternatively, we recommend to use a Docker container image for building, e.g. bwbohl/sencha-cmd

docker run --rm -it -v /ABSOLUTE/PATH/TO/YOUR/LOCAL/EDIROM-ONLINE/CLONE:/app --name ediBuild ghcr.io/bwbohl/sencha-cmd:latest

When you have your system prepared with all Sencha Cmd prerequisites or you have your docker container running you are now set up to execute the sencha build command. Do this by calling the build script included in this repository with one of the sencha build-type options (please refer to sencha app build reference for details), either in your native shell or in the container shell, e.g.:

./build.sh testing

Starting an Edirom instance locally

  • prepare exist-db
    • also see exist-db via Docker
    • docker run -it -d -p 8080:8080 -p 8443:8443 --name exist stadlerpeter/existdb:6 (see stadlerpeter/existdb)
    • open in browser: http://localhost:8080 (Note: there were problems opening this in Safari)
    • Login with "admin:[empty]"
  • build and deploy xar of Edirom
    • also see building Edirom locally above
    • at http://localhost:8080/exist/apps/dashboard/admin# (signed-in) go to "Package Manager" then "Upload" and select the xar file which (supposed above build-method was used) was built at /PATH_TO_LOCAL_EDIROM_REPO/build-xar/Edirom-Online-1.0.0-beta.5-[TIMESTAMP].xar
  • build xar of sample data for deploying at exist-db
    • also see building sample data
    • at http://localhost:8080/exist/apps/dashboard/admin# (signed-in) go to "Package Manager" then "Upload" and select the xar file which (supposed above build-method was used) was built at /PATH_TO_LOCAL_EDIROM_EDITION_EXAMPLE_REPO/build/EditionExample-0.1.xar
  • in eXist-db Package Manager click on the "Edirom Online" entry - you will be directed to the running Edirom at http://localhost:8080/exist/apps/Edirom-Online/index.html

Documentation

Some useful information regarding documentation is captured in the docs folder of this repo. It contains:

Dependencies

Edirom Online depends heavily on the JavaScript framework Ext JS which is included in parts in our code base. We use Ext JS 4.2.1 in the GPL version. Edirom Online also includes the Raphaël javascript library (MIT License) and the ACE editor (BSD license).

For running the tests provided in the ANT build file we rely on xmllint and SaxonHE. On a Debian based Linux system these can be installed with apt-get install libsaxonhe-java libxml2-utils. If SaxonHE is not available from your classpath by default you might need to explicitly point ANT at it by providing the -lib parameter, e.g. ant -lib /usr/share/java/ run-all-tests.

Roadmap

Until today Edirom-Online and its features were developed as one application with strong dependencies on the JavaScript framework Ext JS (current version Ext JS 4.2.1) like mentioned above. Frontend and backend are currently living in this one application. Regarding to Edirom-Onlines release plans ExtJS is planned to be updated in the near future until ExtJS 7.0.0. With the help and under the guidance of the project "Edirom-Online Reloaded" (funded by the DFG, 2024–2026) Edirom will exprerience some major updates and improvements to achieve sustainability of the software, e.g features and functionalites will be modularized as edirom web components and also a separation of frontend and backend and a crucial reduction of dependencies especially regarding frameworks is envisaged. In addition ZenMEM will continue to support and coordinate the sustainable development of the Edirom-Online software. See the Edirom-Online milestones for more details.

Contributing

After all this information, you decided to contribute to Edirom-Online, that is awesome! We prepared a CONTRIBUTING file to help start your Edirom-Aventure now.

If you encounter a security issue in the code, please see the Security Policy for further guidance.

Get in touch

Even if you are not ready (yet) to contribute to this wonderful project, maybe instead you just have a question or want to get to know the people involved in the project a little better, here are some ideas for you:

  • there is an Edirom mailinglist with the option for selfsubscription
  • the edirom community is meeting regularly every month at the first wednesday of a month, more information will be promoted via the mailinglist
  • start a discussion at GitHub Discussions

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Citation

Please cite the software/repository using the information provided under "Cite this repository" on the right hand side. The APA and BIBTeX citations are fed by information from the CITATION.cff file in this repository which you can also use as a source. If you intend to cite unreleased branches or commits please use the commit hash in the citation.

License

Edirom Online is released to the public under the terms of the GNU GPL v.3 open source license.