TNS Internal:NDR/API/2.0/implementationDetails/Collections

From NSDLWiki

Jump to: navigation, search

Return to NDR/API 2.0 Requests By Object



Under Construction
Proposed method for inclusion in NDR/API 2.0.

Please provide feedback and comments using the Discussion tab on this page.

NDR API Implementation Details - Collection Composite Object

Create a collection for aggregating objects providing provenience that identifies the provider(s) of metadata and information stored as a part of this collection. See Community:NCore/Model/CompositeObjects/Collection. Diagram repeated here for clarity.

Core Components

Image:NDRmetaobject-Collection.jpg Collection Content is composed of metadata and resource items present in the collection.

Collection Definition is the set of ‘administrative’ objects that define the collection’s representation in the NDR.

Collections Management objects are used to identify and describe a set of objects in the NDR as a collection


The implementation for the Collection Composite Object is the creation and management of the objects and relationships as represented in the Collection Definition area of the diagram.

Impact Analysis

Differences Between Existing Model and Proposed Model

New Property: state

state (required) - Active (default) | Inactive | Deleted

General Behavior:

The following behaviors apply regardless of implementation option selected.

  • addCollection API request [ Implementation | Specification ] supports state=Active (default) | Inactive parameter in InputXML
  • modifyCollection API request [ Implementation | Specification ] supports state=Active (default) | Inactive parameter in InputXML
  • deleteCollection API request [ Implementation | Specification ] is the only one that can set state=Deleted. The code sets this. It is not a parameter of the deleteCollection API request.
  • List API requests by default return only Active collections
  • List API requests can be used to get Inactive or Deleted collections by using state=Inactive or state=Deleted respectively
  • Get API requests that take the collection handle, will operate on Inactive and Deleted collections
  • Only Active collections are in the DDS index

Option 1:


Implement as Fedora Object property

  • all three values would be handled by the Fedora Object property since it supports the exact same values
  • NONE -- No impact on existing objects in the NDR since all objects have the Fedora Object state property already assigned to Active | Deleted.

Option 2:


Implement as NDR property in RELS-EXT

  • Active and Inactive would be stored in the NDR property in RELS-EXT
  • The Fedora Object state would be set to Active for both Active and Inactive collections
  • The Fedora Object state would be set to Deleted for deleted collections
  • The NDR property in RELS-EXT would be set to Inactive for deleted collections
  • All existing Collection Aggregators will need to have the state property with the appropriate value added to RELS-EXT.

API Links:

Additional Links Related to This Call:

  • addCollection
[ Implementation | Specification ]
  • getCollectionRecord
[ Implementation | Specification ]
  • modifyCollection
[ Implementation | Specification ]
  • deleteCollection
[ Implementation | Specification ]
  • listCollectionRecords
[ Implementation | Specification ]
  • listCollectionIdentifiers     
[ Implementation | Specification ]
  • findCollections
[ Implementation | Specification ]
Personal tools