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 |
---|---|---|---|
RequestMonitorQueue |
| String | The queue that the addon will monitor for transactions that need ArchivesSpace data automatically imported. Required. |
SuccessRouteQueue |
| String | The queue that the addon will route requests to after successfully importing data from ArchivesSpace. Required. |
ErrorRouteQueue |
| 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 |
| 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 |
| 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. |