Difference between revisions of "Archivists Toolkit integration"

From Archivematica
Jump to navigation Jump to search
m (Move to feature requirements category)
(39 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 upload to Archivists' Toolkit.
+
This feature will re-format a DIP for import into Archivists' Toolkit.
 +
 
 +
[[Category:Feature requirements]]
  
 
=Workflow=
 
=Workflow=
 +
#The user sets AT upload configuration options in the admin tab, via a menu called Archivists' Toolkit settings (see '''Settings''', below)
 
#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"
#This automatically opens a data-entry form which must be completed by the user
+
#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)
#When the user saves the data and closes the data-entry form, the data are written to a tab-delimited text file in the DIP called ''ATmetadata.txt''
 
 
#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 AIP METS file '''is not''' copied to the DIP.
+
==Settings==
*The tab-delimited text file contains field values:
+
 
**entered directly by the user from the data-entry form described above
+
This screenshot shows the settings form in the admin tab, with some default settings:
**auto-populated from metadata generated during processing
+
</br>
  
==Metadata entry template==
 
  
===Field mapping===
+
[[File:Metadata_entry.png|380px|thumb|center|]]
  
This screenshot shows the metadata entry form with the tab-delimited text file column headers indicated in grey font:
+
</br>
  
[[File:Metadata_entry_0.png|380px|thumb|center|]]
+
==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
 
</br>
 
</br>
  
====Field notes====
+
==RestrictionsApply: Base on PREMIS==
From metadata entry form:
+
 
*useStatement (required element)
+
===Disseminate===
*restrictionsApply (yes = TRUE, no = FALSE) - ''Question: would it be possible to auto-populate based on PREMIS rights?''
+
 
*isComponent (yes = TRUE, no = FALSE)
+
*If PREMIS <act> = Disseminate and PREMIS <restriction> = Allow, restrictionsApply = FALSE
*digitalObjectID (required if isComponent = TRUE, user bases entry on ID of parent digital object description in AT. If isComponent = FALSE, this field is auto-populated with the file UUID.)
+
*If PREMIS <act> = Disseminate and PREMIS <restriction> = Conditional, restrictionsApply = TRUE
*objectType
+
*If PREMIS <act> = Disseminate and PREMIS <restriction> = Disallow, restrictionsApply = TRUE
*title (if user leaves blank, this field is auto-populated with original filename)
+
*If PREMIS <act> = Disseminate, populate ''ConditionsGoverningAccess'' with contents of PREMIS rightsGrantedNote
*dateExpression (free text field)
+
*When restrictionsApply=TRUE, both eadDaoActuate and eadDaoShow will be set to “none.”
*dateBegin (must be year only, eg 2012)
 
*dateEnd (must be year only, eg 2012)
 
  
 
</br>
 
</br>
Auto-populated:
+
 
*digitalObjectID (if not filled in by user, this field is auto-populated with file UUID)
+
===Publish===
*title (if not filled in by user, this field is auto-populated with original filename)
+
 
*uri (filepath and filename, including extension and UUID)
+
*If PREMIS <act> = Publish, populate ''ConditionsGoverningUse'' with contents of PREMIS rightsGrantedNote
*existenceLocationOriginals (AIP UUID)
 
  
 
</br>
 
</br>
  
===Example 1===
+
=Mapping digital objects to descriptions=
 +
 
  
'''Metadata entry form'''
+
==Workflow==
  
[[File:Metadata_entry_1.png|380px|thumb|center|]]
+
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==
 +
 
 +
The user interface will be based on the following design:
 +
 
 +
</br>
  
{| border="1" cellpadding="10" cellspacing="0" width="100%"
+
[[File:AT.png|380px|thumb|center|]]
|-
 
!'''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===
+
Here is an example of the search and pairing template:
  
'''Metadata entry form'''
+
</br>
  
[[File:Metadata_entry_2.png|380px|thumb|center|]]
+
[[File:ATmatching.png|800px|thumb|center|]]
  
'''Column headers and sample values'''
+
</br>
  
{| border="1" cellpadding="10" cellspacing="0" width="100%"
+
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.
|-
 
!'''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>
  
[[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