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

From NSDLWiki

Jump to: navigation, search

Contents

[hide]

Administrative Support Objects

Reference Materials


Additional Terminology

Uber Application
Describes applications at the highest conceptual level. Examples of Uber Applications are Digital Libraries and Learning Applications. Uber Applications may or may not have a single point of entry user interface.


Support Application
Describes applications that are used to manage and support Uber Applications. Examples of Support Applications are those that provide a means for ingest processing (ex. OAI Harvest, WFI, NCS, etc.) and those that allow for creation of content (ex. Expert Voices, Wiki, etc.). Uber Applications may perform some of this functionality for themselves or they may use external support applications as described here.


Overview

Description

This document describes the creation of generic collections for Uber Applications and Support Applications that are referenced in Use Cases for NDR-API v2.0. The generic collections are assumed to exist prior to the other Use Cases. The construction of several of these objects is explored here. Other Uber Applications and Support Applications will use the same process.


Note that the current use of NDR by applications does not include a GCCO for Support Applications. These are presented here in a way that is consistent with an earlier exploration by Aaron: Data Boundaries in an NCore Repository. You might want to specifically look at the Aggregators projected blogosphere diagram as an example using Expert Voices. Creation of these GCCO for Support Applications are not required, but are presented here and in the related Use Cases to indicate the flexibility of the hierarchical approach to GCCOs. A use case would be that if WFI adds its GCCO as a parent of all Metadata Provider GCCOs that it maintains, it would be able to do a query to get information about all the Metadata Provider GCCOs and perhaps run its ingest process more efficiently. A second use case would be for reporting where a count of the number of children for the Harvest Ingest GCCO would indicate how many collections use OAI for ingesting. Both use cases are speculation on my part. Perhaps application developers will see a use for this. If not, no additional development work has been put in place to support it.


List of Predefined Objects for Use Cases

The following Agent objects are assumed to already exist. See Procedure for Adding a new Agent for more information.

User Friendly Name Handle
ROOT AGENT 2200/20100301RTA
NSDL Agent 2200/20100301UNA
CCS Agent 2200/20100301UCA
NCS Agent 2200/20100301ANA
WFI Agent 2200/20100301AWA


The following Uber Application objects are either created here or assumed to already exist.

User Friendly Name Handle
NSDL generic collection 2200/20100302UNC
NCS generic collection for NSDL 2200/20100302ANCN
WFI generic collection 2200/20100302AWC
Expert Voices generic collection 2200/20100302AEC
Math Wiki generic collection 2200/20100302AMC
CCS generic collection 2200/20100302UCC
NCS generic collection for CCS 2200/20100302ANCC


NOTE: Real agents and generic collections' handles in the NDR have the form 2200/20100302879T. For these examples, an abbreviation is put on the end of the handle to make it possible to understand the identity of the agent or generic collection by looking at the handle.


Objects Built for Administrative Support

Types of Application generic collections

The following are examples of the types of generic collections that are constructed to provide Administrative Support and are referenced in other Use Cases. Two types of applications are described here, but the process for creating the generic collections is the same regardless of type. The type distinction is to aid the reader in separating out constructs and models setup within the NDR.

Uber Application generic collections (define)
  • NSDL Library generic collection - all Library Collections generic collections for NSDL have a memberOf relationship with this generic collection
  • CCS generic collection - all Curriculum generic collections for Curriculum Customization Service (CCS) have a memberOf relationship with this generic collection


Support Application generic collections (define)
  • NCS application generic collection - all NCS Managed Collections have a memberOf relationship with this generic collection (NOTE: This includes NCS Collections that are and are not also in NSDL.)
  • WFI application generic collection - all Collections to which WFI contributes have a memberOf relationship with this generic collection

etc.


Usage of Administrative Object

The generic collections created of Uber Applications serve the function of Collection of Collections in the current NDR-NSDL model.


The generic collections created for Support Applications do not have a counterpart in the current NDR-NSDL model. These are being added as administrative generic collections to provide Support Applications easy access to the things they manage in the NDR.


Example 1,

A Library Collection that is managed by NCS and is part of NSDL's Library would have two parents.
  • NSDL generic collection which has memberOf relationships with all NSDL Library Collections
  • NCS generic collection which has memberOf relationships with all Library (and non-Library) Collections that NCS manages

NOTE: If WFI also adds resources and metadata to this collection, a third parent would be added: WFI generic collection which has memberOf relationships with all Library Collections in which feeds manage metadata and resources.


Example 2,

A Non-Library Collection that is managed by NCS would have one parent.
  • NCS generic collection which has memberOf relationships with all Collections that NCS manages


These examples demonstrate how the NCS generic collection is used to identify all NCS Collections without regard for other applications that may also interact with these same generic collections.


Basic Process

Setup NSDL


Setup CCS


NOTE: NSDL and CCS may share the same instance of NCS. In this case, only one NCS Application generic collection would be created. If they have separate instances of NCS, then there would be two NCS Application generic collections created.


NOTE: None of the generic collections created here have parent collections. NCS and WFI are used by NSDL, but are not members of the Library. The generic collections created here for NCS and WFI are for the applications organizational needs.


API Calls

NOTE: Handles created for generic collections in the NDR have the form 2200/20100302879T. For these examples, an abbreviation is put on the end of the handle to make it possible to understand the generic collection's identity by looking at the handle.


Create NSDL Library

API Calls:
addCollection (details)
Input
Signing Agent: 2200/20100301RTA        <!-- ROOT AGENT -->

<inputXML>
  <title>National Science Digital Library (NSDL)</title> 
  <description>NSDL is the Nation's online library for education and research in 
               Science, Technology, Engineering, Mathematics.</description>
  <state>Active</state>
  <contact email="ginger@ucar.edu">Katy Ginger</contact>
  <resourceURL>http://nsdl.org</resourceURL>
</inputXML>
Output
returns: 2200/20100302UNC  (collection aggregator handle)
authorizeToChange (details)
Input
Signing Agent: 2200/20100301RTA        <!-- ROOT AGENT -->

<inputXML>
  <target>2200/20100302UNC</target>    <!-- NSDL generic collection aggregator -->
  <agents>
    <agent>2200/20100301UNA</agent>    <!-- NSDL Agent -->
    <agent>2200/20100301ANA</agent>    <!-- NCS Agent -->
    <agent>2200/20100301AWA</agent>    <!-- WFI Agent -->
  </agents>
</inputXML>
Output
returns: SUCCESS

Create NCS Application for NSDL

API Calls:
addCollection (details)
Input
Signing Agent: 2200/20100301RTA        <!-- ROOT AGENT -->

<inputXML>
  <title>NSDL Collection Service (NCS)</title> 
  <description>NCS provides collection management services.</description>
  <state>Active</state>
  <contact email="ginger@ucar.edu">Katy Ginger</contact>
  <resourceURL>http://ncs.nsdl.org</resourceURL>
</inputXML>
Output
returns: 2200/20100302ANCN  (collection aggregator handle)
authorizeToChange (details)
Input
Signing Agent: 2200/20100301RTA        <!-- ROOT AGENT -->

<inputXML>
  <target>2200/20100302ANCN</target>   <!-- NCS for NSDL generic collection aggregator -->
  <agents>
    <agent>2200/20100301ANA</agent>    <!-- NCS Agent -->
  </agents>
</inputXML>
Output
returns: SUCCESS

Create WFI Application

API Calls:
addCollection (details)
Input
Signing Agent: 2200/20100301RTA        <!-- ROOT AGENT -->

<inputXML>
  <title>Web Feed Ingest (WFI)</title> 
  <description>WFI provides the means to ingest resources and metadata from XML primarily in the form of an RSS/Atom Feed.</description>
  <state>Active</state>
  <contact email="josh@cornell.edu">Josh Endries</contact>
  <resourceURL>http://wfi.nsdl.org</resourceURL>
</inputXML>
Output
returns: 2200/20100302AWC  (collection aggregator handle)
authorizeToChange (details)
Input
Signing Agent: 2200/20100301RTA        <!-- ROOT AGENT -->

<inputXML>
  <target>2200/20100302AWC</target>    <!-- WFI generic collection aggregator -->
  <agents>
    <agent>2200/20100301AWA</agent>    <!-- WFI Agent -->
  </agents>
</inputXML>
Output
returns: SUCCESS

Create CCS Learning Application

API Calls:
addCollection (details)
Input
Signing Agent: 2200/20100301RTA        <!-- ROOT AGENT -->

<inputXML>
  <title>Curriculum Customization Service (CCS)</title> 
  <description>CCS is a learning application tool for use by teachers in planning curriculum.</description>
  <state>Active</state>
  <contact email="ginger@ucar.edu">Katy Ginger</contact>
  <resourceURL>http://ccs.dls.ucar.edu/</resourceURL>
</inputXML>
Output
returns: 2200/20100302UCC  (collection aggregator handle)
authorizeToChange (details)
Input
Signing Agent: 2200/20100301RTA        <!-- ROOT AGENT -->

<inputXML>
  <target>2200/20100302UCC</target>    <!-- CCS generic collection aggregator -->
  <agents>
    <agent>2200/20100301UCA</agent>    <!-- CCS Agent -->
    <agent>2200/20100301ANA</agent>    <!-- NCS Agent -->
  </agents>
</inputXML>
Output
returns: SUCCESS

Create NCS Application for CCS

API Calls:
addCollection (details)
Input
Signing Agent: 2200/20100301RTA        <!-- ROOT AGENT -->

<inputXML>
  <title>NSDL Collection Service (NCS) for CCS</title> 
  <description>NCS provides collection management services.</description>
  <state>Active</state>
  <contact email="ginger@ucar.edu">Katy Ginger</contact>
  <resourceURL>http://ncs.nsdl.org</resourceURL>
</inputXML>
Output
returns: 2200/20100302ANCC  (collection aggregator handle)
authorizeToChange (details)
Input
Signing Agent: 2200/20100301RTA        <!-- ROOT AGENT -->

<inputXML>
  <target>2200/20100302ANCC</target>   <!-- NCS for CCS generic collection aggregator -->
  <agents>
    <agent>2200/20100301ANA</agent>    <!-- NCS Agent -->
  </agents>
</inputXML>
Output
returns: SUCCESS
Personal tools