TNS Internal:NDR/API/2.0/UseCases/adminObjects
From NSDLWiki
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
- Create the Digital Library type Uber Application representing National Science Digital Library
- When: happens only once
- Created By: the Big Bang for NSDL
- Create the Application type generic collection representing NCS Application
- When: happens only once
- Created By: the Big Bang for NSDL (see note below)
- Create the Application type generic collection representing WFI Application
- When: happens only once
- Created By: the Big Bang for NSDL
Setup CCS
- Create the Learning Application type Uber Application representing Curriculum Customization Service (CCS)
- When: happens only once
- Created By: the Big Bang for CCS
- Create the Application type generic collection representing NCS Application
- When: happens only once
- Created By: the Big Bang for CCS (see note below)
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 |