-
Introduction
The Fedora Management service defines an open interface for
administering the repository, including creating, modifying, and deleting
digital objects, or components within digital objects. The Management
service interacts with the underlying repository system to read content from
and write content to the digital object and datastream storage areas. The
Management service exposes a set of operations that enable a client to view
and manipulate digital objects from an abstract perspective, meaning that a
client does not need to know anything about underlying storage formats,
storage media, or storage management schemes for objects. Also, the
underlying repository system handles the details of storing datastream
content within the repository, as well as mediating connectivity for
datastreams that reference external content.
-
Methods
-
addDatastream
Creates a new datastream in the object.
Parameters:
pid
: The PID of the object.
dsID
: The datastream ID (64 characters max).
If null, Fedora will generate the value.
altIDs
: Alternate identifiers for the
datastream.
dsLabel
: The label for the datastream.
versionable
: Enable versioning of the
datastream.
MIMEType
: The mime-type of the datastream.
formatURI
: The format URI of the datastream.
dsLocation
: Location of managed or external
datastream content.
controlGroup
: One of "X", "M", "R", or "E"
(Inline XML, Managed Content, Redirect, or External
Referenced).
dsState
: One of "A", "D", or "I" (Active,
Deleted, or Inactive).
checksumType
: The algorithm used to compute
the checksum. One of "DEFAULT", "DISABLED", "MD5", "SHA-1",
"SHA-256", "SHA-385", "SHA-512", "HAVAL", "TIGER", "WHIRLPOOL".
checksum
: The value of the checksum
represented as a hexadecimal string.
logMessage
: A log message.
Returns: the datastreamID of the newly added datastream.
-
addRelationship
Creates a new relationship in the object. Adds the specified
relationship to the object's RELS-EXT datastream. If the Resource Index
is enabled, the relationship will be added to the Resource Index.
Parameters:
pid
: The PID of the object.
relationship
: The predicate.
object
: The object.
isLiteral
: A boolean value indicating whether
the object is a literal.
datatype
: The datatype of the literal.
Optional.
Returns: true if and only if the relationship was added.
-
compareDatastreamChecksum
Verifies that the datastream content has not changed since the
checksum was initially computed.
Parameters:
pid
: The PID of the object.
dsID
: The datastream ID.
versionDate
: A dateTime indicating the version
of the datastream to verify. If null, Fedora will use the most
recent version.
Returns: the checksum if there is no difference, a message
indicating checksum failure otherwise.
-
export
Exports the entire digital object in the specified XML format,
and encoded appropriately for the specified export context.
Parameters:
pid
: The pid of the object.
format
: The XML format to export, e.g.
"info:fedora/fedora-system:FOXML-1.1",
"info:fedora/fedora-system:FOXML-1.0",
"info:fedora/fedora-system:METSFedoraExt-1.1", or
"info:fedora/fedora-system:ATOM-1.0".
context
: The export context, which determines
how datastream URLs and content are represented. One of "public",
"migrate", or "archive".
Returns: the digital object in the requested XML format.
-
getDatastream
Gets the specified datastream.
Parameters:
pid
: The pid of the object.
dsID
: The datastream ID.
asOfDateTime
: the date/time stamp specifying
the desired view of the object. If null, the current view of the
object (the most recent time) is assumed.
Returns: the specified datastream.
-
getDatastreamHistory
Gets all versions of a datastream, sorted from most to least
recent.
Parameters:
pid
: The pid of the object.
dsID
: The datastream ID.
Returns: all versions of a datastream, sorted from most to least
recent.
-
getDatastreams
Gets all versions of a datastream, sorted from most to least
recent.
Parameters:
pid
: The pid of the object.
dsID
: The datastream ID.
Returns: all versions of a datastream, sorted from most to least
recent.
-
getNextPID
Retrieves the specified number of next available pid(s) for a
given pid namespace.
Parameters:
numPIDs
: The number of pids to retrieve.
pidNamespace
: The namespace of the requested
pid(s).
Returns: An array of the requested next available pid(s).
-
getObjectXML
Gets the serialization of the digital object to XML appropriate
for persistent storage in the repository, ensuring that any URLs that
are relative to the local repository are stored with the Fedora local
URL syntax. The Fedora local URL syntax consists of the string
"local.fedora.server" standing in place of the actual "hostname:port" on
the URL). Managed Content (M) datastreams are stored with internal
identifiers in dsLocation. Also, within selected inline XML datastreams
(i.e., WSDL and SERVICE_PROFILE) any URLs that are relative to the local
repository will also be stored with the Fedora local URL syntax.
Parameters:
pid
: The PID of the object.
Returns: The digital object in Fedora's internal storage format.
-
getRelationships
Get the relationships asserted in the object's RELS-EXT
datastream that match the given criteria.
Parameters:
pid
: The PID of the object.
relationship
: The predicate to match. A null
value matches all predicates.
Returns: An array of RelationshipTuple
s, each
containing the subject, predicate and object matching the search
criteria.
-
ingest
Creates a new digital object in the repository. The object's
initial state will be A (active). If the XML document does not specify
the OBJID attribute of the root element, the repository will generate
and return a new pid for the object resulting from this request. That
pid will have the namespace of the repository. If the XML document
specifies a pid, it will be assigned to the digital object provided that
1. it conforms to the Fedora pid Syntax, 2. it uses a namespace that
matches the "retainPIDs" value configured for the repository, and 3. it
does not collide with an existing pid of an object in the repository.
Parameters:
objectXML
: The digital object in an XML
submission format.
format
: The XML format of objectXML, e.g.
"info:fedora/fedora-system:FOXML-1.1",
"info:fedora/fedora-system:FOXML-1.0",
"info:fedora/fedora-system:METSFedoraExt-1.1", or
"info:fedora/fedora-system:ATOM-1.0".
logMessage
: A log message.
Returns: The pid of the newly created object.
-
modifyDatastreamByReference
Parameters:
pid
: The PID of the object.
dsID
: The datastream ID.
altIDs
: Alternate identifiers for the
datastream, if any.
dsLabel
: The label for the datastream.
MIMEType
: The mime type
formatURI
: Optional format URI of the
datastream.
dsLocation
: Location of managed or external
datastream content.
checksumType
: The algorithm used to compute
the checksum. One of "DEFAULT", "DISABLED", "MD5", "SHA-1",
"SHA-256", "SHA-385", "SHA-512", "HAVAL", "TIGER", "WHIRLPOOL".
checksum
: The value of the checksum
represented as a hexadecimal string.
logMessage
: A log message.
force
: Force the update even if it would break
a data contract.
Returns: The timestamp of the operation according to the server,
in ISO8601 format.
-
modifyDatastreamByValue
Modifies an existing datastream in an object, by value. This
operation is only valid for Inline XML datastreams (i.e. controlGroup
"X").
Parameters:
pid
: The PID of the object.
dsID
: The datastream ID.
altIDs
: Alternate identifiers for the
datastream, if any.
dsLabel
: The label for the datastream.
MIMEType
: The mime type
formatURI
: Optional format URI of the
datastream.
dsContent
: The content of the datastream..
checksumType
: The algorithm used to compute
the checksum. One of "DEFAULT", "DISABLED", "MD5", "SHA-1",
"SHA-256", "SHA-385", "SHA-512", "HAVAL", "TIGER", "WHIRLPOOL".
checksum
: The value of the checksum
represented as a hexadecimal string.
logMessage
: A log message.
force
: Force the update even if it would break
a data contract.
Returns: The timestamp of the operation according to the server,
in ISO8601 format.
-
modifyObject
Modify an object.
Parameters:
pid
: The PID of the object.
state
: The new state, "A", "I" or "D". Null
means leave unchanged.
label
: the new label. Null means leave
unchanged.
ownerId
: The ownerId for the object.
logMessage
: A log message.
Returns: The timestamp of the operation according to the server,
in ISO8601 format.
-
purgeDatastream
Permanently removes one or more versions of a datastream from an
object.
Parameters:
pid
: The PID of the object.
dsID
: The datastream ID.
startDT
: The (inclusive) start date-time stamp
of the range. If null, this is taken to be the lowest possible
value, and thus, the entire version history up to the endDT be
purged.
endDT
: The (inclusive) ending date-time stamp
of the range. If null, this is taken to be the greatest possible
value, and thus, the entire version history back to the startDT will
be purged.
logMessage
: A log message.
force
: Force the update even if it would break
a data contract.
Returns: The creation date/time of each deleted datastream.
-
purgeObject
Permanently removes an object from the repository.
Parameters:
pid
: The PID of the object.
logMessage
: A log message.
force
: Force the update even if it would break
a dependency.
Returns: The timestamp of the operation according to the server,
in ISO8601 format.
-
purgeRelationship
Delete the specified relationship. This method will remove the
specified relationship(s) from the RELS-EXT datastream. If the Resource
Index is enabled, this will also delete the corresponding triples from
the Resource Index.
Parameters:
pid
: The PID of the object.
relationship
: The predicate, null matches any
predicate.
object
: The object, null matches any object.
isLiteral
: A boolean value indicating whether
the object is a literal.
datatype
: The datatype of the literal.
Optional.
Returns: .
-
setDatastreamState
Sets the state of a datastream to the specified state value.
Parameters:
pid
: The PID of the object.
dsID
: The datastream ID.
dsState
: One of "A", "D", or "I" (Active,
Deleted, or Inactive).
logMessage
: A log message.
Returns: The timestamp of the operation according to the server,
in ISO8601 format.
-
setDatastreamVersionable
Selectively turn versioning on or off for selected datastream.
When versioning is disabled, subsequent modifications to the datastream
replace the current datastream contents and no versioning history is
preserved.
Parameters:
pid
: The PID of the object.
dsID
: The datastream ID.
versionable
: Enable versioning of the
datastream.
logMessage
: A log message.
Returns: The timestamp of the operation according to the server,
in ISO8601 format.
WSDL
- Offline
For reference, an offline copy of the API-M WSDL is
available here.
- Online
When running your own Fedora server, an online copy of
the API-M WSDL will be made publicly available at
/wsdl?api=API-M
. For example:
http://localhost:8080/fedora/wsdl?api=API-M