Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • AIP is a package describing one archival object.
    • Archival object may be *Item*, Collection, or Community. Bitstreams are included in an Item's AIP.
    • Each AIP is logically self-contained, can be restored without rest of the archive.
    • AIP profile trades off favoring completeness and accuracy rather than presenting the semantics of an object in a standard format. It conforms to the quirks of DSpace's internal object model rather than attempting to produce a universally understandable representation of the object.
    • An AIP can serve as a DIP, especially when transferring custody of objects to another DSpace implementation, but it is not intended to be a general-purpose DIP (the DSpace METS SIP profile is better for that).
  • The implementation is layered on top of DSpace 1.4 plus the EventSystemPrototype with minimal other changes to the source.
  • Restoration of an archive from AIPs is not perfectly complete; it is intended to recover from catastropic loss of content and metadata, not restore the exact same archive as before. Some information (e.g. access controls) would be lost.
  • This prototype does NOT attempt to redefine the asset store in terms of AIPs, as in the AssetStore proposals.

...

  • mets element
    • @PROFILE fixed value="http://www.dspace.org/schema/aip/1.0/mets.xsd" (this is how we identify an AIP manifest)
    • @OBJID URN-format persistent identifier (Handle) if available, or else a unique identifier.
    • @LABEL title if available
    • @TYPE DSpace object type, one of "DSpace ITEM", "DSpace COLLECTION", "DSpace COMMUNITY".
    • @ID is a globally unique identifier, such as {{dspace67075091976862014717971209717749394363{{.
      • Wiki Markup
        <span style="color: red">@IDs should be used wherever available, I'll put a note about forming IDs in the profile spec.</span>
        \[OK, but how unique does the ID have to be, just within the document or amongst all other AIP documentes? --lcs\]
        <span style="color: red">I can't imagine a scenario where we would reference an ID within a METS document from without that document, except for perhaps the <code>mets@ID</code>.  I would say the <code>mets@ID</code> should be unique amongst all AIP documents, but the other IDs should just be unique within the document.</span>
      • <font color="RED">@IDs should be used wherever available, I'll put a note about forming IDs in the profile spec.</font>
        OK, but how unique does the ID have to be, just within the document or amongst all other AIP documentes? --lcs
        <font color="RED">I can't imagine a scenario where we would reference an ID within a METS document from without that document, except for perhaps the mets@ID{{. I would say the {{mets@ID should be unique amongst all AIP documents, but the other IDs should just be unique within the document.</font>
  • mets/metsHdr element
    • @CREATEDATE timestamp that AIP was created.
    • @LASTMODDATE last-modified date on Item, or nothing for other objects.
      • <font color="RED">mets mets defines these attributes as describing the METS document itself, we use them to describe the AIP, which sometimes we think of as the METS document, but more often think of as the 'package' – i.e. the METS document and all the files. I don't have a problem with the use Larry put forth, but we need to mention it in a prolife. I wonder if these dates shouldn't rather be in a techMD section, or maybe both.</font>
    • agent element:
      • @ROLE = "CUSTODIAN",
      • @TYPE = "OTHER",
      • @OTHERTYPE = "DSpace Archive",
      • name = Site handle.
  • mets/dmdSec element
    • object's descriptive metadata crosswalked to MODS (or whatever the METS default is)
      • <font color="RED">See See link to RW's Comments Page below for notes on use of MODS</font>MODS
    • object's descriptive metadata in DSpace native DIM intermediate format, to serve as a complete and precise record for restoration or ingestion into another DSpace.
      • <font color="RED">We We should require mets/dmdSec@OTHERMDTYPE if @MDTYPE = "OTHER"</font>
    • When the mdWrap @TYPE value is OTHER{{, the element MUST include a value for the {{@OTHERTYPE attribute which names the crosswalk that produced (or interprets) that metadata, e.g. {{AIP-TECHMD{{.
  • mets/amdSec element - admin (technical, source, rights, and provenance) metadata for the entire archival object.
    • rightsMD elements of the following TYPEs:
      • DSpaceDepositLicense if the object has a deposit license, it is contained here.
      • CreativeCommonsRDF If the object is an Item with a Creative Commons license expressed in RDF, it is included here.
      • CreativeCommonsText If the object is an Item with a Creative Commons license in plain text, it is included here.
    • sourceMD elements - recorded twice, once in DSpace native format, once in PREMIS:
      <font COLOR="RED">NOTENOTE: PREMIS is only implemented for Bitstreams at the moment, and for the forseeable future.</font>
      • DSpace native format: MDTYPE="OTHER" OTHERMDTYPE="{{AIP-TECHMD{{" (see Crosswalks section below for details'')
      • PREMIS expression of this technical metadata for archival object. (To be done later.)
    • digiprovMD
      • When History data is available, includes a section of TYPE="DSpaceHistory" containing an RDF/XML rendition of the history data for the object. For internal AIPs, the history is stored in an external bitstream in the asset store; for self-contained packages it is a file in the package.
  • mets/amdSec elements - technical metadata for each of an Items's Bitstreams, both in PREMIS and DIM formats
  • mets/fileSec element
    • For archival objects of type ITEM:
    • mets/fileSec/fileGrp/file element
      • Set @SIZE to length of the bitstream. There is a redundant value in the techMD but it is more accessible here.
      • Set @MIMETYPE, @CHECKSUM, @CHECKSUMTYPE to corresponding bitstream values. There is redundant info in the techMD.
      • SET @SEQ to bitstream's SequenceID if it has one.
    • For archival objects of types COLLECTION and COMMUNITY:
      • Only if the object has a logo bitstream, there is a fileSec with one fileGrp child of {{@TYPE="LOGO"{{.
      • The fileGrp contains one file element, representing the logo Bitstream. It has the same file format, checksum, etc fields as the Item content bitstreams, but does not include metadata section references or a SequenceID.
      • See the main structMap for the reference to this file.
  • mets/structMap - Primary structure map, @LABEL="DSpace Object", @TYPE="LOGICAL"
    • For COLLECTION objects: Top-level div has one child:
      1. div with @TYPE="MEMBERS"{{. For every Item in the Collection, it contains a {{div with an mptr linking to the Handle of that Item. Its @LOCTYPE="HANDLE"{{, and {{@xlink:href value is the raw Handle.
      • If Collection has a Logo bitstream, there is an fptr reference to it in the very first {{div{{.
    • For COMMUNITY objects: Top-level div has two children:
      1. div with @TYPE="SUBCOMMUNITIES"{{. For every Sub-Community in the Community it contains a {{div with an mptr linking to the Handle of that Community. Its @LOCTYPE="HANDLE"{{, and {{@xlink:href value is the raw Handle.
      2. div with @TYPE="COLLECTIONS"{{. For every child Collection, it contains a {{div with an mptr linking to the Handle of that Collection. Its @LOCTYPE="HANDLE"{{, and {{@xlink:href value is the raw Handle.
      • If Community has a Logo bitstream, there is an fptr reference to it in the very first {{div{{.
    • ITEM objects have the same kind of simple structure map as SIP/DIP: top level div with a div under it for each visible Bitstream.
      • If Item has primary bitstream, put it in first {{structMap/div/fptr{{.
  • mets/structMap - Structure Map to indicate object's Parent
    • Contains one div element which has the unique attribute value TYPE="AIP Parent Link" to identify it as the older of the parent pointer.
      • It contains a mptr element whose xlink:href attribute value is the raw Handle of the parent object, e.g. {{1721.1/4321{{.<p>In order to restore a DSpace archive from internal AIPs in the asset store, the parent of each object must be available at the surface level of the METS document so the object can be instantiated under its correct parent before the metadata (which may also name the parent) is crosswalked.

...