A new release is available for Arkindex instances. You can test it on our demo instance: demo.arkindex.org.

You can learn more about Arkindex on its official documentation.

Machine Learning models

This release includes the very first step towards adding support for Machine Learning model training inside of Arkindex: the new concepts of models and model versions, which can be uploaded by CI scripts on Git repositories. Models share the same rights management system as for workers or projects, and can already be viewed under the new My models section.

Browsing Machine Learning models and model versions

Element management

It is now possible to move multiple elements at once using the Move elements option on the element selection page. The move will be performed in the background, similarly to the existing single element move action.

{{ figures(images=["solutions/arkindex/releases/1.2.3/move_button.png", "solutions/arkindex/releases/1.2.3/move_modal.png"], caption="The new element move action for selected elements", height=300) }}

Instance administration

Improvements have been made to some instance administration features to help save space on S3 storage, which can reduce the hosting costs of Arkindex, as well as help in moving projects between instances.

Ponos tasks now have an expiration date, which can be configured in the Django admin. It is set by default to 30 days after a task's creation. When all tasks on a workflow has expired, the arkindex cleanup command now deletes the workflow, all its related tasks, and all artifacts and logs stored on S3.

The arkindex cleanup command now also handles removing artifacts found on S3 that are not related to any Ponos task in the database, as well as unknown images on the local IIIF server.

Finally, the arkindex load_export command now handles conflicting IDs for image servers, images, repositories, worker versions, element types and classes. Most projects can now be re-imported on the same instance without trouble.

Worker configuration

User configurations for Machine Learning workers now support a bool field type, providing toggle switches for simple options. Some issues were also fixed relating to the handling of default values of 0 or false, and the type of fields with defined choices.

You can learn more about user configuration for workers on the Arkindex documentation.


Various small improvements, optimizations and bug fixes have been made on imports and Machine Learning workflows:

  • Removed an unnecessary check in CreateElementsWorkflow that could lead to timeouts on large instances
  • The thumbnail creation now tries to use the first 20 non-folder elements inside of a folder, instead of only looking for child elements recursively, which could lead to timeouts
  • The Transkribus import now skips folders when errors occur instead of failing entirely
  • The Transkribus import now supports unescaped non-ASCII characters in custom metadata
  • Worker repository imports now support Git submodules when building worker versions
  • Cache databases for workers now have a version number to detect incompatibilities between Arkindex and arkindex-base-worker versions


  • Removed the deprecated Transcription.score field, which has been replaced by confidence
  • Creating a new transcription on a project with read access but not write access now results in a more explicit HTTP 403 error
  • Fixed an issue with drawing polygons on the edges of rotated elements
  • IIIF images in element and transcription modals are now request at a higher resolution to avoid making them blurry
  • The element type field for batch creation is now disabled when in batch deletion, as it is irrelevant
  • Fixed the error handling for ListElementNeighbors in the frontend
  • Errors on process advanced settings are now more explicit than a generic HTTP error
  • Restored missing CSS files that were instead loaded dynamically in JavaScript, which reduces the bandwidth usage
  • Returning to Arkindex after authorizing it to access a new GitLab account now shows the OAuth settings instead of a 404 page
  • Fixed an HTTP 500 error when using the search field for users in the Django admin