Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel
bgColorwhite
borderStylenone

URL Syntax

/objects/{pid}/datastreams/{dsID}/content ? [asOfDateTime] [download]

HTTP Method

GET

HTTP Response

200Parameters

Info

Name

Description

Default

Options

{pid}

persistent identifier of the digital object

 

 

{dsID}

datastream identifier

 

 

asOfDateTime

indicates that the result should be relative to the digital object as it existed at the given date and time

 

yyyy-MM-dd or yyyy-MM-ddTHH:mm:ssZ

download

If true,  a content-disposition header value "attachment" will be included in the response, prompting the user to save the datastream as a file.  A content-disposition header value "inline" will be used otherwise.  The filename used in the header is generated by examining in order: RELS-INT for the relationship fedora-model:downloadFilename, the datastream label, and the datastream ID.  The file extension (apart from where the filename is specified in RELS-INT) is determined from the MIMETYPE.  The order in which these filename sources are searched, and whether or not to generate an extension from the MIMETYPE, is configured in fedora.fcfg.  The file used to map between MIMETYPEs and extensions is mime-to-extensions.xml located in the server config directory.

 

 

Examples

/objects/demo:29/datastreams/DC/content

/objects/demo:29/datastreams/DC/content?asOfDateTime=2008-01-01

getDissemination

titleHTTP 1.1 Conditional GET

The following HTTP 1.1 conditional GET request headers are supported for datastream dissemination requests:

  • If-None-Match (The ETag for managed and inline datastreams will be the datastream checksum)
    304 Not Modified is returned if the request header value matches the ETag. 
  • If-Modified-Since
    304 Not Modified is returned if the datastream has not been modified since the time specified in the request header value
  • Range
    206 Partial content is returned if the range request has been satisfied; otherwise, a 416 Requested Range Not Satisfiable status will be returned.
     

Conditional GET headers will be passed along to backend servers hosting external and redirect datastreams; responses from those servers will be sent back to the Fedora client. 

Parameters

Name

Description

Default

Options

{pid}

persistent identifier of the digital object

 

 

{dsID}

datastream identifier

 

 

asOfDateTime

indicates that the result should be relative to the digital object as it existed at the given date and time

 

yyyy-MM-dd or yyyy-MM-ddTHH:mm:ssZ

download

If true,  a content-disposition header value "attachment" will be included in the response, prompting the user to save the datastream as a file.  A content-disposition header value "inline" will be used otherwise.  The filename used in the header is generated by examining in order: RELS-INT for the relationship fedora-model:downloadFilename, the datastream label, and the datastream ID.  The file extension (apart from where the filename is specified in RELS-INT) is determined from the MIMETYPE.  The order in which these filename sources are searched, and whether or not to generate an extension from the MIMETYPE, is configured in fedora.fcfg.  The file used to map between MIMETYPEs and extensions is mime-to-extensions.xml located in the server config directory.

 

 

Examples

/objects/demo:29/datastreams/DC/content

/objects/demo:29/datastreams/DC/content?asOfDateTime=2008-01-01

getDissemination

Panel
bgColorwhite
borderStylenone

URL Syntax

/objects/{pid}/methods/{sdefPid}/{method} ? [method parameters]

HTTP Method

GET

HTTP Response

200

Parameters

Name

Description

Default

Options

{pid}

persistent identifier of the digital object

 

 

{sdefPid}

persistent identifier of the sDef defining the methods

 

 

{method}

method to invoke

 

 

method parameters

any parameters required by the method

 

 

Panel
bgColorwhite
borderStylenone

URL Syntax

/objects/{pid}/methods/{sdefPid}/{method} ? [method parameters]

HTTP Method

GET

HTTP Response

200

Parameters

Name

Description

Default

Options

{pid}

persistent identifier of the digital object

 

 

{sdefPid}

persistent identifier of the sDef defining the methods

 

 

{method}

method to invoke

 

 

method parameters

any parameters required by the method

 

 

Examples

/objects/demo:29/methods/demo:27/resizeImage?width=100

/objects/demo:SmileyEarring/methods/demo:DualResolution/fullSize

...

Panel
bgColorwhite
borderStylenone

URL Syntax

/objects/{pid}/export ? [format] [context] [encoding]

HTTP Method

GET

HTTP Response

200

Parameters

Name

Description

Default

Options

{pid}

persistent identifier of the digital object

 

 

the digital object

 

 

format

the XML format to export

info:fedora/fedora-system:FOXML-1.1

info:fedora/fedora-system:FOXML-1.1, info:fedora/fedora-system:FOXML-1.0, info:fedora/fedora-system:METSFedoraExt-1.1, info:fedora/fedora-system:METSFedoraExt-1.0,

format

the XML format to export

info:fedora/fedora-system:FOXMLATOM-1.1, info:fedora/fedora-system:FOXMLATOMZip-1.1, info:fedora/fedora-system:FOXML-1.0, info:fedora/fedora-system:METSFedoraExt-1.1, info:fedora/fedora-system:METSFedoraExt-1.0, info:fedora/fedora-system:ATOM-1.1, info:fedora/fedora-system:ATOMZip-1.1

context

the export context, which determines how datastream URLs and content are represented

public

  • public: This is context is appropriate when the exporting repository will continue to exist and will continue to support callback URLs for datastream content and disseminations. This gives a "public" export of an object in which all relative repository URLs AND internal identifiers are converted to absolute callback URLs.
  • migrate: This context is appropriate when the local repository will NOT be available after objects have been migrated to a new repository. For External (E) and Redirected (R)datastreams, any URLs that are relative to the local repository will be expressed with the Fedora local URL syntax (which consists of the string "local.fedora.server" standing in place of the actual "hostname:port"). Managed content (M) datastream identifiers are converted into default dissemination URLs.
  • archive: This context is appropriate for creating a stand alone archive of objects from a repository that will NOT be available after objects have been exported. For External (E) and Redirected (R) datastreams, any URLs that are relative to the local repository will be expressed with the Fedora local URL syntax (see "migrate"). Managed content (M) datastream identifiers are converted into default dissemination URLs, and their contents included inline via base-64 encoding.

context

the export context, which determines how datastream URLs and content are represented

public

public, migrate, archive

encoding

the preferred encoding of the exported XML

UTF-8

 

Examples

/objects/demo:29/export

/objects/demo:29/export?context=migrate

...

Panel
bgColorwhite
borderStylenone

URL Syntax

/objects/ [{pid}| new] ? [label] [format] [encoding] [namespace] [ownerId] [logMessage] [ignoreMime] [state]

HTTP Method

POST

HTTP Response

201

Request Content

text/xml

Parameters

Name

Description

Default

Options

{pid}

persistent identifier of the object to be created

new (see below)

 

new

indicator that either a new PID should be created for this object or that the PID to be used is encoded in the XML included as the body of the request

 

 

label

the label of the new object

 

 

format

the XML format of the object to be ingested

info:fedora/fedora-system:FOXML-1.1, info:fedora/fedora-system:FOXML-1.0, info:fedora/fedora-system:METSFedoraExt-1.1, info:fedora/fedora-system:METSFedoraExt-1.0, info:fedora/fedora-system:ATOM-1.1, info:fedora/fedora-system:ATOMZip-1.1

 

encoding

the encoding of the XML to be ingested.  If this is specified, and given as anything other than UTF-8, you must ensure that the same encoding is declared in the XML.  For example, if you specify "ISO-88591" as the encoding, the XML should start with:
<?xml version="1.0" encoding="ISO-8859-1"?> 

UTF-8

 

namespace

the namespace to be used to create a PID for a new empty object; if object XML is included with the request, the namespace parameter is ignored

the default namespace of the repository

 

ownerId

the id of the user to be listed at the object owner

 

 

logMessage

a message describing the activity being performed

 

 

ignoreMime

indicates that the request should not be checked to ensure that the content is XML prior to attempting an ingest. This is provided to allow for client applications which do not indicate the correct Content-Type when submitting a request.

false

true, false

XML file as request content

file to be ingested as a new object

 

 

statethe state of the object: active ("A") or inactive ("I")activeA, I

Notes

Executing this request with no request content will result in the creation of a new, empty object (with either the specified PID or a system-assigned PID). The new object will contain only a minimal DC datastream specifying the dc:identifier of the object.

Examples

POST: /objects/new

POST: /objects

POST: /objects/new?namespace=demo

POST: /objects/test:100?label=Test

...

Panel
bgColorwhite
borderStylenone

URL Syntax

/objects/{pid} ? [logMessage]

HTTP Method

DELETE

HTTP Response

204200

Parameters

Name

Description

Default

Options

{pid}

persistent identifier of the digital object

 

 

logMessage

a message describing the activity being performed

 

 

Examples

DELETE: /objects/demo:29

...