TNS Internal:NDR/API/3.0/digitalLibrary

From NSDLWiki

Jump to: navigation, search

Digital Library

What makes something rise to the level of a Collection that is of sufficient quality according to the Collection Management Policy is in actuality controlled by its membership in the Collection of Collections which is an aggregator that we have imbued with special meaning. The Collection of Collections is the object that establishes the Digital Library and all the contents of the library.


I would recommend codifying this concept of a Digital Library object and having a method to promote a provenience Aggregator to a Collection in a Digital Library if it meets the Collection Management Policy. What is now the NSDL Collection of Collections would become the NSDL Digital Library. This would also allow us to support multiple Digital Libraries within the same NDR instance. And it would allow Collections to be in multiple Digital Libraries.


The structure of the Digital Library composite object is identical to the structure of the Collection composite object. The reason for having API methods supporting Digital Libraries is to codify the concept of a Digital Library and provide the additional functionality for promoting a general collection of objects to that of a Collection that is under the purview of a Collection Management Policy. Additional calls for supporting the Digital Library concept would be...

API Call Inputs Processing Outputs Purpose/Comments

Digital Library

AddDigitalLibrary
  • NDR_DigitalLibraryRecord (would this be the same or different as NDR_CollectionRecord?)

Creates NDR objects...

  • Digital Library Aggregator
  • Digital Library MetadataProvider
  • Digital Library Metadata
  • Digital Library Resource (optional)

Establishes Relationships

  • Digital Library Owner Agent to Digital Library Aggregator
  • relationships between created objects
  • handle (DigitalLibrary Aggregator)
GetDigitalLibraryRecord
  • handle (DigitalLibrary Aggregator)
  • NDR_DigitalLibraryRecord and all ApplicationData
  • See Example (TBA)
Precedence of method name and return structure is OAI.
ModifyDigitalLibrary
  • handle (DigitalLibrary Aggregator)
  • NDR_DigitalLibraryRecord
  • SUCCESS
  • FAIL
DeleteDigitalLibrary
  • handle (DigitalLibrary Aggregator)
  • SUCCESS
  • FAIL
ListDigitalLibraryRecords Precedence of method name and return structure is OAI.
ListDigitalLibraryIdentifiers Precedence of method name and return structure is OAI.
FindDigitalLibrarys
  • search criteria (TBA)
AddCollectionToLibrary
  • handle (DigitalLibrary Aggregator)
  • handle (Collection Aggregator)

Establishes Relationship...

  • Collection Aggregator memberOf DigitalLibrary Aggregator
  • SUCCESS
  • FAIL
DeaccessionCollectionFromLibrary
  • handle (DigitalLibrary Aggregator)
  • handle (Collection Aggregator)

Removes Relationship...

  • Collection Aggregator memberOf DigitalLibrary Aggregator

NOTE: objects within the control of the Collection are not changed in any way

  • SUCCESS
  • FAIL
Personal tools