Skip to content

v1.13.1 - Hosted adjuncts, `maxWidth` and `openFullMax`

Choose a tag to compare

@donaldgray donaldgray released this 11 Jun 14:38
187b52c

Summary

  • maxWidth and openFullMax
    • Orchestrator respects maxWidth and openFullMax, see ADR 0010 and ADR 0011
    • Orchestrator strictly parses IIIF ImageApi 2.1 and 3.0 requests.
    • Orchestrator will always refresh cached asset before generating info.json.
    • Display maxWidth and openFullMax in Portal
  • Support hosted adjuncts, updates to API/Orchestrator/Engine, see https://dlcs.github.io/public-docs/api-doc/adjuncts/
  • Introduce adjunct batches
  • Handling of 'stub' assets. Space 0 repurposed, see RFC 022
  • Delete CustomerStorage record when space deleted.

Bugfixes

  • Catch edge-case where not-found image returns incorrect status code #1197
  • Handle s3 objects larger than 50GB #1200

What's Changed

Warning

When deploying to an existing environment, the MaxWidth appSetting value for API, Engine and Orchestrator may need to be set depending on existing image-server configuration. The backing image-server config may need to be set to allow this MaxWidth, or disabled to allow orchestrator to control.

OldestAllowedInfoJson will also need to be set to ensure info.json files are refreshed. This may result in an increase in Orchestration operations.

Warning

Contains migrations

  • New columns in "Images" and UPDATE statement. This could be slow / expensive in some environments! #1105
  • Adjunct-related #1115, #1118, #1153, #1171
  • Repurposing space0 #1191, #1203

Note

This PR requires infrastructure changes.

  • Required:
    • SQS queues for adjunct updating and deletion
    • SNS topic for adjunct modification
  • Optional: AdjunctBatch completion SNS topic. If present API or Engine will publish a notification when an AdjunctBatch is completed. If missing a warning will be logged.
  • Optional: For environments where larger AV files are expected, timebased queue visibility_timeout could be increased to allow for handling. In practice this won't have much affect as messages are only retried once.

Note

This PR introduces configuration changes.

Service AppSetting Required? Description Default
CleanupHandler AWS:SQS:AdjunctDeleteNotificationQueueName N Delete notification queue name null
CleanupHandler AWS:SQS:AdjunctUpdateNotificationQueueName N Update notification queue name null
API AWS:SNS:AdjunctModifiedNotificationTopicArn N Update notification topic null
Engine AWS:SNS:AdjunctBatchCompletedTopicArn N ARN for AdjunctBatch Completion SNS topic null
API AWS:SNS:AdjunctBatchCompletedTopicArn N ARN for AdjunctBatch Completion SNS topic null
Engine AWS:S3:CopyPartConcurrency N Number of concurrent part uploads 4
Orchestrator MaxAdjunctSizeBytes N Max permitted annotation adjunct size 5 * 1024 * 1024

Full Changelog: v1.12.1...v1.13.1