MerMEId: Important news and updates

Please note: As of February 2017 all issue tracking has moved to GitHub.


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

Important changes

Revision Date Comment
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.
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.
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).
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 <score> 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.
1154 April 2016 Bugfixes (issues 7–9, see below)
1132 March 2016 Bugfixes
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.
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.
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 Updated installation instructions are found in trunk/mermeid/INSTALL.html.

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


All transforms are found in

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 in Transforming is necessary only if you have used instrumentation or cast selection at component level.

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 found in

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


All transforms are found in except for filter_put.xsl, which is located one level above.

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

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.

Known issues

Known major issues are listed below. A status marked as 'fixed' indicates that the issue is resolved in the newest version available at GitHub.

No. Component Problem Current status Description
10 'File' tab Automatically added @resp values in <revisionDesc> not valid fixed (rev. 1260) By default, MerMEId inserts the user's login name as the @resp value in the automatically generated change log entry. However, this is likely not to be a valid value. The shema expects a value like #NN, where NN is an @xml:id value defined elsewhere. MerMEId does not check whether these names are defined, nor does it add the #. To avoid invalid values, MerMEId will be changed to use the <resp> element (which does not put any restraints on the values used) instead of @resp.
9 Text editor / HTML view / XML source &nbsp; displayed instead of spaces fixed 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.
8 Music component (movement) editing page Some instruments present in the XML not shown in the editor fixed 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).
7 Text editor Content seems to disappear (because it is misplaced in the XML) fixed 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 <rend> elements on saving. A transform (cleanup_2016.xsl) is provided to put misplaced contents back into their (<p>) containers.
6 Editing list of standard bibliographic references XForms error fixed(?) Some operations such as copying, adding or re-arranging refences may cause the editor to crash. Please edit the list in an XML editor and store it directly in the eXist database instead using the same customizations procedure as described in the FAQ.
5 Publishing files not published fixed As of revision 821 the "Publish" function available at the files list view has seized working. We hope to resolve the problem in early 2015. Until then, the workaround is publishing files manually by copying them from db/dcm/ to db/public/ in eXist (this is all the function does; further processing of published files is up to your implementation)
4 Publishing modifications not recognized fixed (MerMEId now simply looks at datestamp instead of checksum) Making any changes in a file previously published is supposed to change the color of the file's "Publish" indicator in files list view from green to yellow. When only minor changes have been made, however, MerMEId sometimes does not recognize files as changed. This does not prevent publishing the files, but selecting "Modfied" in the "Publication status" filter will not find them; nor will changes be visually apparent from the files list.
3 General error 401(authorization) fixed At present, using Orbeon 3.9 on a Tomcat 7+ server causes authentication problems in MerMEId, resulting in a number of malfunctions. We use Tomcat 6 to avoid the problem. We hope to resolve this at some point by migrating to Orbeon 4+. [2014-06-12]
2 Text editor Links (<a> tags) are not saved fixed When creating links using the rich text editor (RTE) for text blocks, the link attributes are not saved. This appears to be a problem related to the YUI Rich Text Editor coming with Orbeon 3.9. This issue may possibly be resolved by upgrading to Orbeon 4, which uses TinyMCE for text editing instead. We have tried to replace the YUI RTE with TinyMCE in Orbeon 3.9, but without success.
2 Text editor Links (<a> tags) are not saved fixed When creating links using the rich text editor (RTE) for text blocks, the link attributes are not saved. This appears to be a problem related to the YUI Rich Text Editor coming with Orbeon 3.9. This issue may possibly be resolved by upgrading to Orbeon 4, which uses TinyMCE for text editing instead. We have tried to replace the YUI RTE with TinyMCE in Orbeon 3.9, but without success.
1 Text editor Changes in text are not saved fixed Sometimes when changing the text in a rich text editor field, the text is reverted to its previous state upon saving. This may also be a problem related to the YUI RTE. The only workarounds so far seem to be either deleting the text block and creating a new one, or manual editing using an XML editor.


Source code

Please find the latest available revision at

Demo installation

You can try out MerMEId at

Project description

Frequently asked questions

See the FAQ document.