Conceptual Overview

Table of Contents

  1. Introduction
  2. SDR APIs
  3. Search
  4. Update

Introduction

Shodor Data Repository (SDR) is the central location for storing and managing all Shodor-related metadata. SDR's foremost purpose is to house metadata for CSERD; however, all other materials on the Shodor site are treated as collections of CSERD, so they are all stored in SDR.

SDR indexes metadata by URL, with a corresponding unique cserdId number. This allows it to treat all resources, whether hosted by Shodor or not, the same way. Its purpose is to store tags describing and linking the pages that users see on the front end of the site. Those tags allow users to find and see relationships between the front-end pages they need.

More conceptual information on SDR can be found at https://wiki.shodor.org/index.php/SDR

SDR APIs

SDR provides two main APIs for interacting with metadata. One is a search API, allowing users or applications to search for items in the catalog based on any number of constraints.

The other is the update API, which allows users or applications to submit and approve new versions of SDR resource metadata. This API allows the submission of new resources or revisions for existing resources, and it allows admins to approve or deny those revisions.

Search

The SDR Search API is powered by the SDR XML Search Service. The search service is a REST application that takes in GET requests specifying the search mode and search terms and returns an XML string representing the search results. Since the search service transfers data over HTTP, it is accessible from servers both inside and outside of Shodor. It is equally easy to add Shodor search to a Shodor page or to a website running on a totally different server.

The Search API is a set of classes that allow for easy, organized querying of the search service. Using a SDRServiceRequest object, you can prepare a search query from within your application. Then you can run the search by passing that request object to the SDRSearchService class, which will return your result either as XML or as a set of objects representing the XML data.

Update

The SDR Update API is a set of classes providing access to and the ability to update the actual metadata of SDR. All API calls should be made through the static SDRService class. This class provides functions for submitting, approving, denying, publishing, or un-publishing metadata.

This API affects the live versions of SDR metadata. When a version is submitted using the SDR Update API, it goes into a list of pending versions for that resource (not visible on the live site). But if the version is then published using the SDR Update API, it goes live to the main website, CSERD, etc., immediately.

Therefore, the SDR Update API should be used with some caution. Though it's hard to delete data -- when a new version of metadata is approved, old versions are simply marked as history and can be re-activated -- it is easy to make a mess with the use of batch-submit or approve scripts.


Generated on Wed Nov 24 02:01:29 2010 for Common by  doxygen 1.5.6