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.

Rotation

Elements can now be rotated and mirrored using two properties, rotation_angle and mirrored. Those attributes copy the behavior of the rotation and mirroring features of the IIIF Image API.

Arkindex workers will handle the rotation seamlessly, and typical rotations (90°, 180°, 270°) will not require any special handling or changes to the code, apart from a base-worker update.

We began implementing support for this rotation and mirroring in the frontend. You can already view rotated elements on their details page:

An element rotated sideways.
An element rotated sideways.

The next release will allow users to rotate and mirror their images through the web interface. These properties are already modifiable through the API UpdateElement endpoint.

New elements will inherit their parent's rotation and mirroring, but this can be overridden in the API.

Search engine transition

The final step of our search engine transition has been completed. The Elasticsearch element and entity search pages have been removed and the Solr search, also known as "Search v2", is now the default, enabling searches on elements, transcriptions, metadata and entities.

As the Elasticsearch entity search was the main way to access a project's entities, a new entity list is available in the Actions menu, as well as the new ListCorpusEntities API endpoint.

Database changes

The concept of zones has been removed and element polygons have been moved to the elements themselves. The migration process can require a lot of disk space, but ends with a net decrease in database space, which can improve performance.

Additionally, SQL queries in many endpoints have been optimized, particularly on element, element hierarchy or worker results deletions.

Process management

The start or end date of a process is now displayed in the process list in the frontend, making it easier to follow multiple of them at once or to tell when a process ran.

Worker version caching

The ListCorpusWorkerVersions endpoint is used to power the worker version filters in the frontend and often caused timeout issues on large projects, resulting in "Bad Gateway" error messages in the frontend from a seemingly unknown origin. A new caching system has been implemented to remedy this.

Instance administrators will need to run arkindex cache_worker_versions to rebuild the cache system for the filters to work again.

Task priority

Tasks may now be assigned a priority level. This level is set to 10 by default but can be modified by instance administrators to allow processes to be started first or last during periods of high demand.

Other changes

  • TranscriptionEntity can now have an optional confidence level.
  • Element creation dates are now available in the API.
  • A new CreateMetaDataBulk endpoint has been added to create multiple metadata at once on an element.
  • Export and removal asynchronous jobs now have configurable timeouts, and the defaults are now set to two hours instead of 30 minutes.

Bugfixes

  • Importing an image with an EXIF orientation set to "top-left" no longer fails with rotation errors.
  • Running a workflow on zero elements now shows a cleaner error message instead of a Python stack trace.
  • When defining multiple workers which used different Dockerfiles in .arkindex.yml, a Git push now properly starts multiple build tasks instead of only one.
  • Ponos agents now properly release the disk space assigned for temporary files when downloading Docker images.
  • Numeric metadata can now be created by instance administrators in the "free edit" mode of the frontend.
  • Deleting a project that had a top-level type set should no longer cause an error at the element type deletion step.
  • Project exports no longer fail when the project includes metadata created by workers.
  • Deleting worker results now also deletes metadata created by workers.