edirom-online

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

https://github.com/edirom/edirom-online

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.9%) to scientific vocabulary

Keywords

digital-edition digital-humanities digital-music-edition edirom-online paderborn-university
Last synced: 6 months ago · JSON representation ·

Repository

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

Basic Info
  • Host: GitHub
  • Owner: Edirom
  • License: gpl-3.0
  • Language: Dockerfile
  • Default Branch: develop
  • Homepage:
  • Size: 60.2 MB
Statistics
  • Stars: 24
  • Watchers: 17
  • Forks: 28
  • Open Issues: 8
  • Releases: 22
Topics
digital-edition digital-humanities digital-music-edition edirom-online paderborn-university
Created over 13 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Code of conduct Citation Security

README.md

[![Build](https://github.com/Edirom/Edirom-Online/actions/workflows/pre-release.yml/badge.svg?branch=develop&event=push)](https://github.com/Edirom/Edirom-Online/actions/workflows/pre-release.yml) [![NFDI4C Registry](https://nfdi4culture.de/fileadmin/user_upload/registry/badges/nfdi4culturebadge.svg)](https://nfdi4culture.de/id/E3648) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md) [![GitHub release](https://img.shields.io/github/v/release/Edirom/Edirom-Online.svg)](https://github.com/Edirom/Edirom-Online/releases) [![FAIR checklist badge](https://fairsoftwarechecklist.net/badge.svg)](https://fairsoftwarechecklist.net/v0.2?f=31&a=32113&i=32300&r=133) [![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/9746/badge)](https://bestpractices.coreinfrastructure.org/projects//9746) [![fair-software.eu](https://img.shields.io/badge/fair--software.eu-%E2%97%8F%20%20%E2%97%8F%20%20%E2%97%8F%20%20%E2%97%8F%20%20%E2%97%8F-green)](https://fair-software.eu) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5347861.svg)](https://doi.org/10.5281/zenodo.5347861)
**[About](#about-edirom-online) • [Showcases](#showcases) • [Installation](#installation) • [Further documentation](#further-documentation) • [Dependencies](#dependencies) • [Roadmap](#roadmap) • [Contributing](#contributing) • [Get in touch](#get-in-touch) • [Code of Conduct](#code-of-conduct) • [Citation](#citation) • [License](#license)**

Edirom Online

About 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 for textual data and MEI 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 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, 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.

The Edirom Online software is developed as a web application consisting of a backend module (written in XQuery and deployed in eXist-db) and a frontend module (written in JavaScript and delpoyed in nginx). The backend/frontend modularization was introduced in April 2025 and led to a different setup routine. The present repository contains configuration for building the Edirom Online environment with Docker.

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. * publication of Webers clarinet quintet * code of Edirom Online Release v1.0.0-beta.4 (Emeritus) * data of clarinet quintet: Edition

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'. * publication of Webers Freischütz * code of Freischütz: Edirom Online

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. * publication of Bargheers Fiedellieder * code of Bargheer: Edirom Online * data of Bargheer: Edition

Installation

Prerequisites: Docker Desktop has to be installed.

Fast-lane installation

To start the Edirom Online with the EditionExample, create and navigate to a new directory on your computer, and enter the following in the command line. After a while the Edirom will be available at http://localhost:8089 bash git clone https://github.com/Edirom/Edirom-Online.git . && export EDITION_XAR=https://github.com/Edirom/EditionExample/releases/download/v0.1.1/EditionExample-0.1.1.xar && docker compose up

Step-by-step installation

Step 1: Clone the Git repository.

On your computer create and navigate to a new directory for the Edirom Online. Then open the command line of your computer (also known as Shell, PowerShell, Terminal) and clone the Edirom Online Git repository to your machine with:

bash git clone https://github.com/Edirom/Edirom-Online.git .

Step 2 (optional): Specify the Edirom Online version (for developers).

By default the docker-compose.yml configuration fetches the backend from https://github.com/Edirom/Edirom-Online-Backend.git (branch develop) and the frontend from https://github.com/Edirom/Edirom-Online-Frontend.git (branch develop). You can change this by setting variables before starting the docker compose in the command line, e.g.

bash export BE_REPO=https://github.com/YOUR-FORK-OF/Edirom-Online-Backend.git export BE_BRANCH=cool-feature-branch export FE_REPO=https://github.com/YOUR-FORK-OF/Edirom-Online-Frontend.git export FE_BRANCH=awesome-feature-branch

If you have set a variable you can also unset it again (to fall back to the defaults):

bash unset BE_REPO

You can also check the current docker compose configuration, and see the effect of the currently set environment variables, via:

bash docker compose config

Step 3 (optional): Specify an edition.

Option (a): By setting the environment variable EDITION_XAR you can provide a URL of a downloadable xar package (here the EditionExample:).

bash export EDITION_XAR=https://github.com/Edirom/EditionExample/releases/download/v0.1.1/EditionExample-0.1.1.xar

You can get links to edition xar packages for instance from the sample edition releases (copy link to xar file listed under "Assets") or releases of the Klarinettenquintett op. 34 WeV P.11 (copy link to xar file at the bottom of the box).

Option (b): By copying one or more edition xar packages to the directory /backend/autodeploy inside the directory of the cloned repository (from Step 1) you can also pass editions into the Edirom Online. You can for instance download xar packages from the release page listed in Option (a).

If you want to you can also dive into the process of building sample data yourself, but at this step providing the public location or a copy of a xar file is enough.

Step 4: Start Edirom Online.

The Edirom Online is started via entering the following command in the command line:

bash docker compose up

Alternatively start in detached mode (running in background so that the terminal is writable after startup) by using the flag "-d" after the above command.

[!NOTE] If you want to change the setup, e.g., switching to another branch of Edirom Online Frontend or Edirom Online Backend or provide another edition XAR, the service has to be rebuilt.

So if you changed the setup or you want to fetch the latest versions of the Edirom Online Backend and Frontend after you have built it already use the following commands

bash docker compose down --volumes --remove-orphans docker compose build --no-cache docker compose up

After the environment has been setup (which may take several minutes) the Edirom Online is available at:

http://localhost:8089/

Step 5: Stop Edirom Online.

You can stop the environment by hitting Ctrl+C in the command line in which the Docker process is running. If you have used the detached mode, you can stop the environment by typing docker compose down.

Further Documentation

Some useful information regarding documentation is captured in the docs folder of this repo. It contains: * Customize Edirom Online and content * Release Workflow for the Edirom Online * Manual setup on a local machine * Data creation workflow for the Edirom Online

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 like mentioned above. Frontend and backend are currently living in this one application. Regarding to Edirom Online's 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: * The Edirom mailing list provides the option of self-subscription, we send invitations to the community meetings via this list and we have Edirom related discussions on this list * In the wiki you can find information and meeting minutes of the edirom community meetings which are regularly on the first Wednesday of the month * In GitHub Discussions you can start a discussion about any Edirom Online related topic

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.

Owner

  • Name: Virtueller Forschungsverbund Edirom
  • Login: Edirom
  • Kind: organization
  • Location: Germany

Citation (CITATION.cff)

cff-version: 1.2.0
title: Edirom Online
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Benjamin W.
    family-names: Bohl
    orcid: https://orcid.org/0000-0001-7217-9167
  - given-names: Daniel
    family-names: Röwenstrunk
    orcid: https://orcid.org/0000-0001-6271-2095
  - given-names: Nikolaos
    family-names: Beer
    orcid: https://orcid.org/0009-0005-4739-5227
  - given-names: Peter
    family-names: Stadler
    orcid: https://orcid.org/0000-0002-2544-1481
  - given-names: Daniel
    family-names: Jettka
    orcid: https://orcid.org/0000-0002-2375-2227
  - given-names: Kristin
    family-names: Herold
    orcid: https://orcid.org/0000-0003-2915-353X
  - given-names: Hizkiel
    family-names: Alemayehu
    orcid: https://orcid.org/0009-0006-3345-086X
  - given-names: Dennis
    family-names: Friedl
    orcid: https://orcid.org/0009-0000-4410-4627
  - given-names: Dennis
    family-names: Ried
    orcid: https://orcid.org/0000-0001-5545-2088
  - given-names: Johannes
    family-names: Kepper
    orcid: https://orcid.org/0000-0003-4891-260X
  - given-names: Silke
    family-names: Reich
    orcid: https://orcid.org/0009-0007-8817-0299
  - given-names: Anna Maria
    family-names: Neubert
    orcid: https://orcid.org/0000-0002-7528-1842
  - given-names: Stefan
    family-names: Münnich
    orcid: https://orcid.org/0000-0002-0744-5374
  - given-names: Elena
    family-names: Schilke
  - given-names: Salome
    family-names: Obert
identifiers:
  - type: doi
    value: 10.5281/zenodo.5347861
    description: Edirom Online
repository-code: 'https://github.com/Edirom/Edirom-Online'
abstract: >-
  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.
license: GPL-3.0
version: v1.0.0
date-released: '2025-02-13'

GitHub Events

Total
  • Fork event: 4
  • Create event: 128
  • Commit comment event: 3
  • Release event: 53
  • Issues event: 115
  • Watch event: 4
  • Delete event: 165
  • Issue comment event: 297
  • Push event: 312
  • Gollum event: 74
  • Pull request review comment event: 115
  • Pull request review event: 206
  • Pull request event: 134
Last Year
  • Fork event: 4
  • Create event: 128
  • Commit comment event: 3
  • Release event: 53
  • Issues event: 115
  • Watch event: 4
  • Delete event: 165
  • Issue comment event: 297
  • Push event: 312
  • Gollum event: 74
  • Pull request review comment event: 115
  • Pull request review event: 206
  • Pull request event: 134

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 30
  • Total pull requests: 34
  • Average time to close issues: 7 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 6
  • Total pull request authors: 9
  • Average comments per issue: 1.07
  • Average comments per pull request: 1.85
  • Merged pull requests: 21
  • Bot issues: 0
  • Bot pull requests: 5
Past Year
  • Issues: 26
  • Pull requests: 32
  • Average time to close issues: 16 days
  • Average time to close pull requests: 8 days
  • Issue authors: 6
  • Pull request authors: 8
  • Average comments per issue: 0.38
  • Average comments per pull request: 0.84
  • Merged pull requests: 21
  • Bot issues: 0
  • Bot pull requests: 5
Top Authors
Issue Authors
  • bwbohl (54)
  • krHERO (17)
  • daniel-jettka (12)
  • nikobeer (12)
  • roewenstrunk (10)
  • peterstadler (8)
  • riedde (4)
  • DennisFriedl (3)
  • obertsalome (2)
  • Diginaut (2)
  • AndreasMunzmay (2)
  • rklugseder (1)
  • dependabot[bot] (1)
  • feuerbart (1)
Pull Request Authors
  • bwbohl (29)
  • peterstadler (22)
  • dependabot[bot] (21)
  • krHERO (19)
  • daniel-jettka (16)
  • riedde (9)
  • roewenstrunk (5)
  • DennisFriedl (5)
  • hizclick (5)
  • nikobeer (3)
  • feuerbart (3)
  • musicEnfanthen (1)
  • AndreasMunzmay (1)
Top Labels
Issue Labels
Type: feature request (46) Type: bug report (32) Area: Documentation (20) Status: needs review (17) Type: cleanup (16) Area: XQuery (12) Type: question (10) Area: Help pages (8) Area: Usability (7) Status: needs testing (6) Area: JS (6) Area: CSS (4) Status: needs work (4) Area: XTechnologies (3) Type: inconsistency report (2) help_dev (2) Type: good first issue (1) Area: Build & deploy (1) Status: needs decision (1)
Pull Request Labels
Type: bugfix (18) Area: Documentation (12) Area: XQuery (9) Type: cleanup (7) Area: Build & deploy (5) Type: feature request (3) Type: bug report (2) Status: needs work (2) Area: Help pages (2) Area: JS (1) bugfix (1) Priority: High (1) Component: JS (1) Type: good first issue (1) Status: needs review (1)

Dependencies

.github/workflows/docker-ci.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v2 composite