Differences between revisions 1 and 14 (spanning 13 versions)
Revision 1 as of 2008-10-16 15:02:04
Size: 4175
Editor: abr
Comment:
Revision 14 as of 2008-10-16 16:22:06
Size: 6697
Editor: abr
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
=== API-A (Fedora Access service API) === = API-A (Fedora Access service API) =
Line 3: Line 3:
[[Anchor(anchor_describeRepository)]]
==== describeRepository ====
[[Anchor(describeRepository)]]
== describeRepository ==
Line 8: Line 8:
 * {{{RepositoryInfo}}} A data structure that contains key metadata describing the Fedora repository server including repository name, version, base URL, pid namespace, and sample request URLs. (See definition of [#anchor_RepositoryInfo RepositoryInfo] under Data structures below)  * {{{RepositoryInfo}}}
  * {{{String repositoryName}}} - The name of the Repository. Set in fedora.fcfg. Default "Fedora Repository"
  * {{{String repositoryVersion}}} - The version of Fedora running. Fedora 3.0 returns "3.0"
  * {{{String repositoryBaseURL}}} - The repository base url set in fedora.fcfg. Default "http://localhost:8080/fedora"
  * {{{String repositoryPIDNamespace}}} - The prefix to use for newly generated PIDs
  * {{{String defaultExportFormat}}}
  * {{{String OAINamespace}}} - The oai namespace. Default "example.org"
  * {{{String[] adminEmailList}}} - The email to the administrator. Default "bob@example.org" and "sally@example.org". Defined in fedora.fcfg.
  * {{{String samplePID}}} - An example pid, to show how to refer to objects. "doms:100"
  * {{{String sampleOAIIdentifier}}} - An example oai identifier, to show how to refer to records. Example: "oai:example.org:doms:100"
  * {{{String sampleSearchURL}}} - The url to the search service for the repository. Default "http://localhost:8080/fedora/search"
  * {{{String sampleAccessURL}}} - The url to an example object in the repository. Default "http://localhost:8080/fedora/get/demo:5"
  * {{{String sampleOAIURL}}} - The url to an oai record. Default "http://localhost:8080/fedora/oai?verb=Identify"
  * {{{String[] retainPIDs}}} - The list of pid prefixes, that cause the pid to not be autogenerated.
Line 14: Line 28:
[[Anchor(anchor_getDatastreamDissemination)]]
==== getDatastreamDissemination ====
Gets the content of a datastream.

[[Anchor(getObjectProfile)]]
== getObjectProfile ==
Gets the !ObjectProfile of an object, which includes key metadata fields and URLs for the object Dissemination Index and the object Item Index. Can be thought of as a default view of the object.
Line 19: Line 34:
 * {{{String pid}}} The PID of the object.
 * {{{String dsID}}} The datastream ID.
 * {{{String asOfDateTime}}} A dateTime indicating the version of the datastream to retrieve. If null, Fedora will use the most recent version.
 * {{{String pid}}} The pid of the object.
 * {{{String asOfDateTime}}} The date/time stamp specifying the desired version of the object. If null, the current version of the object (the most recent time) is assumed.
Line 24: Line 38:
 * {{{MIMETypedStream}}} The datastream as a mime-typed stream. (See definition of [#anchor_MIMETypedStream MIMETypedStream] under Data structures below)  * {{{ObjectProfile}}} Contains these fields
  * {{{String pid}}}
  * {{{String objLabel}}}
  * {{{String[] objModels}}}
  * {{{String objCreateDate}}}
  * {{{String objLastModDate}}}
  * {{{String objDissIndexViewURL}}}
  * {{{String objItemIndexViewURL}}}
Line 30: Line 51:
[[Anchor(anchor_getDissemination)]]
==== getDissemination ====
Disseminates the content produced by executing the method specified in the service definition associated the specified digital object.

Input parameters:
 * {{{String pid}}} The pid of the object.
 * {{{String serviceDefinitionPid}}} The PID of the Service Definition object.
 * {{{String methodName}}} The name of the method to be executed.
 * {{{Property[] parameters}}} An array of name-value pairs.
 * {{{String asOfDateTime}}} The versioning dateTime. If null, Fedora will use the most recent version.

Returns:
 * {{{MIMETypedStream}}} A MIME-typed stream containing the result of the dissemination. (See definition of [#anchor_MIMETypedStream MIMETypedStream] under Data structures below)

Throws:
 * {{{java.rmi.RemoteException}}}
Line 48: Line 53:
[[Anchor(anchor_getObjectHistory)]]
==== getObjectHistory ====
[[Anchor(getObjectHistory)]]
== getObjectHistory ==
Line 62: Line 67:
[[Anchor(anchor_getObjectProfile)]]
==== getObjectProfile ====
Gets the !ObjectProfile of an object, which includes key metadata fields and URLs for the object Dissemination Index and the object Item Index. Can be thought of as a default view of the object.


[[Anchor(listDatastreams)]]
== listDatastreams ==
Lists the datastreams of an object. See also [#getDatastreamDissemination getDatastreamDissemination]
Line 71: Line 78:
 * {{{ObjectProfile}}} The !ObjectProfile of the object. (See definition of [#anchor_ObjectProfile ObjectProfile] under Data structures below)
 * {{{DatastreamDef[]}}}
  * {{{String ID}}}
  * {{{String label}}}
  * {{{String MIMEType}}}

Line 77: Line 90:
[[Anchor(anchor_listDatastreams)]]
==== listDatastreams ====
Lists the datastreams of an object.
[[Anchor(getDatastreamDissemination)]]
== getDatastreamDissemination ==

Gets the content of a datastream. See also [#listDatastreams listDatastreams]

Input parameters:
 * {{{String pid}}} The PID of the object.
 * {{{String dsID}}} The datastream ID.
 * {{{String asOfDateTime}}} A dateTime indicating the version of the datastream to retrieve. If null, Fedora will use the most recent version.

Returns:
 * [:/../DataStructures#MIMETypedStream: MIMETypedStream] The header will be empty, or if applicable, contain the http header as name/value pairs.

Throws:
 * {{{java.rmi.RemoteException}}}




[[Anchor(listMethods)]]
== listMethods ==
Lists all the methods that the object supports. See also [#getDissemination getDissemination]

Each method can take a number of paramethers. Each parameter for a method has a name, and a type. The possible values of a parameter depends on its type. It can be bound to a datastream in the object, it can have a hardcoded value or it can be defined by the caller.

Each parameter is defined to be passed by reference or passed by value.
Line 86: Line 123:
 * {{{DatastreamDef[]}}} A sequence of !DatastreamDefs. (See definition of [#anchor_DatastreamDef DatastreamDef] under Data structures below)
 * {{{ObjectMethodDef[]}}}
  * {{{String PID}}}
  * {{{String serviceDefinitionPID}}}
  * {{{String methodName}}}
  * {{{MethodParmDef[] methodParmDefs}}}
   * {{{String parmName}}} The name of the parameter.
   * {{{String parmType}}} The type of the parameter. Restricted to "fedora:datastreamInputType", "fedora:userInputType" or "fedora:defaultInputType"
   * {{{String parmDefaultValue}}} If the parmType is default, this is the value that will be used. Null if other type.
   * {{{String[] parmDomainValues}}} If the parameter can be defined by the user, these are the possible values. Null if other type.
   * {{{boolean parmRequired}}} False, if this parameter can be left out of a call.
   * {{{String parmLabel}}} The label for the parameter. Can be null.
   * {{{String parmPassBy}}} The method of passing the paramenter. Restricted to "URL_REF" (if the parameter is pass by reference - by an url) and "VALUE" (if the parameter is pass by value)
  * {{{String asOfDate}}}
Line 92: Line 142:
[[Anchor(anchor_listMethods)]]
==== listMethods ====
Lists all the methods that the object supports.
[[Anchor(getDissemination)]]
== getDissemination ==
Disseminates the content produced by executing the method specified in the service definition associated the specified digital object. See also [#listMethods listMethods]
Line 98: Line 148:
 * {{{String asOfDateTime}}} The date/time stamp specifying the desired version of the object. If null, the current version of the object (the most recent time) is assumed.  * {{{String serviceDefinitionPid}}} The PID of the Service Definition object.
 * {{{String methodName}}} The name of the method to be executed.
 * {{{Property[] parameters}}} name-value pairs.
  * {{{String name}}}
  * {{{String value}}}
 * {{{String asOfDateTime}}} The versioning dateTime. If null, Fedora will use the most recent version.
Line 101: Line 156:
 * {{{ObjectMethodsDef[]}}} A sequence of !ObjectMethodsDefs. (See definition of [#anchor_ObjectMethodsDef ObjectMethodsDef] under Data structures below)  * [:/../DataStructures#MIMETypedStream: MIMETypedStream] The header will be empty, or if applicable, contain the http header as name/value pairs.
Line 105: Line 160:

API-A (Fedora Access service API)

Anchor(describeRepository)

describeRepository

Gets information that describes the repository.

Returns:

  • RepositoryInfo

    • String repositoryName - The name of the Repository. Set in fedora.fcfg. Default "Fedora Repository"

    • String repositoryVersion - The version of Fedora running. Fedora 3.0 returns "3.0"

    • String repositoryBaseURL - The repository base url set in fedora.fcfg. Default "http://localhost:8080/fedora"

    • String repositoryPIDNamespace - The prefix to use for newly generated PIDs

    • String defaultExportFormat

    • String OAINamespace - The oai namespace. Default "example.org"

    • String[] adminEmailList - The email to the administrator. Default "bob@example.org" and "sally@example.org". Defined in fedora.fcfg.

    • String samplePID - An example pid, to show how to refer to objects. "doms:100"

    • String sampleOAIIdentifier - An example oai identifier, to show how to refer to records. Example: "oai:example.org:doms:100"

    • String sampleSearchURL - The url to the search service for the repository. Default "http://localhost:8080/fedora/search"

    • String sampleAccessURL - The url to an example object in the repository. Default "http://localhost:8080/fedora/get/demo:5"

    • String sampleOAIURL - The url to an oai record. Default "http://localhost:8080/fedora/oai?verb=Identify"

    • String[] retainPIDs - The list of pid prefixes, that cause the pid to not be autogenerated.

Throws:

  • java.rmi.RemoteException

Anchor(getObjectProfile)

getObjectProfile

Gets the ObjectProfile of an object, which includes key metadata fields and URLs for the object Dissemination Index and the object Item Index. Can be thought of as a default view of the object.

Input parameters:

  • String pid The pid of the object.

  • String asOfDateTime The date/time stamp specifying the desired version of the object. If null, the current version of the object (the most recent time) is assumed.

Returns:

  • ObjectProfile Contains these fields

    • String pid

    • String objLabel

    • String[] objModels

    • String objCreateDate

    • String objLastModDate

    • String objDissIndexViewURL

    • String objItemIndexViewURL

Throws:

  • java.rmi.RemoteException

Anchor(getObjectHistory)

getObjectHistory

Gets a list of timestamps that correspond to modification dates of components. This currently includes changes to Datastreams and disseminators.

Input parameters:

  • String pid The pid of the object.

Returns:

  • String[] An array containing the list of timestamps indicating when changes were made to the object.

Throws:

  • java.rmi.RemoteException

Anchor(listDatastreams)

listDatastreams

Lists the datastreams of an object. See also [#getDatastreamDissemination getDatastreamDissemination]

Input parameters:

  • String pid The pid of the object.

  • String asOfDateTime The date/time stamp specifying the desired version of the object. If null, the current version of the object (the most recent time) is assumed.

Returns:

  • DatastreamDef[]

    • String ID

    • String label

    • String MIMEType

Throws:

  • java.rmi.RemoteException

Anchor(getDatastreamDissemination)

getDatastreamDissemination

Gets the content of a datastream. See also [#listDatastreams listDatastreams]

Input parameters:

  • String pid The PID of the object.

  • String dsID The datastream ID.

  • String asOfDateTime A dateTime indicating the version of the datastream to retrieve. If null, Fedora will use the most recent version.

Returns:

Throws:

  • java.rmi.RemoteException

Anchor(listMethods)

listMethods

Lists all the methods that the object supports. See also [#getDissemination getDissemination]

Each method can take a number of paramethers. Each parameter for a method has a name, and a type. The possible values of a parameter depends on its type. It can be bound to a datastream in the object, it can have a hardcoded value or it can be defined by the caller.

Each parameter is defined to be passed by reference or passed by value.

Input parameters:

  • String pid The pid of the object.

  • String asOfDateTime The date/time stamp specifying the desired version of the object. If null, the current version of the object (the most recent time) is assumed.

Returns:

  • ObjectMethodDef[]

    • String PID

    • String serviceDefinitionPID

    • String methodName

    • MethodParmDef[] methodParmDefs

      • String parmName The name of the parameter.

      • String parmType The type of the parameter. Restricted to "fedora:datastreamInputType", "fedora:userInputType" or "fedora:defaultInputType"

      • String parmDefaultValue If the parmType is default, this is the value that will be used. Null if other type.

      • String[] parmDomainValues If the parameter can be defined by the user, these are the possible values. Null if other type.

      • boolean parmRequired False, if this parameter can be left out of a call.

      • String parmLabel The label for the parameter. Can be null.

      • String parmPassBy The method of passing the paramenter. Restricted to "URL_REF" (if the parameter is pass by reference - by an url) and "VALUE" (if the parameter is pass by value)

    • String asOfDate

Throws:

  • java.rmi.RemoteException

Anchor(getDissemination)

getDissemination

Disseminates the content produced by executing the method specified in the service definition associated the specified digital object. See also [#listMethods listMethods]

Input parameters:

  • String pid The pid of the object.

  • String serviceDefinitionPid The PID of the Service Definition object.

  • String methodName The name of the method to be executed.

  • Property[] parameters name-value pairs.

    • String name

    • String value

  • String asOfDateTime The versioning dateTime. If null, Fedora will use the most recent version.

Returns:

Throws:

  • java.rmi.RemoteException

Fedora 3.0 API/Access (last edited 2010-03-17 13:08:52 by localhost)