Fedora 3.0 API

DOMS metadata objects will be stored in Fedora-commons 3.0. Fedora 3.0 is currently in beta 2, but is expected to be final by the time we release DOMS.

The API is documented here: http://www.fedora-commons.org/documentation/3.0/userdocs/index.html#webservices

The following restrictions apply:

All ingested objects, and all updates, must lead to valid objects, as defined by the data model. The exception is that objects marked as "draft" or "intermediate" in the datamodel are always considered valid.

Making a call to any API method that changes the object to a state not valid as defined by the datamodel will fail. Any call to a state-changing API-call where the object is not first set to intermediate state will fail.

Examples

Saving seven new interrelated objects to DOMS

Since the datamodel may require that all seven objects are correctly ingested and interrelated before they are valid, ingest all seven objects in intermediate state, and then publish them

Updating fields and references for 8 interrelated objects

To make sure that the changes don't interfere with validity, first set the state to intermediate, then update state to published after modifications.

Usage of Fedora API-M and API-A

The following describes those methods of the Fedora API-M and API-A that may be called by the GUI.

Descriptions in the following were copied from the Fedora documentation at http://www.fedora-commons.org/confluence/display/FCR30/API-M.

API-M

addDatastream

Input parameters:

Returns:

addRelationship

Input parameters:

Returns:

compareDatastreamChecksum

Input parameters:

Returns:

getDatastream

Input parameters:

Returns:

getDatastreams

Input parameters:

Returns:

getRelationships

Input parameters:

Returns:

ingest

Input parameters:

Returns:

modifyDatastreamByReference

Input parameters:

Returns:

modifyDatastreamByValue

Input parameters:

Returns:

modifyObject

Input parameters:

Returns:

purgeRelationship

Input parameters:

Returns:

setDatastreamState

Input parameters:

Returns:

(export)

(getDatastreamHistory)?

(getObjectXML)?

API-A