TNS Internal:NDR Use Case: Webfeed Ingest

From NSDLWiki

Jump to: navigation, search

Just as an example of what an application might require of the NDR:

Contents

[hide]

Collections

  • Get a list of all Collections (from the NSDL)
    • with title and unique identifier.
    • AtomPub: get the URI for the coll of coll
    • AbstractAPI: listCollections(), parse output
  • Also needs setSpec
    • It needs to give the MetadataProvider a setSpec in order for NSDL oai to work
      • Given a collections model, all OAI stuff can be defined automatically.
  • Get information about a Collection (by unique identifier).
    • with description, subject(s).
    • AbstractAPI: find appropriate NDRCollection, find the annotation it needs (ncs_collect, etc)
  • Get information about a Collection (by associated Data Source).

Users

  • Get a list of all Users.
    • with name of each User.
  • Get a list of all Users that meet certain criteria.
    • One criterion: a relation of wfi:authorizedForCollection to a specific Collection.
    • Another criterion: any relation of wfi:authorizedForCollection.
  • Create a new user.
  • Add a relation between a User and a Collection.
  • Remove a relation between a User and a Collection.

Could this be an application-layer concern? If so, this does not need to be in the collections API.

Data Sources

  • Get a list of all Data Sources that meet certain criteria.
    • In this case, a "data source" is a metadata provider.
    • One criterion: the property wfi:WFIngestProvider=true.
    • Another criterion: the property wfi:WFIngestProvider=true, and the Data Source is tied to a specific Collection.
  • Create a new Data Source on a Collection.
  • Delete a Data Source.
  • Attach arbitrary data to a Data Source, and modify that data.
    • In this case, ingest parameters and ingest history.

Resources/Metadata

  • Get a list of all Resources and Metadata associated with a given Data Source and Collection.
  • Create new Resources/Metadata
    • Creating Resources/Metadata should be an inexpensive operation.
  • Associate Resources/Metadata with a Data Source and Collection.
    • Should be an atomic operation.
  • Modify existing Metadata.
  • Delete Metadata.
Personal tools