Aeon ArchivesSpace Location Import Server Addon

This is a Server Addon and is installed using the Aeon Customization Manager. See Configuring Server Addons for more information.

Name

Aeon ArchivesSpace Location Import Server Addon

Version

1.0.3

Author

Atlas Systems, Inc.

Description

This addon imports data from the ArchivesSpace API that are in a specified data import queue. The transaction will be routed to one of 2 queues, depending on the success of the data import.

Custom Fields Support

No

This addon is available for developers to modify and extend. Developers are encouraged to submit changes to this addon by forking the git repository from GitHub and creating a pull request.

Download

Release Notes

Release notes are available for Aeon ArchivesSpace Location Import Server Addon v1.0.3 and later.

  • v1.0.3:

    • Fixed an issue where the addon would not properly dispose of the WebClients used for API calls, which could potentially lead to memory leak issues.

Workflow Summary

For each request in the queue defined by RequestMonitorQueue, the server addon will use the ArchivesSpace API top_containers endpoint to import the _resolved.title of the first current container_location retrieved to the Aeon field defined by LocationDestinationField and the request will be routed to SuccessRouteQueue. The method used to do this depends on the addon's configuration. If TopContainerUriField is not blank, the addon can retrieve the location with that field alone. If RepoCodeField is not blank, the Aeon field defined by RepoCodeField is used to first get a list of ArchivesSpace repos by repo_code. The repo ID is then retrieved from the repo with a matching repo_code, and the repo ID and barcode in the Aeon field defined by BarcodeField are used to retrieve the location. If RepoIdMapping is not blank, the mapping is first resolved and the repo ID selected based on the Aeon Site field. The repo ID and barcode defined by BarcodeField are then used to retrieve the location. If more than one of these settings contains a value, TopContainerUriField is prioritized, followed by RepoCodeField, and finally RepoCodeMapping. Requests will be routed to the ErrorRouteQueue in the following cases:

  • The addon fails to connect to the ArchivesSpace API

  • The ArchivesSpace API request is invalid

  • The ARchivesSpace API request returns a Not Found (404)

Configuration

Addon settings are configured in the Manage Addons form.

Setting

Default

Type

Description

Setting

Default

Type

Description

RequestMonitorQueue

ArchivesSpace Data Import

String

The queue that the addon will monitor for transactions that need ArchivesSpace data automatically imported. Required.

SuccessRouteQueue

New Request

String

The queue that the addon will route requests to after successfully importing data from ArchivesSpace. Required.

ErrorRouteQueue

ArchivesSpace Data Needed

String

The queue that the addon will route requests to if erros are encountered while importing data from ArchivesSpace. Required.

ArchivesSpaceApiUrl

 

String

URL of the ArchivesSpace API. Required.

ArchivesSpaceUsername

 

String

Staff username for Aeon user to access API. Required.

ArchivesSpacePassword

 

String

Staff password for Aeon user to access API. Required.

TopContainerUriField

TopContainerID

String

Specifies the custom transaction field that contains the ArchivesSpace record's top container URI. Leave blank to search for the record by repo ID and barcode. If used the value of this setting must match the name of a column from the Transactions custom fields table.

RepoCodeField

 

String

Specifies the Aeon field that contains the ArchivesSpace repo_code. Leave blank to use TopContainerUriField or RepoIdMapping. Must be a tag. Ex: {TableField:Transaction.ItemInfo1}

RepoIdMapping

 

String

A comma-separated list of repo IDs and corresponding Aeon site codes. Leave blank to use TopContainerUriField or RepoCodeField. Ex: 123=SITE1,456=SITE2,789=SITE3 See README file for how to locate repo IDs.

BarcodeField

 

String

Specifies the Aeon field that contains the ArchivesSpace barcode. Required when using RepoCodeField or RepoIdMapping. Must be a tag. Ex: {TableField:Transaction.ItemInfo2}

LocationDestinationField

Location

String

Specifies the transaction field where the location information for the transaction should be stored. The value of this setting must match the name of a column from the Transactions table. Required.

 

Because the ArchivesSpaceUsername and ArchivesSpacePassword fields are stored in plain text, it is recommended that staff do not use their own account for this addon. Instead, administrators should create an account specifically for this addon that has read-only permissions on the relevant repositories.

Addon Files

ASImport.lua

The main file for the addon.

AtlasHelpers.lua

Contains various utility functions that are common to many Atlas addons.

JsonParser.lua

Required for parsing the JSON responses from the ArchivesSpace API.

TagProcessor.lua

Required for parsing tags from the settings.

config.xml

The addon configuration file.

README.md

Detailed information and configuration instructions about for addon.

LICENSE

Contains copyright and licensing information for the addon.