Skip to content

Commit 21105e8

Browse files
author
Dylan Sheffer
authored
Version 1.3
Added support for importing citation data for Resources, Digital Objects, and Accessions. Added ability to import specific instance information for Archival Objects. The fields can be customized in the DataMapping.lua file.
1 parent f746a47 commit 21105e8

10 files changed

Lines changed: 1709 additions & 0 deletions

File tree

Aeon-ArchivesSpace-Addon/Aeon-ArchivesSpace.lua

Lines changed: 852 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3+
<Name>ArchivesSpace Interface</Name>
4+
<Author>Atlas Systems, Inc.</Author>
5+
<Version>1.3.0</Version>
6+
<Active>True</Active>
7+
<Type>Addon</Type>
8+
<Description>This addon performs searches in ArchivesSpace using the staff interface. This addon supports ArchivesSpace versions v2.0.0 and later.</Description>
9+
<Forms>
10+
<Form>FormRequest</Form>
11+
</Forms>
12+
<Settings>
13+
<Setting name="AutoSearch" value="true" type="boolean">
14+
<Description>Defines whether the search should be automatically performed when the form opens.</Description>
15+
</Setting>
16+
<Setting name="ArchivesSpaceStaffURL" value="" type="string">
17+
<Description>The URL of the ArchivesSpace Frontend Staff UI. An example would be http://127.0.0.1:8080/</Description>
18+
</Setting>
19+
<Setting name="ArchivesSpaceBackendURL" value="" type="string">
20+
<Description>The URL of the ArchviesSpace Backend API service. An example would be http://127.0.0.1:8089/</Description>
21+
</Setting>
22+
<Setting name="AS_Username" value="" type="string">
23+
<Description>The staff username to use when logging in to the web interface. It is recommended to use an account that has read-only permissions on the relevant repositories.</Description>
24+
</Setting>
25+
<Setting name="AS_Password" value="" type="string">
26+
<Description>The staff password to use when logging in to the web interface. It is recommended to use an account that has read-only permissions on the relevant repositories.</Description>
27+
</Setting>
28+
<Setting name="AutoSearchPriority" value="Title, Author, CallNumber" type="string">
29+
<Description>A comma-separated list of searches to be performed in order.</Description>
30+
</Setting>
31+
</Settings>
32+
<Files>
33+
<File>Aeon-ArchivesSpace.lua</File>
34+
</Files>
35+
</Configuration>
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
HostAppInfo = {}
2+
ASpaceSearchCode = {};
3+
HostAppInfo.Icons = {};
4+
HostAppInfo.SearchMapping = {};
5+
HostAppInfo.PageUri = {};
6+
7+
-- Icons
8+
HostAppInfo.Icons["Search"] = "srch_32x32";
9+
HostAppInfo.Icons["Home"] = "home_32x32";
10+
HostAppInfo.Icons["Web"] = "web_32x32";
11+
HostAppInfo.Icons["Import"] = "impt_32x32";
12+
13+
-- ArchivesSpace Search Types
14+
ASpaceSearchCode["Creator"] = "creators"
15+
ASpaceSearchCode["Identifier"] = "identifier"
16+
ASpaceSearchCode["Keyword"] = "keyword"
17+
ASpaceSearchCode["Notes"] = "notes"
18+
ASpaceSearchCode["Subject"] = "subjects"
19+
ASpaceSearchCode["Title"] = "title"
20+
21+
--Search Mapping
22+
HostAppInfo.SearchMapping["Title"] =
23+
{
24+
AeonSourceField = "ItemTitle",
25+
ASpaceSearchType = ASpaceSearchCode["Title"]
26+
}
27+
28+
HostAppInfo.SearchMapping["Author"] =
29+
{
30+
AeonSourceField = "ItemAuthor",
31+
ASpaceSearchType = ASpaceSearchCode["Creator"]
32+
}
33+
34+
HostAppInfo.SearchMapping["CallNumber"] =
35+
{
36+
AeonSourceField = "CallNumber",
37+
ASpaceSearchType = ASpaceSearchCode["Identifier"]
38+
}
39+
40+
-- Object Instance Mapping
41+
HostAppInfo.InstanceDataImport = {};
42+
43+
HostAppInfo.InstanceDataImport["Title"] =
44+
{
45+
AeonField = "ItemTitle", AspaceData = "ResourceTitle", FieldLength = 255, ItemGridColumn = "Title"
46+
}
47+
48+
HostAppInfo.InstanceDataImport["CallNumber"] =
49+
{
50+
AeonField = "CallNumber", AspaceData = "EadId", FieldLength = 255, ItemGridColumn = "CallNumber"
51+
}
52+
53+
HostAppInfo.InstanceDataImport["SubTitle"] =
54+
{
55+
AeonField = "ItemSubtitle", AspaceData = "ArchivalObjectTitle", FieldLength = 255, ItemGridColumn = "SubTitle"
56+
}
57+
58+
HostAppInfo.InstanceDataImport["Author"] =
59+
{
60+
AeonField = "ItemAuthor", AspaceData = "Creators", FieldLength = 255, ItemGridColumn = "Author"
61+
}
62+
63+
HostAppInfo.InstanceDataImport["Volume"] =
64+
{
65+
AeonField = "ItemVolume", AspaceData = "ArchivalObjectContainer", FieldLength = 255, ItemGridColumn = "Volume"
66+
}
67+
68+
69+
-- Resource Citation Import Mapping
70+
HostAppInfo.CitationDataImport = {}
71+
72+
HostAppInfo.CitationDataImport["Resource"] = {
73+
{
74+
AeonField = "ItemTitle", AspaceData = "Title", FieldLength = 255
75+
},
76+
{
77+
AeonField = "ItemAuthor", AspaceData = "Creators", FieldLength = 255
78+
},
79+
{
80+
AeonField = "ItemSubtitle", AspaceData = "FindingAidTitle", FieldLength = 255
81+
},
82+
{
83+
AeonField = "ItemDate", AspaceData = "DateExpression", FieldLength = 50
84+
}
85+
}
86+
87+
HostAppInfo.CitationDataImport["Accession"] = {
88+
{
89+
AeonField = "ItemTitle", AspaceData = "Title", FieldLength = 255
90+
},
91+
{
92+
AeonField = "ItemAuthor", AspaceData = "CreatedBy", FieldLength = 255
93+
},
94+
{
95+
AeonField = "ItemDate", AspaceData = "DateExpression", FieldLength = 50
96+
}
97+
}
98+
99+
HostAppInfo.CitationDataImport["DigitalObject"] = {
100+
{
101+
AeonField = "ItemTitle", AspaceData = "Title", FieldLength = 255
102+
},
103+
{
104+
AeonField = "ItemAuthor", AspaceData = "Creators", FieldLength = 255
105+
},
106+
{
107+
AeonField = "ItemSubtitle", AspaceData = "FindingAidTitle", FieldLength = 255
108+
},
109+
{
110+
AeonField = "ItemDate", AspaceData = "DateExpression", FieldLength = 50
111+
},
112+
{
113+
AeonField = "Location", AspaceData = "FileUri", FieldLength = 255
114+
}
115+
}
116+
117+
-- Page URIs
118+
HostAppInfo.PageUri["ArchivalObject"] = "repositories/%d+/archival_objects/%d+";
119+
HostAppInfo.PageUri["Resource"] = "repositories/%d+/resources/%d+";
120+
HostAppInfo.PageUri["Accession"] = "repositories/%d+/accessions/%d+";
121+
HostAppInfo.PageUri["DigitalObject"] = "repositories/%d+/digital_objects/%d+";
122+
123+
return HostAppInfo;

0 commit comments

Comments
 (0)