Differences between revisions 4 and 5
Revision 4 as of 2008-09-25 14:54:45
Size: 3969
Editor: jrg
Comment:
Revision 5 as of 2008-09-30 09:54:45
Size: 4760
Editor: jrg
Comment:
Deletions are marked like this. Additions are marked like this.
Line 41: Line 41:

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

Input parameters:
 * {{{}}}

Returns:
 * {{{}}}

Line 65: Line 77:

Input parameters:
 * {{{}}}

Returns:
 * {{{}}}

Line 66: Line 86:

Input parameters:
 * {{{}}}

Returns:
 * {{{}}}

Line 67: Line 95:

Input parameters:
 * {{{}}}

Returns:
 * {{{}}}

Line 68: Line 104:

Input parameters:
 * {{{}}}

Returns:
 * {{{}}}

Line 69: Line 113:

Input parameters:
 * {{{}}}

Returns:
 * {{{}}}

Line 70: Line 122:

Input parameters:
 * {{{}}}

Returns:
 * {{{}}}

Line 71: Line 131:

Input parameters:
 * {{{}}}

Returns:
 * {{{}}}

Line 72: Line 140:

Input parameters:
 * {{{}}}

Returns:
 * {{{}}}

Line 73: Line 149:

Input parameters:
 * {{{}}}

Returns:
 * {{{}}}

Line 74: Line 158:

Input parameters:
 * {{{}}}

Returns:
 * {{{}}}

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:

  • The possibilities "PurgeDatastream" and "PurgeObject" are not allowed. Instead change the state to deleted

  • setDatastreamVersionable is disallowed. The internal datastreams are always versioned.
  • Do not use getNextPID, instead use the method provided from DOMS

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

  • Call the method for generating DOMS PIDs seven times
  • Generate 7 FoxML objects, each with the administrative state set to "intermediate"
  • Call API-M ingest seven times

  • Call API-M modifyDatastreamByValue 7 times to update the state to "published"

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.

  • Call API-M modifyDatastreamByValue 8 times to update the administrative state to "intermediate"

  • Update datastreams and relations as needed to make the changes using addRelationsship/addDatastream/purgeRelationship/modifyDatastreamByValue/setDatastreamState

  • Call API-M modifyDatastreamByValue 8 times to update the administrative state to "published"

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:

  • String pid The PID of the object.

  • String dsID The datastream ID (64 characters max). If null, Fedora will generate the value.

  • String[] altIDs Alternate identifiers for the datastream.

  • String dsLabel The label for the datastream.

  • boolean versionable Enable versioning of the datastream.

  • String MIMEType The mime-type of the datastream.

  • String formatURI The format URI of the datastream.

  • String dsLocation Location of managed or external datastream content.

  • String controlGroup One of "X", "M", "R", or "E" (Inline XML, Managed Content, Redirect, or External Referenced).

  • String dsState One of "A", "D", or "I" (Active, Deleted, or Inactive).

  • String checksumType The algorithm used to compute the checksum. One of "DEFAULT", "DISABLED", "MD5", "SHA-1", "SHA-256", "SHA-385", "SHA-512", "HAVAL", "TIGER", "WHIRLPOOL".

  • String checksum The value of the checksum represented as a hexadecimal string.

  • String logMessage A log message.

Returns:

  • String The datastreamID of the newly added datastream.

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

Fedora 3.0 API (last edited 2010-03-17 13:12:49 by localhost)