Optional features
Arkindex comes with optional features that need additional configuration to be enabled, and may come with additional requirements.
Each optional feature can be enabled or disabled using the feature flags.
File import
File imports are the simpler way to allow users to upload small amounts of images in Arkindex. This feature is enabled by default, and since Arkindex 1.13.1, it can be disabled.
Disabling this feature may be helpful on some instances where the data only comes from elsewhere, and where the additional configuration burden for those imports is not needed.
S3 requirements
The file import feature requires two distinct S3 buckets to be available:
-
a staging bucket, used to store files uploaded by users;
-
another bucket where images can be uploaded to by file import processes, and that will be served by an IIIF server.
The staging bucket will require additional configuration to allow the Arkindex frontend to upload directly to it.
IIIF server requirements
File import processes will process the uploaded files and upload images to an image server. This image server must have its S3 bucket set to the name of the S3 bucket from which it will serve images, as this will allow the processes to know where to upload their images to.
Configuration
When file imports are enabled:
-
the
s3.staging_bucketmust be set, to allow files to be uploaded; -
the
local_imageserver_idmust be set to the ID of the image server that will serve imported images.
To disable file imports, the features.import feature flag need to be disabled.
S3 ingestion
S3 ingestion, also known as importing from S3, allows users to upload large amounts of images to an S3 bucket that an IIIF server uses directly, then to let Arkindex discover those. This removes the intermediate step of processing and converting the images that a regular file import would do.
S3 requirements
The S3 ingestion feature requires a set of S3 credentials with read and write access to each of the buckets to import. Write access is required to enable importing ZIP archives and PDF documents, as the import process will extract archives and render PDF pages as JPEG, then upload those to the bucket.
While the S3 credentials should allow to call the ListBuckets API, additional buckets that are not be visible on the list may be added manually using the ingest.extra_buckets setting. This can help with some S3 implementations that allow some buckets to remain invisible in ListBuckets even when they are accessible.
IIIF server requirements
The S3 ingestion feature uses a single image server, which means a single IIIF server must be able to operate on all of the buckets to ingest.
In a configuration where only one bucket is ever used with this feature, it is possible to use any S3-compatible IIIF server with no additional requirements.
With multiple buckets, the IIIF server will need to be able to serve images from any of the buckets. Teklia’s Cantaloupe Docker image supports this by treating IIIF image identifiers as a bucket name followed by a key: bucket%2Fkey. Whether the S3 ingestion will prefix image identifiers with the bucket name can be toggled with the ingest.prefix_by_bucket_name setting.
Configuration
To enable S3 ingestion, additional backend configuration is required:
-
the
ingestsection must be set for the S3 credentials and the image server settings; -
the
features.ingestfeature flag needs to be enabled.
Search
To learn how to enable, configure and use the search feature, see the search documentation.
Selection
The selection feature enables users to perform operations on a large amount of elements at once, such as moving elements to a different parent, starting a process, adding a classification, etc. Some operations may come at a significant performance cost, because the lack of common attributes between the elements, such as a shared parent, prevents many optimizations.
This feature is enabled by default, but it may be disabled using the features.selection feature flag.
Registration
By default, users can register themselves on an Arkindex instance. This feature may be disabled using the features.signup feature flag.