Skip to content

Edirom Online is a tool for presenting historical-critical music editions in digital form.

License

Notifications You must be signed in to change notification settings

Edirom/Edirom-Online

Repository files navigation

Build NFDI4C Registry Contributor Covenant

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.

Show cases

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 , 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

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

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 conribute to Edirom-Online, that is awesome! We prepared a CONTRIBUTING file to help start your Edirom-Aventure now.

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.

License

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