Skip to content

MerMEId release notes

Axel Geertinger edited this page Dec 18, 2020 · 16 revisions

Please note:

The Royal Danish Library is not working on this project any longer. Please visit the Edirom/MerMEId repo instead to see the latest state of the software and follow current development. Thank you to everyone who has used, contributed to or supported MerMEId in the past, and most sincere thanks to the Edirom staff and the Austrian Academy of Sciences for taking over!


This page lists important updates and information on additional actions necessary to keep your MerMEId installation up to date. Depending on your current MerMEId revision, a number of data transforms may be necessary to update your data. In that case, the transformations should be applied stepwise, starting with the oldest one.

Of course, always remember to back up your data before transforming. Neither the software authors nor The Royal Danish Library can be held responsible for any loss of data caused by any use of their software.

For general questions about MerMEId, see also the FAQ document.

A note on version numbers

When running MerMEId, the version number is displayed when clicking on the MerMEId logo in the lower right corner of any editor page. In the source code, the version number is found in trunk/mermeid/forms/mei/edit-form-footer.xml at line 40.

As of 2018, version main numbers refer to the year of publication. Minor releases keep the year of the main version followed by a sub-number regardless of the year of release (for instance, version 2018.2 released in 2019).

Until version 2018, the numbers were encoded somewhat awkward (like Rev. <xf:output value="substring-before(substring-after('$Revision: 1282 $','Revision: '),'$')"/>); this is reminiscent of MerMEId's original development environment (Subversion). After moving to GitHub the numbers have been updated manually, which has been done infrequently only. Our apologies.

Important changes

Version 2019.1 for MEI 4.0.0 and Docker, August 2019

This is the first release using MEI 4.0.0. To migrate data from an MEI 3.0.0 MerMEId version you may use the transformation MerMEId_MEI_3_to_4.xsl. IMPORTANT: Please note that this release is intended for Docker installation only. Non-Docker installation may or may not work (incompatibilities causing XInclude to fail have been reported).

Version 2018.2, February 2019

This is the last release using the MEI 3.0.0 schema. An upgrade to MEI 4.0.0 is planned for release in spring 2019. This release fixes quite a number of issues in version 2018, including Docker container configuration and transformation of data to HTML.

Version 2018, October 2018

This version - the first proper release on GitHub - includes a major rework of parts of the infrastructure. It moves MerMEId to eXist 4.4 instead of eXist 2. It also simplifies the architecture by omitting the "filter" java component. The filter's functionality - that is, transforming data on the way to and from the editor in order to make - is now handled by XQuery scripts instead. Please note, however, that this simplification comes at a price: MerMEId can no longer pass user credentials to Orbeon, meaning that automatic recording of the user's login name in the change log (<revisionDesc>) is not possible any more. So please write your name in the log manually. The login name and password to the editor is defined in Dockerfile (default is "editor" / "editor").

Running MerMEId in a Docker container is now considered the standard setup.

This version turned out to have some installation and configuration issues, so we strongly recommend using release 2018.2 instead. Unfortunately the version number was not updated in this release, so in the code still reads "Revision 1284", dated 7 September 2018. Sorry.

Rev. 1281, July 2018

Following some discussions about whether to recommend the use of MARC or the much more detailed UNIMARC instrument and ensemble codes, MerMEId now offers both. Which one to use is determined by the instument and ensemble lists placed in the eXist 'library' folder. By default, MerMEId uses MARC (as it has always done). How to use the lists and how to switch between them is explained in the FAQ document.

Rev. 1277, February 2018

As of version 1277, MerMEId offers Docker image support to automate parts of the installation and update processes. Documentation may still need improvement, but the process is explained in the installation manual page.

Rev. 1260, February 2017

MerMEId now generates MEI 3.0.0 metadata. To migrate older MerMEId data (rev. 1043–1259), use the transformation mei21To30_for_mermeid.xsl found in trunk/mermeid/transforms/mei/utils/ (Please note: this is not the Music Encoding Initiative's original transformation but a modified one taking into account MerMEId's way of encoding things; for instance, the rather structured encoding option in <event> elements. We do not recommend using it as a general transformation from MEI 2.1.0 to 3.0.0).

Rev. 1214, August 2016

  • The text editor has been extended to let you insert certain MEI elements. Select any text and click the 'Per', 'Cor', 'Geo' or 'Ti' buttons to mark up the selection as MEI <persName>, <corpName>, <geogName>, or <title> elements, respectively.
  • MEI encoded incipits can now be added by uploading them from file. MerMEId will take the first element in the uploaded MEI file and place a copy of that score in your file as an incipit. The HTML view uses Verovio to render the incipit.
  • Items can now be added not only to a source, but also to the individual components of a source. This is useful if the components of a source (for instance, the individual parts in a set of orchestral parts or part books) are located at different places or have individual library shelfmarks.

Rev. 1137–1154, April 2016

Bugfixes:

  • '&nbsp;' displayed in HTML preview instead of spaces: The new text editor (TinyMCE) converts multiple spaces to non-breaking spaces (HTML entities '&nbsp;'). Due to a bug these are converted to '&amp;nbsp;' on saving and thus become visible as text '&nbsp;' in the HTML preview. With rev. 1150, MerMEId converts &nbsp; to &#160; which is handled correctly and displayed as a non-breaking space as expected.
  • Music component (movement) editing page: Some instruments present in the XML not shown in the editor. At movement level, a previously selected instrument will remain in the XML even if the top-level instrument (that is, an instrument defined at version level at the 'Music' tab) which it was referring to is deleted; however, it no longer appears in the listing and therefore cannot be deleted at movement level. As of rev. 1149, also instruments deleted at top level are shown at movement level if present. A warning sign is displayed next to them to inform the user that it does not refer to an instrument defined at top level. Furthermore, when deleting instruments at top level, MerMEId now displays a warning if the instrument is selected in any movements and offers to delete these simultaneously to avoid 'orphan' instruments at movement level. The same functionality is implemented with ensembles and roles (mei:castItem).
  • Content added in the text editor (TinyMCE) seems to disappear (because it is misplaced in the XML): If for some reason the entire text block is wrapped in a (useless) <rend> element without any attributes to indicate the desired rendition, MerMEId fails to transform the <rend> element to HTML, causing the content to slip out of the containing element (usually <p>) on saving. As of rev. 1137, MerMEId strips off such superfluous elements on saving. A transform (cleanup_2016.xsl) is provided to put misplaced contents back into their (<p>) containers.

Rev. 1132, March 2016

Bugfixes

Rev. 1108, Feb. 2016

  • More components are now more easily customizable as they have been moved to the eXist database. This includes the XSL and CSS stylesheets used to generate the HTML preview. They are located in /db/style/.
  • MerMEId's HTML preview now uses the Verovio toolkit to render incipits encoded in either MEI or Plaine and Easie code. Only the latter is editable directly in the MerMEId editor, however. The files at our demo server include a sample file called 'Incipit Demo' demonstrating this.
  • In the HTML preview, sources are no longer sorted automatically according to their classification. Sources are listed in the same order as in the XML file (and as in the editor, that is).
  • A script for generating multiple-file HTML output is now available (convenient for printing an entire catalogue, for instance). Its use is described in the updated manual.
  • More bugfixes.

Rev. 1043, Nov. 2015

This is the first officially released version of the upgraded MerMEId software. To ensure best compatibility and fix potential flaws, the XSL transformation transform_mermeid_2_to_3.xsl should be applied to yor data on migration from older MerMEId versions (revisions 821–1042).

Apart from the use of new 3rd-party components, here are some of the changes compared to pre-948 revisions:

  • A new Rich Text Editor. MerMEId now uses the tinyMCE editor for text blocks instead of the YUI RTE. TinyMCE seems to be more reliable, and it is much easier to customize for use in MerMEId. The text editor's features now match the formatting options that MerMEId can actually handle.
  • A list of Frequently Asked Questions (FAQ) – mostly regarding the general use, installation, and customization of MerMEId – has been added to the manual.
  • A number of lists such as abbreviations, instrument names, and genre keywords are moved to eXist for more convenient customization. Please refer to the FAQ for further information.
  • A number of inputs etc. added, including references to authority files with person names and more details at source component and item level.
  • Bugfixes.

Rev. 948, Oct. 2015

As of rev. 948 MerMEId is upgraded to work with Tomcat 7.0.50+, Apache 2.2.*, Java 1.7.0_45+, and Orbeon 4.9. This has improved performance and made possible a number of improvements. The application should be installed from the source code available at https://github.com/Det-Kongelige-Bibliotek/MerMEId. Updated installation instructions are found in trunk/mermeid/INSTALL.html.

Rev. 821, Nov. 2014

Until rev. 821, the identifiers given to works, sources and items were using the type attribute to describe the identifier. For instance, Carl Nielsen Work numbers (CNW numbers) were assigned like <identifier type="CNW">123</identifier>. As of rev. 821, MerMEId uses the label attribute instead of the type attribute to allow the use of string values instead of tokens only. A transformation style sheet is provided to update existing data, see below. The transformation is necessary to ensure the correct handling and recognition of identifiers in MerMEId, for instance for cross-file relations and for displaying the file collection numbers (e.g. CNW numbers) in MerMEId's file list view. With revisions 821-843 also a number of issues have been addressed, including MerMEId not putting elements in the right order at certain points and sometimes generating duplicate IDs when copying elements. To update existing (pre-821 revision) data and fix the above potential errors, please apply the following XSL transforms on your data (but don't forget to save a backup copy first, of course):

identifier_type_to_label.xsl

check_element_order.xsl

cleanup_2014.xsl

All transforms are found in https://github.com/Det-Kongelige-Bibliotek/MerMEId/tree/master/trunk/mermeid/transforms/mei/utils

Rev. 649, Dec. 2013

Until rev. 649, instrumentation and cast selection in music components (e.g. movements) were made as references to top-level instrumentation information, meaning that the information at movement level could not be edited. As of rev. 649, instrumentation and cast information at component levels uses a copy of top-level information instead, allow independent editing of information at both levels. To update existing (pre-649 revision) instrumentation data you may use the update_perfMedium_in_sub-expressions.xsl transform. Transforming is necessary only if you have used instrumentation or cast selection at component level.

Rev. 580, Sept. 2013

As of rev. 580 MerMEId uses the MEI 2013 (i.e. v. 2.1.0) schema instead of a customization of the MEI 2012 schema. As most of the schema changes were anticipated in the customization, only minor changes are necessary to update data created with MerMEId prior to revision 580. Existing (pre-580 revision) data can be updated using the transform_2012_to_2013.xsl transform.

Rev. 13, May 2012

As of May 2012, the MEI schema customization used by MerMEId is based on the MEI 2012 schema instead of the 2010 schema. To update your MEI 2010 data, apply the following transforms (in this order):

transform_2010_to_2012.xsl

add_MARC048_reg_values.xsl

add_ID.xsl

filter_put.xsl

Please note: this transformation is not a general transformation updating MEI 2010 files to MEI 2012. It updates only (meta-)data created with MerMEId. For a general MEI 2010 to 2012 update please refer to the tools available from the Music Encoding Initiative at http://code.google.com/p/music-encoding/

Please remember that the use of this software and its related components is at own risk. Neither The Royal Library nor the authors can be held responsible for any loss of data caused by the use of this software.