Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

Info
titleAbout the "prefix"

Prefix is the initial URL path at which the LNI service is "mounted" on its Web server. Since the LNI is intended
to be run out of a Java Servlet container such as Tomcat, possibly the same one running other DSpace services (e.g. the Web UI), it will probably be mounted under a separate initial path to distinguish its requests from those bound for other servlets. For example, on a server host "library.uni.edu", if the LNI is mounted at /dspace/dav, the complete prefix is http://library.uni.edu/dspace/davImage Removed.

The absolute path of the URI for each type of content object is composed as follows:

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="0327b211-a0a0-4296-a784-0c108d324089"><ac:plain-text-body><![CDATA[

DSpace Site

/[prefix]/

Lookup handle

/[prefix]/lookup/handle/[handle] ]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="828fc98e-664e-47d3-8293-63870b268a3c"><ac:plain-text-body><![CDATA[

Lookup handle

, /[prefix]/lookup/bitstream-handle/[sequence]/[handle]_

Community, Collection, Item (DSpace Objects)

/[prefix]/lookup/handle/[handle] dso_[persistent-identifier]

Bitstream

, /[prefix]/lookupdso_[persistent-identifier]/bitstream-handle/_[sequencepid]

Workspace Items list

/[handle]_

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="5cc2d5be-9f75-4c35-9976-a69038b5622b"><ac:plain-text-body><![CDATA[

Community, Collection, Item (DSpace Objects)

/[prefix]/dso_[persistent-identifier]

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="582a5698-18f2-40a5-ab0c-7e494b1565d1"><ac:plain-text-body><![CDATA[

Bitstream

/[prefix]/dso_[persistent-identifier]/bitstream_[pid]

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="a901740f-a022-45c8-bb1a-edf4be8b92ea"><ac:plain-text-body><![CDATA[

Workspace Items list

/[prefix]/workspace

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="8e30db41-a768-4619-844b-1d07ca09e835"><ac:plain-text-body><![CDATA[

Workspace Item

/[prefix]/workspace/wsi_db_[id]

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="d2ac1c1e-687d-49c2-8af5-229761038340"><ac:plain-text-body><![CDATA[

Workflow Items list

/[prefix]/workflow_own/ , /[prefix]/workflow_pool/

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="e1d7fa02-18db-4e38-92a1-ab9d60c37a49"><ac:plain-text-body><![CDATA[

Workflow Item

/[prefix]/workflow_own/wfi_db_[id]

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="050d18c3-ed88-40b9-af50-4fc960123c8a"><ac:plain-text-body><![CDATA[

EPerson list

/[prefix]/eperson/

]]></ac:plain-text-body></ac:structured-macro>

prefix]/workspace

Workspace Item

/[prefix]/workspace/wsi_db_[id]

Workflow Items list

/[prefix]/workflow_own/ , /[prefix]/workflow_pool/

Workflow Item

/[prefix]/workflow_own/wfi

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="a1490880-3173-4e48-9916-be19ad4930df"><ac:plain-text-body><![CDATA[

EPerson

/[prefix]/eperson/ep_db_[id]

EPerson list

/[prefix]]></ac:plain-text-body></ac:structured-macro>

Key:

/eperson/

EPerson

/[prefix]/eperson/ep_db_[id]

Key:

  • [prefix] was covered above.
  • Wiki Markup
    \[prefix\] was covered above.
  • Wiki Markup\[persistent-identifier\] is a specially-encoded version of the DSpace object's persistent identifier (such as a Handle). (See discussion of {{/lookup}} below for details).
  • Wiki Markup\[handle\] is the Handle or other persistent identifier. It may only be used with the {{lookup}} service.unmigrated-wiki-markup
  • \[pid\] in the bitstream URI is a _persistent bitstream identifier_.unmigrated-wiki-markup
  • \[id\] is the numeric identifier of row in the database, used to identify e.g. an in-progress Item, such as a workflow or workspace item.

About Identifiers

DSpace assigns "persistent identifiers", such as Handles, to all of its first-class content objects. The LNI's resource URIs do not contain literal DSpace identifiers, however, because some identifier formats contain characters (e.g. '/') which cause problems with existing WebDAV software, even when properly "escaped". To work around this problem and to prevent similar trouble with any new persistent identifier schemes adopted in the future, the LNI transforms an identifier by its own proprietary process before putting it into a resource URI. The exact transformation is not published so it can be changed without affecting clients.

...

The general format of a GET URI is:

unmigrated-wiki-markup
Panel

GET URI for Item:: *{{/}}\* _prefix_ \ *{{/}}\* _resource_path_ \ *{{?package=}}\* _package-format_ *_&other-packager-parameters{_}*
GET URI for Bitstream:: *{{/}}\* _prefix_ \ *{{/}}\* _resource_path_ _\[ .optional-extension \ ]_

Where prefix and the URI path are as described in the section above on Resource URIs.

...

NOTE: The SOAP servlet accepts WebDAV `GET` and `PUT` requests as well as SOAP messages, which simplifies the switching of modes in your
client code. Typically, you will start with a SOAP endpoint URL that looks something like http://uni.edu/dspace/lni/DSpaceLNIImage Removed. The final pathname element, DSpaceLNI, names a SOAP application within the servlet, so the servlet path is actually everything up to /dspace/lni/. To construct a WebDAV URL, simply use that servlet path as your WebDAV prefix, so e.g. a resource URL would become:
http://uni.edu/dspace/lni/dso_1721.1$5543Image Removed. There is a convenience method in the Java class LNIClientUtils to help manage this, but you will
have to implement it yourself for SOAP clients in other languages.

...

Since the format resources are named by the "short description", it is a simple matter to find a format if you know the short description – just
compose the URI and make a `PROPFIND` request. Otherwise list all formats with a `PROPFIND` request of depth 1 on the parent collection, `/format/`.unmigrated-wiki-markup

It might be helpful to add query args to the `/format/` resource to search out formats, e.g. by filename extension. For example, the URI {{/format?\[find By Extension\]=pdf}} would return a `Location:` header redirecting to the format URI that has `pdf` among its extensions.

Other good Candidates for New Resource Types

...