Difference between revisions of "Archivists Toolkit integration"

From Archivematica
Jump to navigation Jump to search
m (Move to feature requirements category)
(33 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Main Page]] > [[Development]] > [[Requirements]] > Integration with Archivists' Toolkit
+
[[Main Page]] > [[Development]] > [[Requirements]] > Archivists' Toolkit integration
  
 
This feature will re-format a DIP for import into Archivists' Toolkit.
 
This feature will re-format a DIP for import into Archivists' Toolkit.
 +
 +
[[Category:Feature requirements]]
  
 
=Workflow=
 
=Workflow=
Line 7: Line 9:
 
#The user processes a SIP the same way that all SIPs are processed
 
#The user processes a SIP the same way that all SIPs are processed
 
#At the Upload DIP micro-service, the user selects "Upload to Archivists' Toolkit"
 
#At the Upload DIP micro-service, the user selects "Upload to Archivists' Toolkit"
#A tab-delimited file generated from the settings called ATmetadata.txt is placed in the DIP
+
#Archivematica opens a separate tab with user interface to allow the user to link digital objects to resource components in AT (see '''Mapping digital objects to descriptions''', below)
 
#The DIP is placed in ''/uploadedDIPs/AT/''.
 
#The DIP is placed in ''/uploadedDIPs/AT/''.
#The user can edit the metadata in the text file if desired
+
#Archivematica sends the DIP metadata to Archivists Toolkit
#The user manually imports the text file into Archivists' Toolkit
+
</br>
  
 
=DIP requirements=
 
=DIP requirements=
 
*A DIP formatted for upload to Archivists' Toolkit consists of the objects plus a tab-delimited text file called ''ATmetadata.txt''.
 
*The tab-delimited text file contains field values:
 
**entered directly by the user from the data-entry form described above
 
**auto-populated from metadata generated during processing
 
  
 
==Settings==
 
==Settings==
  
 
This screenshot shows the settings form in the admin tab, with some default settings:
 
This screenshot shows the settings form in the admin tab, with some default settings:
 +
</br>
 +
  
 
[[File:Metadata_entry.png|380px|thumb|center|]]
 
[[File:Metadata_entry.png|380px|thumb|center|]]
Line 27: Line 26:
 
</br>
 
</br>
  
==ATmetadata.txt file==
+
==Database field mapping==
The tab-delimited file ATmetadata.txt will contain one row of metadata per digital object in the DIP. On DIP metadata upload, all of the metadata will be used to populate the digital object instances in AT  as follows:
 
  
 
*'''restrictionsApply''': TRUE or FALSE (see also '''RestrictionsApply: Base on PREMIS''', below)
 
*'''restrictionsApply''': TRUE or FALSE (see also '''RestrictionsApply: Base on PREMIS''', below)
*'''isComponent''': FALSE
+
*'''isComponent''': TRUE or FALSE
 
*'''eadDaoActuate''': onRequest
 
*'''eadDaoActuate''': onRequest
 
*'''eadDaoShow''': new
 
*'''eadDaoShow''': new
 
*'''useStatement''': Image-Service [for example]
 
*'''useStatement''': Image-Service [for example]
*'''objectType''': if no data entered, leave emtpy
+
*'''objectType''': If no data entered, leave emtpy
*'''conditionsGoverningAccess''': if no data entered, automatically populate from PREMIS <rightsGrantedNote>. If there is no content in <rightsGrantedNote>, leave empty
+
*'''conditionsGoverningAccess''': If no data entered, automatically populate from PREMIS <rightsGrantedNote>. If there is no content in <rightsGrantedNote>, leave empty
 
*'''conditionsGoverningUse''': If no data entered, leave empty  
 
*'''conditionsGoverningUse''': If no data entered, leave empty  
*'''digitalObjectID''': automatically populate with file UUID
+
*'''digitalObjectID''': If isComponent is TRUE, populate from ''Parent digital object ID field'' in settings; if isComponent is FALSE, automatically populate with file UUID
*'''title''': automatically populate with filename (without UUID)
+
*'''title''': Automatically populate with filename (without UUID)
*'''uri''': automatically populate with eg www.rockarch.org/[UUID]-filename
+
*'''uri''': Automatically populate with eg http://www.myinstitution.org/[UUID]-filename
 
*'''existenceLocationOriginals''': automatically populate with AIP UUID
 
*'''existenceLocationOriginals''': automatically populate with AIP UUID
 +
</br>
 +
 +
==RestrictionsApply: Base on PREMIS==
 +
 +
===Disseminate===
 +
 +
*If PREMIS <act> = Disseminate and PREMIS <restriction> = Allow, restrictionsApply = FALSE
 +
*If PREMIS <act> = Disseminate and PREMIS <restriction> = Conditional, restrictionsApply = TRUE
 +
*If PREMIS <act> = Disseminate and PREMIS <restriction> = Disallow, restrictionsApply = TRUE
 +
*If PREMIS <act> = Disseminate, populate ''ConditionsGoverningAccess'' with contents of PREMIS rightsGrantedNote
 +
*When restrictionsApply=TRUE, both eadDaoActuate and eadDaoShow will be set to “none.”
 +
 +
</br>
  
===RestrictionsApply: Base on PREMIS===
+
===Publish===
  
*If PREMIS <act>= Disseminate and PREMIS <restriction> = Allow, restrictionsApply = FALSE
+
*If PREMIS <act> = Publish, populate ''ConditionsGoverningUse'' with contents of PREMIS rightsGrantedNote
*If PREMIS <act>= Disseminate and PREMIS <restriction> = Conditional, restrictionsApply = TRUE
 
*If PREMIS <act>= Disseminate and PREMIS <restriction> = Disallow, restrictionsApply = TRUE
 
*In addition, when restrictionsApply=TRUE, both eadDaoActuate and eadDaoShow will be set to “none.”
 
  
 
</br>
 
</br>
  
===Example 1===
+
=Mapping digital objects to descriptions=
  
'''Metadata entry form'''
 
  
[[File:Metadata_entry_1.png|380px|thumb|center|]]
+
==Workflow==
  
 +
For examples and discussion of what the user interface described below might look like, see http://ux.stackexchange.com/questions/25715/how-can-i-allow-users-to-easily-pair-items-from-long-lists.
 +
 +
#The user is presented with a menu to select the Archivists’ Toolkit collection to which digital access objects should be added.
 +
#*This menu should list at least the title of the collection and the  Resource ID
 +
#Archivematica returns all components of that collection at every level, including the collection level.
 +
#*Enough data needs to be returned to the user to distinguish between components. At minimum, this would likely include the title, date, level (ie series, subseries, file) and persistent ID of the component.
 +
#The user is presented with a screen that allows them to match components with digital access objects.
 +
#*The user should be presented with the information specified above for each component. For digital objects, the user should be presented with the filename of the digital access objects, preferably without the Archivematica UUIDs since these are appended to the beginning of filenames and would confuse the user and/or inhibit sorting.
 +
#*The user should be able to match components at any level with a digital access object.
 +
#*The user should be able to match multiple digital access objects to a single component
 +
#*A sorting mechanism should be available.
 +
#*Once a match is made, the matched objects should move to another part of the screen or be grayed out.
 +
#Once all desired matches have been made, a review/confirmation screen should be presented to the user, allowing them to confirm that they have made the correct matches. This could be accomplished by a different view of the matches made, or by export or print functionality.
 +
#On confirmation, Archivematica writes data directly to the AT database. In all cases, Archivematica will add a digital object link and record, not replace or modify an existing link or record.
 
</br>
 
</br>
  
'''Column headers and sample values'''
+
==User interface==
  
{| border="1" cellpadding="10" cellspacing="0" width="100%"
+
The user interface will be based on the following design:
|-
 
!'''useStatement'''
 
!'''restrictionsApply'''
 
!'''isComponent'''
 
!style="width:20%"|'''digitalObjectID'''
 
!'''objectType'''
 
!style="width:5%"|'''title'''
 
!'''dateExpession'''
 
!'''dateBegin'''
 
!'''dateEnd'''
 
!style="width:30%"|'''uri'''
 
!style="width:20%"|'''existenceLocationOriginals'''
 
|-
 
|Image-Service
 
|FALSE
 
|FALSE
 
|n952198j-70kj-7dn1-d353-2071lb670e7k
 
|still image
 
|Image 01
 
|August 12, 2009
 
|2009
 
|2009
 
|.../uploadedDIPs/AT/Image-01.jpg-n952198j-70kj-7dn1-d353-2071lb670e7k
 
|v753198j-85kj-7ec1-b181-7051fb000e8m
 
|-
 
|Image-Service
 
|FALSE
 
|FALSE
 
|x732198n-80fi-6em1-j934-3091cb090e3g
 
|still image
 
|Image 02
 
|August 12, 2009
 
|2009
 
|2009
 
|.../uploadedDIPs/AT/Image-02.jpg-x732198n-80fi-6em1-j934-3091cb090e3g
 
|v753198j-85kj-7ec1-b181-7051fb000e8m
 
|-
 
|Image-Service
 
|FALSE
 
|FALSE
 
|z022198m-90kg-8ed1-w395-4551sb054e0v
 
|still image
 
|Image 03
 
|August 12, 2009
 
|2009
 
|2009
 
|.../uploadedDIPs/AT/Image-03.jpg-z022198m-90kg-8ed1-w395-4551sb054e0v
 
|v753198j-85kj-7ec1-b181-7051fb000e8m
 
|-
 
|Image-Service
 
|FALSE
 
|FALSE
 
|v753198j-85kj-7ec1-b181-7051fb070e8b
 
|still image
 
|Image 04
 
|August 12, 2009
 
|2009
 
|2009
 
|.../uploadedDIPs/AT/Image-04.jpg-v753198j-85kj-7ec1-b181-7051fb070e8b
 
|v753198j-85kj-7ec1-b181-7051fb000e8m
 
|-
 
|}
 
  
 
</br>
 
</br>
  
===Example 2===
+
[[File:AT.png|380px|thumb|center|]]
  
'''Metadata entry form'''
+
</br>
  
[[File:Metadata_entry_2.png|380px|thumb|center|]]
+
Here is an example of the search and pairing template:
  
'''Column headers and sample values'''
+
</br>
  
{| border="1" cellpadding="10" cellspacing="0" width="100%"
+
[[File:ATmatching.png|800px|thumb|center|]]
|-
 
!'''useStatement'''
 
!'''restrictionsApply'''
 
!'''isComponent'''
 
!'''digitalObjectID'''
 
!'''objectType'''
 
!style="width:5%"|'''title'''
 
!'''dateExpession'''
 
!'''dateBegin'''
 
!'''dateEnd'''
 
!style="width:30%"|'''uri'''
 
!style="width:20%"|'''existenceLocationOriginals'''
 
|-
 
|Image-Service
 
|TRUE
 
|TRUE
 
|AM1004.2
 
|still image
 
|Image 01
 
|
 
|
 
|
 
|.../uploadedDIPs/AT/Image-01.jpg-n952198j-70kj-7dn1-d353-2071lb670e7k
 
|v753198j-85kj-7ec1-b181-7051fb000e8m
 
|-
 
|Image-Service
 
|TRUE
 
|TRUE
 
|AM1004.2
 
|still image
 
|Image 02
 
|
 
|
 
|
 
|.../uploadedDIPs/AT/Image-02.jpg-x732198n-80fi-6em1-j934-3091cb090e3g
 
|v753198j-85kj-7ec1-b181-7051fb000e8m
 
|-
 
|Image-Service
 
|TRUE
 
|TRUE
 
|AM1004.2
 
|still image
 
|Image 03
 
|
 
|
 
|
 
|.../uploadedDIPs/AT/Image-03.jpg-z022198m-90kg-8ed1-w395-4551sb054e0v
 
|v753198j-85kj-7ec1-b181-7051fb000e8m
 
|-
 
|Image-Service
 
|TRUE
 
|TRUE
 
|AM1004.2
 
|still image
 
|Image 04
 
|
 
|
 
|
 
|.../uploadedDIPs/AT/Image-04.jpg-v753198j-85kj-7ec1-b181-7051fb070e8b
 
|v753198j-85kj-7ec1-b181-7051fb000e8m
 
|-
 
|}
 
  
__NOTOC__
+
</br>
 +
 
 +
The user can then review and approve the pairs. If the user deletes a digital object from this screen, the digital object re-appears in the search and pairing template and can be re-matched.
 +
 
 +
</br>
  
[[Category:Development documentation]]
+
[[File:ATapprove.png|800px|thumb|center|]]

Revision as of 14:28, 23 March 2017

Main Page > Development > Requirements > Archivists' Toolkit integration

This feature will re-format a DIP for import into Archivists' Toolkit.

Workflow

  1. The user sets AT upload configuration options in the admin tab, via a menu called Archivists' Toolkit settings (see Settings, below)
  2. The user processes a SIP the same way that all SIPs are processed
  3. At the Upload DIP micro-service, the user selects "Upload to Archivists' Toolkit"
  4. Archivematica opens a separate tab with user interface to allow the user to link digital objects to resource components in AT (see Mapping digital objects to descriptions, below)
  5. The DIP is placed in /uploadedDIPs/AT/.
  6. Archivematica sends the DIP metadata to Archivists Toolkit


DIP requirements

Settings

This screenshot shows the settings form in the admin tab, with some default settings:


Metadata entry.png


Database field mapping

  • restrictionsApply: TRUE or FALSE (see also RestrictionsApply: Base on PREMIS, below)
  • isComponent: TRUE or FALSE
  • eadDaoActuate: onRequest
  • eadDaoShow: new
  • useStatement: Image-Service [for example]
  • objectType: If no data entered, leave emtpy
  • conditionsGoverningAccess: If no data entered, automatically populate from PREMIS <rightsGrantedNote>. If there is no content in <rightsGrantedNote>, leave empty
  • conditionsGoverningUse: If no data entered, leave empty
  • digitalObjectID: If isComponent is TRUE, populate from Parent digital object ID field in settings; if isComponent is FALSE, automatically populate with file UUID
  • title: Automatically populate with filename (without UUID)
  • uri: Automatically populate with eg http://www.myinstitution.org/[UUID]-filename
  • existenceLocationOriginals: automatically populate with AIP UUID


RestrictionsApply: Base on PREMIS

Disseminate

  • If PREMIS <act> = Disseminate and PREMIS <restriction> = Allow, restrictionsApply = FALSE
  • If PREMIS <act> = Disseminate and PREMIS <restriction> = Conditional, restrictionsApply = TRUE
  • If PREMIS <act> = Disseminate and PREMIS <restriction> = Disallow, restrictionsApply = TRUE
  • If PREMIS <act> = Disseminate, populate ConditionsGoverningAccess with contents of PREMIS rightsGrantedNote
  • When restrictionsApply=TRUE, both eadDaoActuate and eadDaoShow will be set to “none.”


Publish

  • If PREMIS <act> = Publish, populate ConditionsGoverningUse with contents of PREMIS rightsGrantedNote


Mapping digital objects to descriptions

Workflow

For examples and discussion of what the user interface described below might look like, see http://ux.stackexchange.com/questions/25715/how-can-i-allow-users-to-easily-pair-items-from-long-lists.

  1. The user is presented with a menu to select the Archivists’ Toolkit collection to which digital access objects should be added.
    • This menu should list at least the title of the collection and the Resource ID
  2. Archivematica returns all components of that collection at every level, including the collection level.
    • Enough data needs to be returned to the user to distinguish between components. At minimum, this would likely include the title, date, level (ie series, subseries, file) and persistent ID of the component.
  3. The user is presented with a screen that allows them to match components with digital access objects.
    • The user should be presented with the information specified above for each component. For digital objects, the user should be presented with the filename of the digital access objects, preferably without the Archivematica UUIDs since these are appended to the beginning of filenames and would confuse the user and/or inhibit sorting.
    • The user should be able to match components at any level with a digital access object.
    • The user should be able to match multiple digital access objects to a single component
    • A sorting mechanism should be available.
    • Once a match is made, the matched objects should move to another part of the screen or be grayed out.
  4. Once all desired matches have been made, a review/confirmation screen should be presented to the user, allowing them to confirm that they have made the correct matches. This could be accomplished by a different view of the matches made, or by export or print functionality.
  5. On confirmation, Archivematica writes data directly to the AT database. In all cases, Archivematica will add a digital object link and record, not replace or modify an existing link or record.


User interface

The user interface will be based on the following design:


AT.png


Here is an example of the search and pairing template:


ATmatching.png


The user can then review and approve the pairs. If the user deletes a digital object from this screen, the digital object re-appears in the search and pairing template and can be re-matched.


ATapprove.png