General BagIt AIP Structure

Notes

BagIt Payload Detailed Structure

Policy Schema

The policy schema is a way to capture permission and policy information belonging to DSpace objects into a policy.xml file. It provides a one-to-one mapping to the ResourcePolicy object on a DSpace object. The hierarchy is as follows:

Policy Attribute Mapping
XML Attribute, ResourcePolicy field
name, name
type, rpType
group, group
action, action (represented as a String)
eperson, ePerson#getEmail
end-date, endDate
start-date, startDate
description, rpDescription
Example Schema

The following is an example policy.xml which belongs to a single DSpace object. It contains 4 policies: one for a custom group, one for the Administrator gorup, one for the Anonymous group, and one for an EPerson.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<policies>
    <policy action="ADMIN" group="COMMUNITY_hdl:123456789/1_ADMIN"/>
    <policy start-date="2010-01-01" action="READ" group="Anonymous"/>
    <policy start-date="2010-01-01" action="ADMIN" group="Administrator"/>
    <policy type="TYPE_CUSTOM" eperson="dspace-user@localhost.localdomain" action="Add"/>
</policies>

Metadata Schema

The metadata.xml contains information about the DSpace object, typically user generated. The hierarchy is as follows:

Value Attribute Mapping for Communities

For Communities, the following fields are translated to the metadata schema:

XML Attribute, Database Field
name, name
short_description, short_description
introductory_text, introductory_text
copyright_text, copyright_text
side_bar_text, side_bar_text
Value Attribute Mapping for Collections

For Collections, the following fields are translated to the metadata schema:

XML Attribute, Database Field
name, name
short_description, short_description
introductory_text, introductory_text
provenance_description, provenance_description
license, license
copyright_text, copyright_text
side_bar_text, side_bar_text
Value Attribute Mapping for Items

For Items, the following fields are translated to the metadata schema:

XML Attribute, MetadataValue Field
language, MetadataValue#getLanguage
qualifier, MetadataValue#getMetadataFeild#getQualifier
element, MetadataValue#getMetadataField#getElement
schema, MetadataValue#getMetadataField#getMetadataSchema#getName
Value Attribute Mapping for Bitstreams

For Bitstreams, the following fields are translated to the metadata schema:

XML Attribute, Bitstream Field
name, name
source, source
description, description
sequence-id, sequenceID
bundle-primary, true if the Bitstream is equal to Bundle#getPrimaryBitstream
Example metadata.xml (Item)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>                                                                                                       
<metadata>                                                                                                                                                    
    <value element="contributor" qualifier="author" schema="dc">User, DSpace</value>                                                                                                                                       
    <value element="date" qualifier="accessioned" schema="dc">2020-04-20T19:14:01Z</value>                                                                    
    <value element="date" qualifier="available" schema="dc">2020-04-20T19:14:01Z</value>                                                                      
    <value element="date" qualifier="issued" schema="dc">2019-02-10</value>                                                                                                                                                 
    <value element="identifier" qualifier="uri" schema="dc">http://localhost:8080/xmlui/handle/123456789/3</value>                                            
    <value element="description" language="en" qualifier="provenance" schema="dc">Submitted by DSpace User (dspace-test@localhost) on 2020-04-20T19:14:01Z          
No. of bitstreams: 1                                                                                                                                          
cover.jpg: 65692 bytes, checksum: ce271030c23b61c97f609e6cb8b55542 (MD5)</value>                                                
    <value element="description" language="en" qualifier="provenance" schema="dc">Made available in DSpace on 2020-04-20T19:14:01Z (GMT). No. of bitstreams: 1
cover.jpg: 65692 bytes, checksum: ce271030c23b61c97f609e6cb8b55542 (MD5)                                                        
  Previous issue date: 1989-02-10</value>                                                                                                                     
    <value element="description" language="en" qualifier="provenance" schema="dc">Restored into DSpace on 2020-04-20T21:31:39Z (GMT).</value>                 
    <value element="language" language="en_US" qualifier="iso" schema="dc">en</value>                                                                                                                                                
    <value element="subject" language="en_US" schema="dc">Keyword</value>                                                                                     
    <value element="title" language="en_US" schema="dc">A Title</value>                                                                    
    <value element="title" language="en_US" qualifier="alternative" schema="dc">Alternate Title</value>                                       
    <value element="type" language="en_US" schema="dc">Image</value>                                                                                          
</metadata>                                                                                                                                                   

Binary Payloads

Bitstreams

For Items or other objects which contain Bundles and Bitstreams, a directory is created for each Bundle under which Bitstreams are collected. Each bitstream is stored using a prefix of `bitstream_`, the uuid of the Bitstream, and a file extension if it can be derived. e.g. for a Bundle ORIGINAL and Bitstream with a uuid 46f383da-15d7-423e-bd76-741d9c503d0f will be stored under data/ORIGINAL/46f383da-15d7-423e-bd76-741d9c503d0f.

Logos

If a DSpace Object contains a logo, it is written directly under the data directory using the same filename format as Bitstreams.

Examples

Example Layout of a BagIt Site AIP

SITE@123456789-0
├── bag-info.txt
├── bagit.txt
├── data
│   ├── dspace.properties
│   ├── members
│   ├── object.properties
│   └── roles.xml
├── manifest-md5.txt
└── tagmanifest-md5.txt

Example Layout of a BagIt Community AIP

COMMUNITY@123456789-1
├── bag-info.txt
├── bagit.txt
├── data
│   ├── bitstream_883620c8-4486-4a72-a86b-242a1120f69c
│   ├── metadata.xml
│   ├── object.properties
│   ├── policy.xml
│   └── roles.xml
├── manifest-md5.txt
└── tagmanifest-md5.txt

Example Layout of a BagIt Collection AIP

COLLECTION@123456789-2
├── bag-info.txt
├── bagit.txt
├── data
│   ├── bitstream_4598cca5-9687-466c-9278-8a34f877abec
│   ├── metadata.xml
│   ├── object.properties
│   ├── policy.xml
│   └── roles.xml
├── manifest-md5.txt
└── tagmanifest-md5.txt

Example Layout of a BagIt Item AIP

ITEM@123456789-3
├── bagit.txt
├── bag-info.txt
├── data
│   ├── LICENSE
│   │   ├── bitstream_e8609dc1-eecf-49a4-ab66-e82d6fe8d689
│   │   ├── bitstream_e8609dc1-eecf-49a4-ab66-e82d6fe8d689-metadata.xml
│   │   └── bitstream_e8609dc1-eecf-49a4-ab66-e82d6fe8d689-policy.xml
│   ├── ORIGINAL
│   │   ├── bitstream_46f383da-15d7-423e-bd76-741d9c503d0f.jpg
│   │   ├── bitstream_46f383da-15d7-423e-bd76-741d9c503d0f-metadata.xml
│   │   ├── bitstream_46f383da-15d7-423e-bd76-741d9c503d0f-policy.xml
│   │   ├── bitstream_a2140708-8398-4931-b6d7-26d2a217ec96.jpg
│   │   ├── bitstream_a2140708-8398-4931-b6d7-26d2a217ec96-metadata.xml
│   │   └── bitstream_a2140708-8398-4931-b6d7-26d2a217ec96-policy.xml
│   ├── policy.xml
│   ├── metadata.xml
│   └── object.properties
├── manifest-md5.txt
└── tagmanifest-md5.txt