TNS Internal:NDR/API/2.0/UseCases/buildWFIforNSDL

From NSDLWiki

Jump to: navigation, search

Contents

[hide]

Use Case: Building a Library Collection, with WFI Managed Metadata only, for a Digital Library

Reference Materials


Building Process

The process described here makes assumptions about the existence of certain Administrative Support Objects. The list of objects that can be referenced in Use Cases without creating them first is in the Assumptions section.


Description:

NSF PI Rogers is a Library Collection in the National Science Digital Library. The Library Collection has resources identified by an NSF PI named Rogers whose metadata comes from a Deliciousthree different sources. NOTE: Use by NSF PIs is a proposed use case. This is not an actual example from current NDR use patterns.


The basic process for setting up this Library Collection in the NDR is described in Basic Process with more details using example data listed in the API Calls section.


Basic Process

  • Create the Library Collection for NSF PI Rogers
    When: this process is repeated for each Library Collection in the Digital Library
    Created By: In the current state of things, NCS would be who creates these. WFI should be able to do this too and is shown in the Use Case as the signing agent. (perhaps Dash Board would take over this responsibility)
  • Create a Metadata Source for each means of receiving metadata about resource in the Library Collection
    When: this process if repeated for each source of metadata for every Library Collection
    Created By: each application is responsible for this process (Dash Board may handle this onBehalfOf other applications)


API Calls

Create NSF PI Rogers Collection

API Calls:
  • addCollection (generic collection composite object)
  • addAnnotation (nsdl_collect)
addCollection (details)
Input
Signing Agent: 2200/20100301AWA       <!-- WFI Agent (currently NCS performs this task) -->

<inputXML>
  <parentCollection>2200/2010030801T</parentCollection>   <!-- parent: NSDL Library -->
  <parentCollection>2200/20100302AWC</parentCollection>   <!-- parent: WFI Collections -->
  <title>NSF PI Rogers</title> 
  <description>Resources identified by NSF PI named Rogers</description>
  <state>Active</state>
  <contact email="rogers@thensf.gov">Rogers</contact>
</inputXML>

NOTE: WFI knows it is a metadata provider for this Library Collection, so it goes ahead and makes its administrative WFI Collections generic collection a parent.

Output
returns: 2200/20100303RLC  (collection aggregator handle)
addAnnotation (details)
Input
Signing Agent: 2200/20100301AWA       <!-- WFI Agent (currently NCS performs this task) -->

<inputXML>
  <collection>2200/20100303RLC</collection>
  <annotationXML>
    <nsdl_collect>
      <general>
        <!-- <recordID>NSDL-COLLECTION-1007936</recordID> -->   <!-- Would this apply for non-NCS managed collections?  Isn't this the externalIdentifier? -->
        <subject>Science--Study and teaching</subject>
        <subject>Mathematics--Study and teaching</subject>
        <subject>Technology education</subject>
        <languages>
          <ISOcode>eng</ISOcode>
          <RFCcode>en</RFCcode>
        </languages>
      </general>
      <educational>
        <audiences>
          <nsdlAudience>Learner</nsdlAudience>
        </audiences>
      </educational>
      <technical>
        <mimeTypes>
          <mimeType>text/html</mimeType>
        </mimeTypes>
      </technical>
      <collection>
        <dateTime>2005-03-24T19:42:03Z</dateTime>
        <contacts>
          <contact email="rogers@thensf.gov"/>
          <contact email="support@nsdl.org">NSDL Support</contact>
        </contacts>
        <pathway>false</pathway>
        <collectionSubjects>
          <collectionSubject>Sciences</collectionSubject>
        </collectionSubjects>
        <collectionPurposes>
          <collectionPurpose>Educators and learners</collectionPurpose>
        </collectionPurposes>
        <description>2009-08-18: Added new contact email</description>
      </collection>
      <rights>
        <accessRights>
          <meansOfAccess>Free access</meansOfAccess>
        </accessRights>
      </rights>
    </nsdl_collect>
  </annotationXML>
  <XMLFormat>nsdl_anno</XMLFormat>
  <annotates>2200/20100303RLC</annotates> 
</inputXML>
Output
returns: 2200/2010030501T  (annotation handle)

Create Metadata Source for Delicious Managed Resource Metadata

API Calls:
  • addCollection (generic collection composite object)
  • addAnnotation (nsdl_app_data for WFI)
addCollection (details)
Input
Signing Agent: 2200/20100301AWA       <!-- WFI Agent -->

<inputXML>
  <parentCollection>2200/2010030802T</parentCollection>   <!-- parent: NSF PI Rogers Library Collection -->
  <title>NSF PI Rogers resources from Delicious</title> 
  <description>Resources for NSF PI Rogers that are managed via RSS feed created by Delicious and ingested by Web Feed Ingest.</description>
  <state>Active</state>
  <contact email="aaarogers@nsf.gov">Rogers</contact>
</inputXML>
Output
returns: 2200/20100303WMP  (collection aggregator handle)
addAnnotation (details)
Input
Signing Agent: 2200/20100301AWA       <!-- WFI Agent -->

<inputXML>
  <collection>2200/20100303WMP</collection>
  <annotationXML>
    <nsdl_app_data>
      <repositoryIngestApps>
        <!--WFI example data-->
        <wfi>
          <baseURL>http://ncs.nsdl.org/mgr/services/ddsws1-1</baseURL>
          <name>NSF PI Rogers - Delicious Resources</name>
          <type>RSS import customized for delecious.com</type>
          <incremental>true</incremental>
          <report>true</report>
        </wfi>
      </repositoryIngestApps>
    </nsdl_app_data>
  </annotationXML>
  <XMLFormat>nsdl_app_data</XMLFormat>
  <annotates>2200/20100303WMP</annotates> 
</inputXML>
Output
returns: 2200/2010030502T  (annotation handle)
Personal tools