Release 2.5

From AtoM wiki

Main Page > Releases > Releases/Release announcements > Release 2.5

Release date: May 9, 2019

Download link: atom-2.5.0.tar.gz

Release 2.5 is the first major AtoM release since September 2017, and includes many new features (described below), as well as some optimizations to our import routines, and dozens of bug fixes. We've closed 127 issues as part of this release – you can view more details on each ticket in our issue tracker at the following links:

Visit the Downloads page to download the most recent release, and consult the 2.5 Upgrading and Installation guides in our documentation for further information.

An overview of some of the major changes in the 2.5 release is included below, followed by a full list of links to relevant tickets, sponsors, and documentation for new features.


Issue numbers associated with new features and bug fixes listed below refer to the AtoM project issue tracker. Artefactual uses the issue tracker to track development tasks, feature requirements, quality assurance testing, and related development discussion. You can use the numbers to search for the related issue ticket in our Issue tracker - often the tickets will include more information on how the feature was implemented.

For more information, see: Issue tracker

Analytics and reporting

AtoM has long supported a placeholder in the page footer templates, where users with a Google Analytics account can add a tracker code to collect page view and visit statistics. Previously this only worked at a global level, making it difficult for multi-repository users to determine page views per institution. In 2.5, we have added support for institutions as a custom dimension in Google analytics, meaning you can now see page views and other analytics data on a per-repository basis. This new functionality will work for repository records, descriptions, and authority records - for descriptions, institutional page views will be counted based on the related repository; for authority records, by the linked maintaining repository.

Sponsored by the Archives Society of Alberta

  • #6090 - Google Analytics: add support for Universal Analytics
  • #12209 - Google Analytics: add custom dimension for institution names

Related documentation

Archival descriptions

The 2.5 release will add audit logging for archival descriptions - administrators will be able to view a log of all creation and modification events associated with a description (including date of change and the user account associated with the change), as well as a log of all description modification events associated with a particular user account (with links to the affected descriptions). Users will be able to see their own logs, though only admins will be able to see all user logs. Additionally, editors will now be able to run a job that will automatically calculate the date range for a parent description, based on the broadest dates found on any descendant records. Finally, administrators can now hide RAD Rights notes from the public interface via the Visible elements module.

Sponsored by Docuteam and an undisclosed institution

  • #12115 - Calculate accumulated dates
  • #12130 - Add new archival description audit log

Sponsored by the Provincial Archives of Saskatchewan

  • #12859 - Add Rights RAD note support to Visible Elements module

Related documentation

Authority records

In addition to the new Advanced search interface for authority records (described in the Search and Browse section below), The 2.5 release will also see subject and place access points added to authority records (including support in EAC-CPF XML and CSV import/exports), and the ability to attach a single digital object to an authority record via upload in the user interface, or URL. We're also enhancing the authority record search/browse results with thumbnails of attached digital objects, and text snippets taking from the related record's History field, similar to the scope and content snippets shown on description results.

Sponsored enhancements (institution undisclosed)

  • #12650 - Add the ability to upload a single digital object to an authority record, and supplement search/browse result stubs for authority records with thumbnails and history snippets
  • #12647 - Add subject and place access points to authority records

Related documentation


In the 2.5 release, users will be able to save a clipboard in one session, and then load it again in the future - with the option to either merge with the current clipboard results, or to replace them. An administrator can also set how long saved clipboards will be preserved in the system.

Sponsored by Simon Fraser University Archives

  • #11360 - Allow users to save and retrieve clipboard results across sessions

Related documentation


AtoM 2.5 will add support for the Parsedown PHP library, which will allow users to format content using GitHub-flavored Markdown - meaning that italics, bolding, lists, tables, and more formatting will be supported within edit templates. Previous special formatting in AtoM will be removed, but a command-line task to convert existing custom link syntax to the new Markdown link syntax will also be added (see the Command-line tools section below). Parsedown syntax will also be automatically ignored in searches, and Parsedown is smart enough to ignore open ended tags - meaning if you forget to close a bolding element or a table, you won't break your whole site.

Sponsored by Texas A&M University - Cushing Memorial Library and Archives and McMaster University

  • #12148 - Add Markdown support in AtoM

Related documentation


A new command-line task to import Deaccession records via CSV has been added, and you can now make the Digital object load task treat local digital objects like they are external (for cases where institutions store their digital objects on another server and don't want to create local duplicates by uploading them directlry to AtoM). We've improved the performance of the description CSV import, and we've also added some minor enhancements to the EAD XML import mapping.

Sponsored by Texas A&M University - Cushing Memorial Library and Archives

  • #12172 - Add additional fields to AtoM EAD import and export
  • #12267 - Convert bold, italic, and bolditalic EAD emphasis tag to markdown when markdown is enabled in AtoM

Sponsored by the City of Winnipeg Archives

  • #10579 - Import/transformation improvements

Sponsored by the Provincial Archives of Saskatchewan

  • #12020 - Add command-line task for deaccession record CSV import
  • #12532 - Improve csv:import CLI task performance
  • #12676 - Improve CSV import note creation logic
  • #12739 - CSV accession import CLI task should create keymap records for import matching
  • #12826 - Improve CSV Import term creation logic performance
  • #12840 - Add ability for digital object load task to discard master DO after derivative creation

Related documentation

Other bug fixes and minor enhancements include:

  • #8387 - Change csv:export behavior to not just append to existing files
  • #9839 - Adjust MODS import/export mapping for digital object
  • #10505 - Deleting a creator from an imported record also removes the date
  • #10854 - SKOS source notes are not being exported
  • #11646 - CSV import should not import blank rows
  • #12067 - Trim pipe-separated fields on CSV import
  • #12484 - Remove appraisal field from RAD CSV import template
  • #12645 - CSV import will treat 2 containers with the same name but different types as one container
  • #12845 - CSV authority record import task --index option not working as expected
  • #12861 - Actor alias and relations data being dropped on CSV export
  • #12869 - Country code should not be appended to mainagencycode in eadid during EAD exports

Search and Browse

We have upgraded the Elasticsearch index to use version 5.6. Additionally, a new Hierarchical browse page option, comprised of a full-screen treeview displaying all records, will be available as an alternative way of browsing site holdings. In the authority record search/browse page, we're adding a full Advanced search panel for authority records, similar to the desrciption advanced search. Users will also be able to change the sort direction of results in the sort button (Ascending and Descending). Additionally, we're adding a couple performance improvements: first, for edits that affect many descendant records, the job scheduler will now be used to make any necessary updates in the background. Second, we've added pagination to the full-width treeview to help scalability and performance in very large hierarchies.

  • #10847 - Upgrade Elasticsearch to version 5.x
  • #12000 - Add alternate sort directions to the sort button in search/browse pages
  • #12140 - Include creator name as an option in the Advanced search panel's field drop-down

Related documentation

Sponsored by an undisclosed institution

  • #11955 - Add hierarchical (treeview-based) browse page to explore all holdings in AtoM

Related documentation

Sponsored by the University of Strathclyde Archives

  • #11855: Search index is not updated when edits affect descendant records

Sponsored by an undisclosed institution

  • #12651 - Add an advanced search interface for authority records

Related documentation

Sponsored by the Royal BC Museum / British Columbia Archives

  • #12611 - Add pagination to the full-width treeview

Related documentation


We've reorganized the settings page, and added a notification when a save is triggered to give administrators visual confirmation that settings changes have been saved. Additionally, there is now a setting that will allow for more permissive slugs in AtoM (that respect capitalization, accented characters, non-Latin characters, and some special characters), and an option to hide the login button via the Visible elements module. Issues include:

  • #11980 - Add notification when changing settings so users know the changes have been saved
  • #12139 - Organize identifier-related settings into their own settings page
  • #12168 - Add option to hide login button to Admin options in Visible elements

Related documentation

Sponsored by the National Library of Sweden

  • #11761 - Update slug generation rules include a more permissive option

Related documentation

Command-line tasks

New tasks to help manage Physical storage locations have been added, as well as a number of performance improvements to the CSV import task that should decrease import times. There is also a new task to help remove redundant links to authority records at lower levels (that can cause performance issues in large installations), where creator inheritance would achieve the same results. The digital object load task will also gain the ability to discard master digital objects after derivative creation, storing the path to their locations instead - similar to when URLs are used for linking when uploading digital objects via the user interface. This will allow institutions who maintain their digital objects in a separate shared internal location to avoid the need to duplicate their objects when linking them to descriptions in AtoM. Finally, a new search:status task has been added to help users gather more information about their Elasticsearch installation, helpful when troubleshooting.

Sponsored by the City of Victoria Archives

  • #11910 - Create command-line task that removes unnecessary actor links at lower levels where inheritance could be used

Related documentation

Sponsored by Texas A&M University - Cushing Memorial Library and Archives and McMaster University

  • #12149 - Convert existing AtoM data to Parsedown syntax

Sponsored by the City of Vancouver Archives

  • #12618 - Add new physical object normalization command-line task to merge duplicate containers
  • #12646 - Add new command-line task to delete any Physical storage locations not linked to any descriptions

Related documentation

Other additions include:

  • #9520 - Add --slug option to search:populate task
  • #12042 - Add cache clearing after migrate task is executed
  • #12580 - Add option to log execution of scripts using the tools:run task
  • #12521 - Add a search:status task to provide basic information on ES index status
  • #12627 - Add Elasticsearch search/index information display to search:status task

Related documentation

Bug fixes and minor enhancements

  • #7650 - Delete rights should warn user
  • #8345 - Administrator cannot delete "About" static page
  • #8406 - Top-level menu nodes should allow empty paths
  • #9290 - Accession numbers, accession acquisition dates, and identifiers are not easily searched
  • #9308 - Move "Maximum image width (pixels)" setting to digital object derivatives tab in settings
  • #10856 - Sidebar treeview's "xx more" expand button cannot be translated
  • #11075 - Authenticated users can access browse pages and functionality that should be restricted to groups
  • #11177 - Changing "users" menu name breaks user administration page
  • #11186 - Allow key menu item names to be locked
  • #11189 - Output of jobs:list and CSV jobs export via user interface is inconsistent
  • #11961 - Location information not included in reports when default culture is not en
  • #11449 - Deleting digital object link from record in UI breaks digital object link for other records
  • #11507 - Title of descriptions not displayed on Jobs page when created in a different culture
  • #11639 - Symfony task for building models from schemas doesn't work with PHP 7
  • #11855 - Search index is not updated when edits affect descendant records
  • #11944 - Users cannot enter ampersand character into global search box
  • #11963 - Remove unused code from finding aid generation
  • #12167 - Deletions and/or edits to display labels on login, logout, and myProfile menu nodes have no effect
  • #12232 - Genre browse page lacks results count column
  • #12322 - Repository names should not appear in actor autocomplete menus
  • #12421 - Prevent access to index view of terms in locked taxonomies
  • #12459 - Location and Type cannot be searched in physical storage module
  • #12460 - Deleting a deaccession record removes the related accession from the browse page
  • #12488 - Digital object filesize has a 2GB max value
  • #12576 - Derivative regeneration task not cleaning up temp files
  • #12620 - Advanced search keyword field does not default to sorting by relevance
  • #12622 - Reserved characters in site title are not escaped in OAI identify response, causing errors
  • #12689 - Breadcrumbs disappear on description view page when using full-width treeview
  • #12721 - Avoid config file overwrites in Docker Compose environment
  • #12754 - Build nested set off-by-one error - 500 error if database row count is a multiple of 4000
  • #12760 - Master objects with lowercase jpg extension are shrunk to 225px width when using multi-uploader
  • #12821 - Docker container triggers error on non-Linux hosts
  • #12886 - Sitemap XML validation fails because of missing end tag

And plenty more!


For a full list of issues related to the 2.5 release, see the following links to our issue tracker: