Repository APIs (SOAP)

General Document

Used as SOAP XML to be passed to the different Digitool web services as the required general document

Input Parameters

This XML contains generic call attributes.

Attribute NameDescription
ApplicationThe name of the calling application
OwnerThe administration unit
interface_versionFor backwards compatibility, use “1.0”
UserThe repository user name and the application user name are in the following format:

<repository_user>:<application_user>

For example, super:smith

PasswordThe repository user password (default is “super”)

Example:

<?xml version="1.0" encoding="UTF-8"?>
<xb:general xmlns:xb="http://com/exlibris/digitool/repository/api/xmlbeans">
<application>DIGITOOL-3</application>
<owner>DTL02</owner>
<interface_version>1.0</interface_version>
<user>super:guy</user>
<password>super</password>
</xb:general>

Digital Entity Call Document

Used as SOAP XML to be passed to the different Digitool Web services

Input Parameters

The DigitalEntityCall is the XML to be passed to all Web services. It consists of the Digital Entity Document.

CommandDescription
createdefines that the digital entity should be created in the repository
retrievedefines that the digital entity should be retrieved from the repository
deletedefines that the digital entity should be deleted from the repository
updatedefines that the digital entity should be updated

Digital Entity

The digital entity has five main sections:

  • pid/vpid
  • control
  • mds
  • relations
  • stream_ref

pid/vpid

The persistence identifier of the digital entity

control

Control AttributeDescription
labelThe digital entity label
noteRelated note
ingest_idThe ID of the ingest activity that loads this digital entity
ingest_nameThe name of the ingest activity that loads this digital entity
entity_typeThe entity type – for example, METS, complex
usage_typeOne of the following:
Archive, view, view_main, index, thumbnail, webarchive
preservation_levelOne of the following: Any, low, medium, high, critical
partition_a , partition_b , partition_c Logical categories
creation_dateREAD_ONLY – auto-generated upon creation
creatorREAD_ONLY – auto-generated from the general XML document
modification_dateREAD_ONLY – auto-generated upon updating
modified_byREAD_ONLY – auto-generated from the general XML document
admin_unit READ_ONLY – auto-generated from the general XML document

mds

The mds section holds a list of md tags. Each md tag is a container for metadata. Example:

<mds>
    <md>
        <description>general dc record for book</description>
        <mid></mid>
        <name>descriptive</name>
        <type>dc</type>
        <value>The dc records goes here...</value>
    </md>
</mds>

relations

A digital entity can have a relation to another digital entity The relations are defined in the relations section.

There are three types of relations:

  • manifestation: for example, an image and its thumbnail, a document and its index file.
  • part_of: for example, the relation between a page and its book
  • include: for example, the relation between a book and its pages

For example:

<relations>
    <relation>
        <type>part_of</type>
        <pid>1001</pid>
    </relation>
</relations>

stream_ref

The stream ref holds the stream information.

Steam ref attributeDescription
file_nameThe file name
file_extensionThe file extension (auto-generated if not provide)
mime_typeThe MIME type of the file (auto-generated if not provide)
directory_pathIf the file is located on the Web, this attribute contains its URL
Storage_idAuto-generated
external_typeAuto-generated
file_size_byteAuto-generated

The stream_ref node has two attributes that determine how the stream works.

  • location – defines if the stream is located on a remote Web server or on a local file system. Valid values are: nfs (default), http
  • Store_command – determines if the stream should be copied to the repository, moved from its location to the repository, or just pointed by the digital entity. Valid values are: copy (default), move, link

Examples:

  • Copy local stream
<stream_ref store_command="copy" location="nfs">
  <file_name>/temp/file1.txt</file_name>
</stream_ref>
  • Download from URL
<stream_ref store_command="copy" location="http">
  <directory_path></directory_path>
</stream_ref>
  • Link to a remote URL
<stream_ref store_command="link" location="http">
  <directory_path></directory_path>
</stream_ref>