4 Digital Asset Requests

This chapter details the DIVA Enterprise Connect services that process archived assets, which include the following services:

Overview

The following Web Services allow digital assets to be archived into the digital archive, restored to Source/Destinations, copied, or deleted. These commands typically run for a long time. When a call is successful, these services return a request ID (similar to a job ID). The request ID can then be passed as an argument to monitor the request as it is executed in the system.

Archive: archiveObject()

This request enables digital assets to be transferred from a Source/Destination (for example, FTP or CIFS file system) to DIVArchive, resulting in a new archived object. If the request is created successfully, the call returns a request ID. You can monitor the progress of the call throughout its lifecycle using the getRequestInfo() call. This request is available in DIVArchive and DIVAnet. DIVAnet will archive to the local site by default.

Input Parameters

The following is a list of archiveObject() request input parameters:

Table 4-1 archiveObject() Request Input Parameters

Parameter Description Data Type and Defaults

sessionCode

This parameter identifies the unique ID associated with the client's session.

String (1 - 36 characters)

This field is required.

objectName

This parameter identifies the name of the object. This parameter, along with objectCategory, creates the full formal name of a DIVArchive object.

String (1 - 192 characters)

This field is required.

objectCategory

This parameter identifies the name of the object category. This parameter, along with objectName, creates the full formal name of a DIVArchive object.

String (1 - 96 characters)

This field is required.

source

This parameter identifies the DIVArchive Source/Destination name (representing a server, or disk, such as FTP or CIFS) from where the files are ingested.

String (1 - 96 characters)

This field is required.

mediaName

This parameter identifies the DIVArchive media name, and refers to a collection of object instances stored on the same, or similar, disk or tape media.

You can also specify a DIVArchive Storage Plan here. In this case, DIVArchive performs processing to determine which media to use for the archive.

String (1 - 96 characters)

This field is required.

filesPathRoot

This parameter identifies the top-level subdirectory within the Source/Destination from where files should be archived.

String (0 - 4000 characters)

This can be empty.

fileNamesList

This parameter identifies a list of files (or wildcard patterns) to be archived. Paths for the files are relative to the specified filePathRoot. The <fileNamesList> tag delimits each file, and the tag is repeated for each file in the list. For example:

<fileNamesList>misc/*</fileNamesList>
<fileNamesList>t.mov</fileNamesList>

If the -gcinfilelist option is passed, a genuine checksum value separated by a colon, may be supplied after the file name. For example, t.mov:a6f62b73f5a9bf380d32f062f2d71cbc.

String (1 - 4000 characters)

This tag can appear one or more times.

qualityOfService

This parameter controls how requests are cached during request processing. The possible integer values are as follows:

0: Default - Use the default configured in DIVArchive.

1: Cache and Direct - Use cache first, then direct if cache is unavailable.

2: Cache Only - This is a two stage transfer to tape.

3: Direct and Cache - Use direct first, then cache if direct is unavailable.

4: Direct Only - This is direct to disk or tape.

5: Nearline and Direct - Use Nearline first, then direct if Nearline is unavailable.

6: Nearline Only - Create a disk instance if media is tape.

Integer (0 - 6)

This can be nil. The Default is used when this value is nil.

priorityLevel

This parameter identifies the initial request priority on a scale of 0 to 100 (100 is the highest priority). The effective priority of the request increases the longer it waits for execution.

Integer (0 - 100)

If you use nil or -1 for this value, the DIVArchive default is used.

comments

This parameter is an optional string containing information describing the object.

String (0 - 4000 characters)

This can be empty.

archiveOptions

This parameter identifies additional options for the archive command. These options are typically prefixed with a dash (similar to command line options). Some options can override parameters for the Source/Destination. Some typical archive options include:

-r: Recursively archive subdirectories.

-gcinfilelist {gctype}: Specify the type of genuine checksum. The default type is MD5.

String (0 - 768 characters)

This can be empty.


Returned Values

If a response to the request was returned by DIVArchive or DIVAnet, HTTP status code 200 will be returned, and will include the following values:

Table 4-2 archiveObject() Request Returned Values

Parameter Description Data Type and Default

divaStatus

This parameter is the DIVArchive Status Code for the operation (see the following section).

Integer (1000 - 1039)

requestNumber

This parameter is an ID uniquely identifying the running request. You can monitor the progress of the request using this ID.

 

DIVArchive Status Codes

The following are typical DIVArchive archiveObject() request status codes. See Appendix A for all DIVArchive Status Codes.

1000: Success

The request has been created successfully.

1008: Invalid Parameter

One or more parameters contain data that cannot be parsed correctly.

1016: Object Already Exists

An object with the name provided already exists in the DIVArchive or DIVAnet system.

1017: Group Does Not Exist

The tape group provided does not exist in the target DIVArchive system.

1018: Source/Destination Does Not Exist

The Source/Destination provided does not exist in the target DIVArchive system.

1032: Cannot Accept More Requests

The DIVArchive or DIVAnet system temporarily cannot accept any more requests. You can try the request again later.

1035: Access Denied

This code is returned if the client does not have permission for the request, or the command has been disallowed.

REST Request Example

The following is an example of a REST archiveObject() request:

<p:archiveObject xmlns:p="http://interaction.api.ws.diva.fpdigital.com/xsd">
   <p:sessionCode>810c85c7-d70c-414e-93a4-655a3e4c89bd</p:sessionCode>
   <p:objectName>PREPROD_July_Edits4</p:objectName>
   <p:objectCategory>PROD</p:objectCategory>
   <p:source>ftp_001</p:source>
   <p:mediaName>Post4LTO7</p:mediaName>
   <p:filesPathRoot></p:filesPathRoot>
   <!--1 or more repetitions:-->
   <p:fileNamesList>preprod_jul.mov</p:fileNamesList>
   <p:qualityOfService>1</p:qualityOfService>
   <p:priorityLevel>50</p:priorityLevel>
   <p:comments>This object was archived through a DIVA WS REST call</p:comments>
   <p:archiveOptions></p:archiveOptions>
</p:archiveObject>

REST Response Example

The following is an example of a REST response for an archiveObject() request:

<p:archiveObjectResponse xmlns:p=http://interaction.api.ws.diva.fpdigital.com/xsd xmlns:p1=http://response.model.api.ws.diva.fpdigital.com/xsd>
   <p:return>
      <p1:divaStatus>1000</p1:divaStatus>
      <p1:requestNumber>4905</p1:requestNumber>
   </p:return>
</p:archiveObjectResponse>

Associative Copy: associativeCopy()

This request enables storing a list of archived objects together on the same tape media. The request completes when all objects have been copied to the target tape. If the request is created successfully, the call returns a request ID. You can monitor the progress of the call throughout its lifecycle using the getRequestInfo() call. This request is available in DIVArchive, but not in DIVAnet (MultiDIVA Mode).

Input Parameters

The following is as list of associativeCopy() request input parameters:

Table 4-3 associativeCopy() Request Input Parameters

Section Parameter Description Data Type and Defaults
 

sessionCode

This parameter identifies the unique ID associated with the client's session.

String (1 - 36 characters)

This field is required.

objectsInfo

 

This section identifies a list of objects to be stored together. Each entry is a separate object, identified by an object name and category pair. The following is an example of two objects to be stored together:

<objectsInfo>
 <objectName>OBJ1</objectName>
<objectCategory>Air3</objectCategory>
</objectsInfo>
<objectsInfo>
 <objectName>OBJ2</objectName>
<objectCategory>Air3</objectCategory>
</objectsInfo>

Can appear one or more times.

objectsInfo

objectName

This parameter identifies the name of the object. This parameter, along with objectCategory, creates the full formal name of a DIVArchive object.

String (1 - 192 characters)

This field is required.

objectsInfo

objectCategory

This parameter identifies the name of the object category. This parameter, along with objectName, creates the full formal name of a DIVArchive object.

The request will fail if this field is empty, and more than one object in DIVArchive matches the objectName.

String (1 - 96 characters)

This field is can be empty.

 

groupName

This parameter identifies the DIVArchive tape group name. This refers to a collection of object instances stored on the same, or similar, tape media.

String (1 - 96 characters)

This field is required.

 

priorityLevel

This parameter identifies the initial request priority on a scale of 0 to 100 (100 is the highest priority). The effective priority of the request increases the longer it waits for execution.

Integer (0 - 100)

If you use nil or -1 for this value, the DIVArchive default is used.


Returned Values

If a response to the request was returned by DIVArchive or DIVAnet, HTTP status code 200 will be returned, and will include the following values:

Table 4-4 associativeCopy() Request Returned Values

Parameter Description Data Type and Default

divaStatus

This parameter is the DIVArchive Status Code for the operation (see the following section).

Integer (1000 - 1039)

requestNumber

This parameter is an ID uniquely identifying the running request. You can monitor the progress of the request using this ID.

 

DIVArchive Status Codes

The following are typical DIVArchive associativeCopy() request status codes. See Appendix A for all DIVArchive Status Codes.

1000: Success

The request has been created successfully.

1008: Invalid Parameter

One or more parameters contain data that cannot be parsed correctly.

1009: Object Does Not Exist

An object with the name provided does not exist in DIVArchive.

1017: Group Does Not Exist

The tape group provided does not exist in the target DIVArchive system.

1023: Object Offline

There are no available instances of the object. For example, this could possibly occur because a required tape was ejected from a tape library.

1031: Object In Use

One or more objects are currently being used and cannot be processed.

1032: Cannot Accept More Requests

The DIVArchive or DIVAnet system temporarily cannot accept any more requests. You can try the request again later.

1035: Access Denied

This code is returned if the client does not have permission for the request, or the command has been disallowed.

REST Request Example

The following is an example of a REST associativeCopy() request:

<p:associativeCopy xmlns:p="http://interaction.api.ws.diva.fpdigital.com/xsd" xmlns:p1="http://model.api.ws.diva.fpdigital.com/xsd">
   <p:sessionCode>810c85c7-d70c-414e-93a4-655a3e4c89bd</p:sessionCode>
   <p:objectsInfo>
      <p1:objectName>PREPROD_July_Edits4</p1:objectName>
      <p1:objectCategory>PROD</p1:objectCategory>
   </p:objectsInfo>
   <p:objectsInfo>
      <p1:objectName>PREPROD_July_Edits5</p1:objectName>
      <p1:objectCategory>PROD</p1:objectCategory>
   </p:objectsInfo>
   <p:groupName>Post4LTO7</p:groupName>
   <p:priorityLevel>50</p:priorityLevel>
</p:associativeCopy>

REST Response Example

The following is an example of a REST response for an associativeCopy() request:

<p:associativeCopyResponse xmlns:p=http://interaction.api.ws.diva.fpdigital.com/xsd xmlns:p1=http://response.model.api.ws.diva.fpdigital.com/xsd>
   <p:return>
      <p1:divaStatus>1000</p1:divaStatus>
      <p1:requestNumber>4905</p1:requestNumber>
   </p:return>
</p:associativeCopyResponse>

Copy Object and Copy To Group: copy(), copyToGroup()

This request creates a copy of an archived asset. This results in a new instance of the object within DIVArchive, not a new object. If you use DIVAnet, you can use this command to copy an object from one site to another. The target media of the new instance is passed. The call returns a request ID if the request is created successfully. You can monitor the progress of the call throughout its lifecycle using the getRequestInfo() call. This request is available in both DIVArchive and DIVAnet.

Input Parameters

The following is a list of copy() and copyToGroup() request input parameters:

Table 4-5 copy() and copyToGroup() Request Input Parameters

Parameter Description Data Type and Default

sessionCode

This parameter identifies the unique ID associated with the client's session.

String (1 - 36 characters)

This field is required.

objectName

This parameter identifies the name of the object. This parameter, along with the objectCategory, creates the full formal name of a DIVArchive object.

String (1 - 192 characters)

This field is required.

categoryName

This parameter identifies the name of the object category. This parameter, along with objectName, creates the full formal name of a DIVArchive object. If this field is empty, and more than one object in DIVArchive matches the objectName, the request will fail.

String (0 - 96 characters)

You can leave this field empty.

instanceID

Specifying a value for this parameter enables the caller to select a specific object instance to copy from.

Integer (0 - 100000).

If you use nil or -1 for this value, DIVArchive will choose the best object instance to copy from.

mediaName

This parameter identifies the DIVArchive media name. This refers to a collection of object instances stored on the same, or similar, disk or tape media.

In DIVAnet, you can prefix a DIVArchive site name to the media using an underscore to separates the two. This allows objects to be copied to a particular site.

String (1 - 96 characters)

This field is required.

priorityLevel

This parameter identifies the initial request priority on a scale of 0 to 100 (100 is the highest priority). The effective priority of the request increases the longer it waits for execution.

Integer (0 - 100)

If you use nil or -1 for this value, the DIVArchive default is used.


Returned Values

If a response to the request was returned by DIVArchive or DIVAnet, HTTP status code 200 will be returned, and will include the following values:

Table 4-6 copy() or copyToGroup() Request Returned Values

Parameter Description Data Type and Default

divaStatus

This parameter is the DIVArchive Status Code for the operation (see the following section).

Integer (1000 - 1039)

requestNumber

This parameter is an ID uniquely identifying the running request. You can monitor the progress of the request using this ID.

 

DIVArchive Status Codes

The following are typical DIVArchive copy() and copyToGroup() request status codes. See Appendix A for all DIVArchive Status Codes.

1000: Success

The request has been created successfully.

1008: Invalid Parameter

One or more parameters contain data that cannot be parsed correctly.

1009: Object Does Not Exist

An object with the name provided does not exist in DIVArchive.

1010: Name Matches Multiple Objects

More than one object with the specified name exists in the DIVArchive or DIVAnet database.

1017: Group Does Not Exist

The tape group provided does not exist in the target DIVArchive system.

1023: Object Offline

There are no available instances of the object. For example, this could possibly occur because a required tape was ejected from a tape library.

1027: Instance Does Not Exist

The specified object instance does not exist in DIVArchive or DIVAnet.

1028: Instance Offline

One or more object instances are currently offline and cannot be processed.

1031: Object In Use

One or more objects are currently being used and cannot be processed.

1032: Cannot Accept More Requests

The DIVArchive or DIVAnet system temporarily cannot accept any more requests. You can try the request again later.

1035: Access Denied

This code is returned if the client does not have permission for the request, or the command has been disallowed.

REST Request Example

The following is an example of a REST copy() and copyToGroup() request:

<p:copy xmlns:p="http://interaction.api.ws.diva.fpdigital.com/xsd">
   <p:sessionCode>810c85c7-d70c-414e-93a4-655a3e4c89bd</p:sessionCode>
   <p:objectName>PREPROD_July_Edits4</p:objectName>
   <p:categoryName>PROD</p:categoryName>
   <p:instanceID>-1</p:instanceID>
   <p:priorityLevel>50</p:priorityLevel>
   <p:mediaName>Post4LTO7</p:mediaName>
</p:copy>

REST Response Example

The following is an example of a REST response for a copy() and copyToGroup() request:

<p:copyResponse xmlns:p=http://interaction.api.ws.diva.fpdigital.com/xsd xmlns:p1=http://response.model.api.ws.diva.fpdigital.com/xsd>
   <p:return>
      <p1:divaStatus>1000</p1:divaStatus>
      <p1:requestNumber>4905</p1:requestNumber>
   </p:return>
</p:copyResponse>

Copy To New: copyToNewObject()

This request creates a copy of an archived object. This results in a new object within DIVArchive, not just a new object instance. You provide the target name, target category, and target media for the new object. The call returns a request ID if it the request is created successfully. You can monitor the progress of the call throughout its lifecycle using the getRequestInfo() call. This request is available in DIVArchive, but not in DIVAnet (MultiDIVA mode).

Input Parameters

The following is a list of copyToNewObject() request input parameters:

Table 4-7 copyToNew() Request Input Parameters

Parameter Description Data Type and Default

sessionCode

This parameter identifies the unique ID associated with the client's session.

String (1 - 36 characters)

This field is required.

objectName

This parameter identifies the name of the object. This parameter, along with objectCategory, creates the full formal name of a DIVArchive object.

String (1 - 192 characters)

This field is required.

objectCategory

This parameter identifies the name of the object category. This parameter, along with objectName, creates the full formal name of a DIVArchive object. If this field is empty, and more than one object in DIVArchive matches the objectName, the request will fail.

String (0 - 96 characters)

You can leave this field empty.

objectMedia

Specifying a value for this parameter enables the caller to select which media to perform the copy from. If this value and objectInstanceID are empty, DIVArchive chooses the best object instance to copy from. This value cannot be combined with objectInstanceID.

String (0 - 96 characters)

You can leave this field empty.

objectInstanceID

Specifying a value for this parameter enables the caller to select a specific object instance to copy from. If this value and objectMedia are empty, DIVArchive chooses the best object instance to copy from. This value cannot be combined with objectMedia.

Integer (0 - 100000).Entering -1 indicates that this value is not specified.

newObjectName

This parameter identifies the target object name to be created.

String (1 - 192 characters)

This field is required.

newObjectCategory

This parameter identifies the target object category to be created.

String (1 - 96 characters)

This field is required.

newObjectInstanceMedia

This parameter identifies the DIVArchive media name (either a tape group or array name). This refers to a collection of object instances stored on the same, or similar, disk or tape media. The target object is stored on the identified media.

String (1 - 96 characters)

This field is required.

comments

This parameter is an optional string containing information describing the object.

String (0 - 4000 characters)

You can leave this field empty.

priorityLevel

This parameter identifies the initial request priority on a scale of 0 to 100 (100 is the highest priority). The effective priority of the request increases the longer it waits for execution.

Integer (0 - 100)

If you use nil or -1 for this value, the DIVArchive default is used.


Returned Values

If a response to the request was returned by DIVArchive or DIVAnet, HTTP status code 200 will be returned, and will include the following values:

Table 4-8 copyToNew() Request Returned Values

Parameter Description Data Type and Default

divaStatus

This parameter is the DIVArchive Status Code for the operation (see the following section).

Integer (1000 - 1039)

requestNumber

This parameter is an ID uniquely identifying the running request. You can monitor the progress of the request using this ID.

 

DIVArchive Status Codes

The following are typical DIVArchive copyToNew() request status codes. See Appendix A for all DIVArchive Status Codes.

1000: Success

The request has been created successfully.

1008: Invalid Parameter

One or more parameters contain data that cannot be parsed correctly.

1009: Object Does Not Exist

An object with the name provided does not exist in DIVArchive.

1010: Name Matches Multiple Objects

More than one object with the specified name exists in the DIVArchive or DIVAnet database.

1017: Group Does Not Exist

The tape group provided does not exist in the target DIVArchive system.

1023: Object Offline

There are no available instances of the object. For example, this could possibly occur because a required tape was ejected from a tape library.

1027: Instance Does Not Exist

The specified object instance does not exist in DIVArchive or DIVAnet.

1028: Instance Offline

One or more object instances are currently offline and cannot be processed.

1031: Object In Use

One or more objects are currently being used and cannot be processed.

1032: Cannot Accept More Requests

The DIVArchive or DIVAnet system temporarily cannot accept any more requests. You can try the request again later.

1035: Access Denied

This code is returned if the client does not have permission for the request, or the command has been disallowed.

REST Request Example

The following is an example of a REST copyToNewObject() request:

<p:copyToNewObject xmlns:p="http://interaction.api.ws.diva.fpdigital.com/xsd">
   <p:sessionCode>810c85c7-d70c-414e-93a4-655a3e4c89bd</p:sessionCode>
   <p:objectName>PREPROD_July_Edits4</p:objectName>
   <p:objectCategory>PROD</p:objectCategory>
   <p:objectMedia>Post4LTO7</p:objectMedia>
   <p:objectInstanceID></p:objectInstanceID>
   <p:newObjectName>PREPROD_July_Edits4</p:newObjectName>
   <p:newObjectCategory>PROD</p:newObjectCategory>
   <p:newObjectInstanceMedia>Post4LTO7</p:newObjectInstanceMedia>
   <p:comments></p:comments>
   <p:priorityLevel>50</p:priorityLevel>
</p:copyToNewObject>

REST Response Example

The following is an example of a REST response for a copyToNewObject() request:

<p:copyToNewResponse xmlns:p=http://interaction.api.ws.diva.fpdigital.com/xsd xmlns:p1=http://response.model.api.ws.diva.fpdigital.com/xsd>
   <p:return>
      <p1:divaStatus>1000</p1:divaStatus>
      <p1:requestNumber>4905</p1:requestNumber>
   </p:return>
</p:copyToNewResponse>

Delete Object: deleteObject()

The request deletes an archived object from DIVArchive. If you use DIVAnet, you can use this command to delete objects from all sites. The call returns a request ID if the request is created successfully. You can monitor the progress of the call throughout its lifecycle using the getRequestInfo() call. This request is available in both DIVArchive and DIVAnet.

Input Parameters

The following is a list of deleteObject() request input parameters:

Table 4-9 deleteObject() Request Input Parameters

Parameter Description Data Type and Default

sessionCode

This parameter identifies the unique ID associated with the client's session.

String (1 - 36 characters)

This field is required.

objectName

This parameter identifies the name of the object. This parameter, along with objectCategory, creates the full formal name of a DIVArchive object.

String (1 - 192 characters)

This field is required.

objectCategory

This parameter identifies the name of the object category. This parameter, along with objectName, creates the full formal name of a DIVArchive object. If this field is empty, and more than one object in DIVArchive matches the objectName, the request will fail.

String (0 - 96 characters)

You can leave this field empty.

priorityLevel

This parameter identifies the initial request priority on a scale of 0 to 100 (100 is the highest priority). The effective priority of the request increases the longer it waits for execution.

Integer (0 - 100)

If you use nil or -1 for this value, the DIVArchive default is used.


Returned Values

If a response to the request was returned by DIVArchive or DIVAnet, HTTP status code 200 will be returned, and will include the following values:

Table 4-10 deleteObject() Request Returned Values

Parameter Description Data Type and Default

divaStatus

This parameter is the DIVArchive Status Code for the operation (see the following section).

Integer (1000 - 1039)

requestNumber

This parameter is an ID uniquely identifying the running request. You can monitor the progress of the request using this ID.

 

DIVArchive Status Codes

The following are typical DIVArchive deleteObject() request status codes. See Appendix A for all DIVArchive Status Codes.

1000: Success

The request has been created successfully.

1008: Invalid Parameter

One or more parameters contain data that cannot be parsed correctly.

1009: Object Does Not Exist

An object with the name provided does not exist in DIVArchive.

1010: Name Matches Multiple Objects

More than one object with the specified name exists in the DIVArchive or DIVAnet database.

1017: Group Does Not Exist

The tape group provided does not exist in the target DIVArchive system.

1028: Instance Offline

One or more object instances are currently offline and cannot be processed.

1031: Object In Use

One or more objects are currently being used and cannot be processed.

1032: Cannot Accept More Requests

The DIVArchive or DIVAnet system temporarily cannot accept any more requests. You can try the request again later.

1035: Access Denied

This code is returned if the client does not have permission for the request, or the command has been disallowed.

REST Request Example

The following is an example of a REST deleteObject() request:

<p:deleteObject xmlns:p="http://interaction.api.ws.diva.fpdigital.com/xsd">
   <p:sessionCode>810c85c7-d70c-414e-93a4-655a3e4c89bd</p:sessionCode>
   <p:objectName>PREPROD_July_Edits4</p:objectName>
   <p:objectCategory>PROD</p:objectCategory>
</p:deleteObject>

REST Response Example

The following is an example of a REST response for a deleteObject() request:

<p:deleteObjectResponse xmlns:p=http://interaction.api.ws.diva.fpdigital.com/xsd xmlns:p1=http://response.model.api.ws.diva.fpdigital.com/xsd>
   <p:return>
      <p1:divaStatus>1000</p1:divaStatus>
      <p1:requestNumber>4905</p1:requestNumber>
   </p:return>
</p:deleteObjectResponse>

Delete Instance: deleteInstance()

The request deletes an archived object, or a single object instance from DIVArchive. If you use DIVAnet, you can delete an asset from all sites, a single site, or a single object instance on a site. You can provide an instance ID or media in addition to object name and category to select a particular object instance. The call returns a request ID if the request is created successfully. You can monitor the progress of the call throughout its lifecycle using the getRequestInfo() call. This request is available in both DIVArchive and DIVAnet.

Input Parameters

The following is a list of deleteInstance() request input parameters:

Table 4-11 deleteInstance() Request Input Parameters

Parameter Description Data Type and Default

sessionCode

This parameter identifies the unique ID associated with the client's session.

String (1 - 36 characters)

This field is required.

objectName

This parameter identifies the name of the object. This parameter, along with objectCategory, creates the full formal name of a DIVArchive object.

String (1 - 192 characters)

This field is required.

categoryName

This parameter identifies the name of the object category. This parameter, along with objectName, creates the full formal name of a DIVArchive object. If this field is empty, and more than one object in DIVArchive matches the objectName, the request will fail.

String (0 - 96 characters)

You can leave this field empty.

mediaName

This parameter identifies the DIVArchive media name. This refers to a collection of object instances stored on the same, or similar, disk or tape media.

In DIVAnet, you can prefix a DIVArchive site name to the media using an underscore to separates the two. This allows objects to be deleted from a particular site.

You cannot specify both this value and the instanceID at the same time.

String (1 - 96 characters)

This field is required.

instanceID

Specifying a value for this parameter enables the caller to select a specific object instance to delete.

You cannot specify both this value and the mediaName at the same time.

Integer (0 - 100000).Entering -1 indicates that the parameter is not specified.

priorityLevel

This parameter identifies the initial request priority on a scale of 0 to 100 (100 is the highest priority). The effective priority of the request increases the longer it waits for execution.

Integer (0 - 100)

If you use nil or -1 for this value, the DIVArchive default is used.


Returned Values

If a response to the request was returned by DIVArchive or DIVAnet, HTTP status code 200 will be returned, and will include the following values:

Table 4-12 deleteInstance() Request Returned Values

Parameter Description Data Type and Default

divaStatus

This parameter is the DIVArchive Status Code for the operation (see the following section).

Integer (1000 - 1039)

requestNumber

This parameter is an ID uniquely identifying the running request. You can monitor the progress of the request using this ID.

 

DIVArchive Status Codes

The following are typical DIVArchive deleteInstance() request status codes. See Appendix A for all DIVArchive Status Codes.

1000: Success

The request has been created successfully.

1008: Invalid Parameter

One or more parameters contain data that cannot be parsed correctly.

1009: Object Does Not Exist

An object with the name provided does not exist in DIVArchive.

1010: Name Matches Multiple Objects

More than one object with the specified name exists in the DIVArchive or DIVAnet database.

1017: Group Does Not Exist

The tape group provided does not exist in the target DIVArchive system.

1023: Object Offline

There are no available instances of the object. For example, this could possibly occur because a required tape was ejected from a tape library.

1027: Instance Does Not Exist

The specified object instance does not exist in DIVArchive or DIVAnet.

1028: Instance Offline

One or more object instances are currently offline and cannot be processed.

1031: Object In Use

One or more objects are currently being used and cannot be processed.

1032: Cannot Accept More Requests

The DIVArchive or DIVAnet system temporarily cannot accept any more requests. You can try the request again later.

1035: Access Denied

This code is returned if the client does not have permission for the request, or the command has been disallowed.

REST Request Example

The following is an example of a REST deleteInstance() request:

<p:deleteInstance xmlns:p="http://interaction.api.ws.diva.fpdigital.com/xsd">
   <p:sessionCode>810c85c7-d70c-414e-93a4-655a3e4c89bd</p:sessionCode>
   <p:objectName>PREPROD_July_Edits4</p:objectName>
   <p:categoryName>PROD</p: categoryName >
   <p:mediaName>Post4LTO7</p:mediaName>
   <p:priorityLevel>50</p:priorityLevel>
</p:deleteInstance>

REST Response Example

The following is an example of a REST response for a deleteInstance() request:

<p:deleteInstanceResponse xmlns:p=http://interaction.api.ws.diva.fpdigital.com/xsd xmlns:p1=http://response.model.api.ws.diva.fpdigital.com/xsd>
   <p:return>
      <p1:divaStatus>1000</p1:divaStatus>
      <p1:requestNumber>4905</p1:requestNumber>
   </p:return>
</p:deleteInstanceResponse>

Restore Object: restoreObject()

This request enables restoring an object within DIVArchive to a Source/Destination (such as FTP or CIFS). This request restores all files and folders associated with the archived object. Optionally, you can select a specific DIVArchive object instance to read, and multiple Source/Destinations using the restoreInstance() call (see Restore Instance: restoreInstance() for information). This call returns a request ID if the request is created successfully. You can monitor the progress of the call throughout its lifecycle using the getRequestInfo() call. This request is available in both DIVArchive and DIVAnet.

Input Parameters

The following is a list of restoreObject() request input parameters:

Table 4-13 restoreObject() Request Input Parameters

Parameter Description Data Type and Default

sessionCode

This parameter identifies the unique ID associated with the client's session.

String (1 - 36 characters)

This field is required.

objectName

This parameter identifies the name of the object. This parameter, along with objectCategory, creates the full formal name of a DIVArchive object.

String (1 - 192 characters)

This field is required.

objectCategory

This parameter identifies the name of the object category. This parameter, along with objectName, creates the full formal name of a DIVArchive object. If this field is empty, and more than one object in DIVArchive matches the objectName, the request will fail.

String (0 - 96 characters)

You can leave this field empty.

destination

This parameter identifies a DIVArchive Source/Destination name (representing a server or disk, such as FTP or CIFS). The archived object files are restored to this destination.

String (1 - 96 characters)

This field is required

filesPathRoot

This parameter identifies the top-level subdirectory within the Source/Destination where files should be restored. If this value is not specified, the default stored in the archivedObject parameter is used (if specified).

String (0 - 4000 characters)

This can be empty.

qualityOfService

This parameter controls how requests are cached during request processing. The possible integer values are as follows:

0: Default - Use the default configured in DIVArchive.

1: Cache and Direct - Use cache first, then direct if cache is unavailable.

2: Cache Only - This is a two stage transfer to tape.

3: Direct and Cache - Use direct first, then cache if direct is unavailable.

4: Direct Only - This is direct to disk or tape.

5: Nearline and Direct - Use Nearline first, then direct if Nearline is unavailable.

6: Nearline Only - Create a disk instance if media is tape.

Integer (0 - 6)

This can be nil. The Default is used when this value is nil.

priorityLevel

This parameter identifies the initial request priority on a scale of 0 to 100 (100 is the highest priority). The effective priority of the request increases the longer it waits for execution.

Integer (0 - 100)

If you use nil or -1 for this value, the DIVArchive default is used.

restoreOptions

This parameter identifies additional restore command options. These options typically are prefixed with a dash (similar to command line options). Some options can override parameters for the Source/Destination. Some typical restore options are a follows:

Rename certain files:

  -rest_renaming <renamerule>

Use certain transcoders:

  -tr_names <transcoder_list>

Restored format:

  -tr_restore_format <format>

Generate a metadata file on restore:

  -rm

String (0 - 768 characters)

You can leave this field empty.


Returned Values

If a response to the request was returned by DIVArchive or DIVAnet, HTTP status code 200 will be returned, and will include the following values:

Table 4-14 restoreObject() Returned Values

Parameter Description Data Type and Default

divaStatus

This parameter is the DIVArchive Status Code for the operation (see the following section).

Integer (1000 -1039)

requestNumber

This parameter is an ID uniquely identifying the running request. You can monitor the progress of the request using this ID.

 

DIVArchive Status Codes

The following are typical DIVArchive restoreObject() request status codes. See Appendix A for all DIVArchive Status Codes.

1000: Success

The request has been created successfully.

1008: Invalid Parameter

One or more parameters contain data that cannot be parsed correctly.

1009: Object Does Not Exist

An object with the name provided does not exist in DIVArchive.

1010: Name Matches Multiple Objects

More than one object with the specified name exists in the DIVArchive or DIVAnet database.

1018: Source/Destination Does Not Exist

The Source/Destination name provided does not exist in DIVArchive.

1023: Object Offline

There are no available instances of the object. For example, this could possibly occur because a required tape was ejected from a tape library.

1028: Instance Offline

One or more object instances are currently offline and cannot be processed.

1031: Object In Use

One or more objects are currently being used and cannot be processed.

1032: Cannot Accept More Requests

The DIVArchive or DIVAnet system temporarily cannot accept any more requests. You can try the request again later.

1035: Access Denied

This code is returned if the client does not have permission for the request, or the command has been disallowed.

REST Request Example

The following is an example of a REST restoreObject() request:

<p:restoreObject xmlns:p="http://interaction.api.ws.diva.fpdigital.com/xsd">
   <p:sessionCode>810c85c7-d70c-414e-93a4-655a3e4c89bd</p:sessionCode>
   <p:objectName>PREPROD_July_Edits4</p:objectName>
   <p:objectCategory>PROD</p:objectCategory>
   <p:destination>ftp_001</p:destination>
   <p:filesPathRoot></p:filesPathRoot>
   <p:qualityOfService>0</p:qualityOfService>
   <p:priorityLevel></p:priorityLevel>
   <p:restoreOptions></p:restoreOptions>
</p:restoreObject>

REST Response Example

The following is an example of a REST response for a restoreObject() request:

<p:restoreObjectResponse xmlns:p=http://interaction.api.ws.diva.fpdigital.com/xsd xmlns:p1=http://response.model.api.ws.diva.fpdigital.com/xsd>
   <p:return>
      <p1:divaStatus>1000</p1:divaStatus>
      <p1:requestNumber>4905</p1:requestNumber>
   </p:return>
</p:restoreObjectResponse>

Restore Instance: restoreInstance()

This request transfers an archived object from DIVArchive to a specified Source/Destination (such as FTP or CIFS). You can specify an instanceID to select a specific DIVArchive object instance to read. These calls return a request ID if the request is created successfully. You can monitor the progress of the call throughout its lifecycle using the getRequestInfo() call. This request is available in both DIVArchive and DIVAnet.

Input Parameters

The following is a list of restoreInstance() request input parameters:

Table 4-15 restoreInstance() Request Input Parameters

Parameter Description Data Type and Default

sessionCode

This parameter identifies the unique ID associated with the client's session.

String (1 - 36 characters)

This field is required.

objectName

This parameter identifies the name of the object. This parameter, along with objectCategory, creates the full formal name of a DIVArchive object.

String (1 - 192 characters)

This field is required.

objectCategory

This parameter identifies the name of the object category. This parameter, along with objectName, creates the full formal name of a DIVArchive object. If this field is empty, and more than one object in DIVArchive matches the objectName, the request will fail.

String (0 - 96 characters)

You can leave this field empty.

instanceID

Specifying a value for this parameter enables the caller to select a specific object instance to delete. If DIVAnet is used, pass the DIVAnet object instance ID, which is unique among all sites.

Integer (0 - 100000).This field is required.

destination

This parameter identifies a DIVArchive Source/Destination name (representing a server or disk, such as FTP or CIFS). The archived object files are restored to this destination.

String (1 - 96 characters)

This field is required

filesPathRoot

This parameter identifies the top-level subdirectory within the Source/Destination where files should be restored. Setting this value overrides the default in the object. If this value is not specified, the default stored in the archivedObject parameter is used (if specified).

String (0 - 4000 characters)

This can be empty.

qualityOfService

This parameter controls how requests are cached during request processing. The possible integer values are as follows:

0: Default - Use the default configured in DIVArchive.

1: Cache and Direct - Use cache first, then direct if cache is unavailable.

2: Cache Only - This is a two stage transfer to tape.

3: Direct and Cache - Use direct first, then cache if direct is unavailable.

4: Direct Only - This is direct to disk or tape.

5: Nearline and Direct - Use Nearline first, then direct if Nearline is unavailable.

6: Nearline Only - Create a disk instance if media is tape.

Integer (0 - 6)

This can be nil. The Default is used when this value is nil.

priorityLevel

This parameter identifies the initial request priority on a scale of 0 to 100 (100 is the highest priority). The effective priority of the request increases the longer it waits for execution.

Integer (0 - 100)

If you use nil or -1 for this value, the DIVArchive default is used.

restoreOptions

This parameter identifies additional restore command options. These options typically are prefixed with a dash (similar to command line options). Some options can override parameters for the Source/Destination. Some typical restore options are a follows:

Rename certain files:

  -rest_renaming <renamerule>

Use certain transcoders:

  -tr_names <transcoder_list>

Restored format:

  -tr_restore_format <format>

Generate a metadata file on restore:

  -rm

String (0 - 768 characters)

You can leave this field empty.


Returned Values

If a response to the request was returned by DIVArchive or DIVAnet, HTTP status code 200 will be returned, and will include the following values:

Table 4-16 restoreInstance() Request Returned Values

Parameter Description Data Type and Default

divaStatus

This parameter is the DIVArchive Status Code for the operation (see the following section).

Integer (1000 - 1039)

requestNumber

This parameter is an ID uniquely identifying the running request. You can monitor the progress of the request using this ID.

Integer (1 - 10,000,000)


DIVArchive Status Codes

The following are typical DIVArchive restoreInstance() request status codes. See Appendix A for all DIVArchive Status Codes.

1000: Success

The request has been created successfully.

1008: Invalid Parameter

One or more parameters contain data that cannot be parsed correctly.

1009: Object Does Not Exist

An object with the name provided does not exist in DIVArchive.

1010: Name Matches Multiple Objects

More than one object with the specified name exists in the DIVArchive or DIVAnet database.

1018: Source/Destination Does Not Exist

The Source/Destination name provided does not exist in DIVArchive.

1023: Object Offline

There are no available instances of the object. For example, this could possibly occur because a required tape was ejected from a tape library.

1027: Instance Does Not Exist

The specified object instance does not exist in DIVArchive or DIVAnet.

1028: Instance Offline

One or more object instances are currently offline and cannot be processed.

1031: Object In Use

One or more objects are currently being used and cannot be processed.

1032: Cannot Accept More Requests

The DIVArchive or DIVAnet system temporarily cannot accept any more requests. You can try the request again later.

1035: Access Denied

This code is returned if the client does not have permission for the request, or the command has been disallowed.

REST Request Example

The following is an example of a REST restoreInstance() request:

<p:restoreInstance xmlns:p="http://interaction.api.ws.diva.fpdigital.com/xsd">
   <p:sessionCode>810c85c7-d70c-414e-93a4-655a3e4c89bd</p:sessionCode>
   <p:objectName>PREPROD_July_Edits4</p:objectName>
   <p:objectCategory>PROD</p:objectCategory>
   <p:destination>ftp_001</p:destination>
   <p:instanceID>-1</p:instanceID>
   <p:filesPathRoot></p:filesPathRoot>
   <p:qualityOfService>0</p:qualityOfService>
   <p:priorityLevel></p:priorityLevel>
   <p:restoreOptions></p:restoreOptions>
</p:restoreInstance>

REST Response Example

The following is an example of a REST response for a restoreInstance() request:

<p:restoreInstanceResponse xmlns:p=http://interaction.api.ws.diva.fpdigital.com/xsd xmlns:p1=http://response.model.api.ws.diva.fpdigital.com/xsd>
   <p:return>
      <p1:divaStatus>1000</p1:divaStatus>
      <p1:requestNumber>4905</p1:requestNumber>
   </p:return>
</p:restoreInstanceResponse>

Multiple Restore Object: multipleRestoreObject()

This request transfers an archived object from DIVArchive to a specified Source/Destination (such as FTP or CIFS). This call allows the object to be transferred to multiple Source/Destinations. The call return a request ID if the request is created successfully. You can monitor the progress of the call throughout its lifecycle using the getRequestInfo() call. This command completes when the object has been transferred to all Source/Destinations (successfully or not). This request is available in both DIVArchive and DIVAnet. DIVAnet (MultiDIVA mode) will restore from exactly one site to fulfill the request.

Input Parameters

The following is a list of multipleRestoreObject() request input parameters:

Table 4-17 multipleRestoreObject() Request Input Parameters

Section Parameter Description Data Type and Default
 

sessionCode

This parameter identifies the unique ID associated with the client's session.

String (1 - 36 characters)

This field is required.

 

objectName

This parameter identifies the name of the object. This parameter, along with objectCategory, creates the full formal name of a DIVArchive object.

String (1 - 192 characters)

This field is required.

 

objectCategory

This parameter identifies the name of the object category. This parameter, along with objectName, creates the full formal name of a DIVArchive object. If this field is empty, and more than one object in DIVArchive matches the objectName, the request will fail.

String (0 - 96 characters)

You can leave this field empty.

destinations

 

This section identifies a list of one or more DIVArchive Source/Destination names and path roots for each destination. The following is an example of two Source/Destinations:

<p:destinations>
 <p:destination>POST2</p:destination>
 <p:filePathRoot>content</p:filePathRoot>
</p:destinations>
<p:destinations>
 <p:destination>POST3</p:destination>
 <p:filePathRoot></p:filePathRoot>
</p:destinations>

String (1 - 200 entries)

This section is required.

destinations

destination

This parameter identifies an item in the list of DIVArchive Source/Destination names. The object is restored to this destination and the others in the list.

String (1 - 96 characters)

This field is required.

destinations

filesPathRoot

This parameter identifies the top-level within the Source/Destination where files should be restored. If you supply an empty filePathRoot, DIVArchive uses the original path root in the object.

String (0 - 4000 characters)

This can be empty.

 

qualityOfService

This parameter controls how requests are cached during request processing. The possible integer values are as follows:

0: Default - Use the default configured in DIVArchive.

1: Cache and Direct - Use cache first, then direct if cache is unavailable.

2: Cache Only - This is a two stage transfer to tape.

3: Direct and Cache - Use direct first, then cache if direct is unavailable.

4: Direct Only - This is direct to disk or tape.

5: Nearline and Direct - Use Nearline first, then direct if Nearline is unavailable.

6: Nearline Only - Create a disk instance if media is tape.

Integer (0 - 6)

This can be nil. The Default is used when this value is nil.

 

priorityLevel

This parameter identifies the initial request priority on a scale of 0 to 100 (100 is the highest priority). The effective priority of the request increases the longer it waits for execution.

Integer (0 - 100)

If you use nil or -1 for this value, the DIVArchive default is used.

 

restoreOptions

This parameter identifies additional restore command options. These options typically are prefixed with a dash (similar to command line options). Some options can override parameters for the Source/Destination. Some typical restore options are a follows:

Rename certain files:

  -rest_renaming <renamerule>

Use certain transcoders:

  -tr_names <transcoder_list>

Restored format:

  -tr_restore_format <format>

Generate a metadata file on restore:

  -rm

String (0 - 768 characters)

You can leave this field empty.


Returned Values

If a response to the request was returned by DIVArchive or DIVAnet, HTTP status code 200 will be returned, and will include the following values:

Table 4-18 multipleRestoreObject() Request Returned Values

Parameter Description Data Type and Default

divaStatus

This parameter is the DIVArchive Status Code for the operation (see the following section).

Integer (1000 - 1039)

requestNumber

This parameter is an ID uniquely identifying the running request. You can monitor the progress of the request using this ID.

Integer (1 - 10,000,000)


DIVArchive Status Codes

The following are typical DIVArchive multipleRestoreObject() request status codes. See Appendix A for all DIVArchive Status Codes.

1000: Success

The request has been created successfully.

1008: Invalid Parameter

One or more parameters contain data that cannot be parsed correctly.

1009: Object Does Not Exist

An object with the name provided does not exist in DIVArchive.

1010: Name Matches Multiple Objects

More than one object with the specified name exists in the DIVArchive or DIVAnet database.

1018: Source/Destination Does Not Exist

The Source/Destination name provided does not exist in DIVArchive.

1023: Object Offline

There are no available instances of the object. For example, this could possibly occur because a required tape was ejected from a tape library.

1027: Instance Does Not Exist

The specified object instance does not exist in DIVArchive or DIVAnet.

1028: Instance Offline

One or more object instances are currently offline and cannot be processed.

1031: Object In Use

One or more objects are currently being used and cannot be processed.

1032: Cannot Accept More Requests

The DIVArchive or DIVAnet system temporarily cannot accept any more requests. You can try the request again later.

1035: Access Denied

This code is returned if the client does not have permission for the request, or the command has been disallowed.

REST Request Example

The following is an example of a REST multipleRestoreObject() request:

<p:multipleRestoreObject xmlns:p=http://interaction.api.ws.diva.fpdigital.com/xsd xmlns:p1="http://model.api.ws.diva.fpdigital.com/xsd">
   <p:sessionCode>810c85c7-d70c-414e-93a4-655a3e4c89bd</p:sessionCode>
   <p:objectName>PREPROD_July_Edits4</p:objectName>
   <p:objectCategory>PROD</p:objectCategory>
   <p:destinations>
      <p1:destination>POST2</p1:destination>
      <p1:filePathRoot>content</p1:filePathRoot>
   </p:destinations>
   <p:destinations>
      <p1:destination>POST3</p1:destination>
      <p1:filePathRoot></p1:filePathRoot>
   </p:destinations>
   <p:qualityOfService>0</p:qualityOfService>
   <p:priorityLevel></p:priorityLevel>
   <p:restoreOptions></p:restoreOptions>
</p:multipleRestoreObject>

REST Response Example

The following is an example of a REST response for a multipleRestoreObject() request:

<p:multipleRestoreObjectResponse xmlns:p=http://interaction.api.ws.diva.fpdigital.com/xsd xmlns:p1=http://response.model.api.ws.diva.fpdigital.com/xsd>
   <p:return>
      <p1:divaStatus>1000</p1:divaStatus>
      <p1:requestNumber>4905</p1:requestNumber>
   </p:return>
</p:multipleRestoreObjectResponse>

Oracle DIVArchive Partial File Restore: partialRestore()

This request enables restoring a portion of an object within DIVArchive to a Source/Destination (such as FTP or CIFS). The caller can define these portions by supplying byte offset ranges, timecode ranges, DPX frame ranges, or entire subdirectories and files. Optionally, the caller can select a specific DIVArchive object instance for the read. The call returns a request ID if the request is created successfully. You can monitor the progress of the call throughout its lifecycle using the getRequestInfo() call. This request is available in both DIVArchive and DIVAnet.

Major Partial File Restore Request Types

DIVArchive supports the following major partialRestore() request types:

Byte Offset

This type of Partial File Restore request extracts a range of bytes from an archived file into a target file. You can supply multiple ranges. You can determine the name of the target file. You can also extract from multiple source files. You cannot extract from multiple source files into one target file.

Timecode

This type of Partial File Restore request extracts a portion of a media clip using timecode start and end values. You can determine the name of the target file to place the resulting media segment. You specify a timecode range, and specify the target media format.

DPX Frame

This type of Partial File Restore request extracts a range of files based on file order (for example, extract all files from the fifth to the twentieth file in the archive). The archived files must be archived in a particular order.

Files and Folder

This type of Partial File Restore request extracts entire subdirectories and files of an archived object, using the original file and folder names that are part of the archive. Recursive folder extraction is supported.

Input Parameters

The following is a list of partialRestore() request input parameters:

Table 4-19 partialRestore() Request Input Parameters

Section Parameter Description Data Type and Default
 

sessionCode

This parameter identifies the unique ID associated with the client's session.

String (1 - 36 characters)

This field is required.

 

objectName

This parameter identifies the name of the object. This parameter, along with objectCategory, creates the full formal name of a DIVArchive object.

String (1 - 192 characters)

This field is required.

 

objectCategory

This parameter identifies the name of the object category. This parameter, along with objectName, creates the full formal name of a DIVArchive object. If this field is empty, and more than one object in DIVArchive matches the objectName, the request will fail.

String (0 - 96 characters)

You can leave this field empty.

 

instanceID

Specifying a value for this parameter enables the caller to select a specific object instance to delete. If DIVAnet is used, pass the DIVAnet object instance ID, which is unique among all sites.

Integer (0 - 100000).If this value is nil or -1, it indicates that the parameter is not specified.

fileList

 

This section identifies a list of files and file offsets, or a list of subdirectories or files within the archived object to restore. The various sections within fileList are detailed. This section can occur multiple times in the request.

Maximum entries are configured in DIVArchive.

This field is required.

 

destination

This parameter identifies a DIVArchive Source/Destination name representing a server or disk (such as FTP or CIFS). The archived object files are restored to this destination.

String (1 - 96 characters)

This field is required.

 

filesPathRoot

This parameter identifies the top-level directory within the Source/Destination where files should be restored. If this value is not specified, the default stored in the archivedObject parameter is used (if specified).

String (0 - 4000 characters)

This can be empty.

 

qualityOfService

This parameter controls how requests are cached during request processing. The possible integer values are as follows:

0: Default - Use the default configured in DIVArchive.

1: Cache and Direct - Use cache first, then direct if available.

2: Cache Only - This is a two stage transfer to disk or tape.

3: Direct and Cache - Use direct first, then cache if direct is unavailable.

4: Direct Only - This is direct to disk or tape.

Partial File Restore requests do not support NearLine QOS.

Integer (0 - 4)

This can be nil. The Default is used when this value is nil.

 

priorityLevel

This parameter identifies the initial request priority on a scale of 0 to 100 (100 is the highest priority). The effective priority of the request increases the longer it waits for execution.

Integer (0 - 100)

If you use nil or -1 for this value, the DIVArchive default is used.

 

restoreOptions

This parameter identifies additional restore command options. These options typically are prefixed with a dash (similar to command line options). Some options can override parameters for the Source/Destination. Some typical restore options are a follows:

Rename certain files:

  -rest_renaming <renamerule>

Use certain transcoders:

  -tr_names <transcoder_list>

Restored format:

  -tr_restore_format <format>

Generate a metadata file on restore:

  -rm

String (0 - 768 characters)

You can leave this field empty.

 

format

This parameter identifies a numeric code that indicates either the type of Partial File Restore to use (for example, file and folder partial file restore), or a particular media format. Selecting a media format implies a timecode based Partial File Restore.

Partial File Restore Type:

0: ByteOffset - Extract by byte ranges

1: ByteOffsetHeader - this is deprecated

12: File and Folder - extract directories and files

13: DPX Frame - extract DPX file ranges

Partial File Restore Formats (implies Timecode Partial File Restore):

2: GXF

3: Seachange - SAF format with index

4: AVI Matrox - .avi and .wav files

5: MPEG2

6: MXF

7: Pinnacle

8: Omneon

9: Leitch

10: Quantel - QCP format

11: Autodetect - use this if unsure of format

Integer (0 - 13)

This field is required.


Specifying Partial File Restore Selections <fileList>

The following sections describe how to create and specify Partial File Restore selections for the major types of Partial File Restores (see Major Partial File Restore Request Types).

Byte Offset

You set the <format> parameter value to 0 in the request to extract byte ranges. The following table specifies the parameters you must provide in the <fileList> section:

Table 4-20 Byte Offset Partial File Restore <fileList> Parameters

Section Parameter Description Data Type and Default
 

destFile

This parameter identifies the file name to assign to the output of the Partial File Restore. Relative (or absolute) paths in the file name are not allowed.

String (1 - 4000)

This field is required.

offsetVector

 

This section identifies the byte ranges of the file to restore. The number -1 defaults to the total number of bytes in the file. There is no enclosing tag for all of the offsets in this section.

<offsetVector>
   <byteBegin>0</byteBegin>
   <byteEnd>20</byteEnd>
   <posType>1</posType>
</offsetVector>
<offsetVector>
   <byteBegin>40</byteBegin>
   <byteEnd>-1</byteEnd>
   <posType>1</posType>
</offsetVector>
 

offsetVector

byteBegin

This parameter identifies the starting byte in the range. The first byte starts at zero.

Integer

This can be -1, 0, or a positive integer.

offsetVector

byteEnd

This parameter identifies the ending byte in the range. The last byte is indicated with a -1 value.

Integer

This can be -1, 0, or a positive integer.

offsetVector

posType

This parameter identifies the type of offset being utilized. Set this value to 1 for Byte Offset Partial File Restore.

Integer (1 - 2)

This field is required.

 

sourceFile

This parameter identifies the source file name within the archived object.

String (1 - 4000)

This field is required.


Timecode

You set the <format> parameter in the request to the desired format (or use autodetect) to extract time regions from media files. The following table specifies the parameters you must provide in the <fileList> section:

Table 4-21 Timecode Partial File Restore <fileList> Parameters

Section Parameter Description Data Type and Default
 

destFile

This parameter identifies the file name to assign to the output of the Partial File Restore. Relative (or absolute) paths in the file name are not allowed.

If the Partial File Restore results in multiple files being generated (for example, audio files), DIVArchive uses the destFile name to assign a name to the audio files.

String (1 - 4000)

This field is required.

offsetVector

 

This section identifies the timecode range to restore. The number -1 defaults to the total number of bytes in the file. There is no enclosing tag for all of the offsets in this section.

<offsetVector>
<timeCodeBegin>00:00:00:00</timeCodeBegin>
   <timeCodeEnd>00:00:10:00
   </timeCodeEnd>
   <posType>2</posType>
</offsetVector>
<offsetVector>
<timeCodeBegin>00:00:20:00</timeCodeBegin>
   <timeCodeEnd>99:99:99:99</timeCodeEnd>
   <posType>2</posType>
</offsetVector>
 

offsetVector

timeCodeBegin

This parameter identifies the SMPTE timecode value marking the start of the portion to extract, in the format hour:minute:second:frame. For example, 00:00:04:00 to 00:10:04:00 would denote a ten minute segment starting four seconds in and ending at ten minutes and four seconds.

String (hour:min:sec:frame)

This field is required.

offsetVector

timeCodeEnd

This parameter identifies the SMPTE timecode value marking the end of the portion to extract, in the format hour:minute:second:frame.

String (hour:min:sec:frame)

This field is required.

offsetVector

posType

This parameter identifies the type of offset being utilized. Set this value to 2 for Timecode Partial File Restore.

Integer (1 - 2)

This field is required.

 

sourceFile

This parameter identifies the source file name within the archived object.

String (1 - 4000)

This field is required.


Files and Folders

You set the <format> parameter value in the request to 12 (Files and Folder Partial Restore) to extract entire subdirectories and files. The files are restored with the relative path and file names specified in the archive. For example, a file archived as misc/12-2012/movie.avi would be partially restored to a misc/12-2012 subdirectory with the name movie.avi. There is no renaming option for Files and Folders Partial File Restore.

The following table specifies the parameters you must provide in the <fileList> section:

Table 4-22 Files and Folders Partial Files Restore <fileList> Parameters

Section Parameter Description Data Type and Default

fileFolder

 

This section identifies the list of archived files and folders to restore. This section occurs only once within the <fileList> section. To select multiple file and folders, wrap the fileFolder section in multiple <fileList> tags, as shown:

<fileList>
  <fileFolder>
  <fileFolder>media/pt3</fileFolder>
    <option>-r</option>
  </fileFolder>
</fileList>
<fileList>
  <fileFolder>
<fileFolder>media/f.txt</fileFolder>
    <option></option>
  </fileFolder>
</fileList>

Maximum

fileFolder

fileFolder

This parameter identifies the name of the file or folder to restore, including the path (if relevant). When you specify a folder, that folder, and all files in the archive directly within that folder, are restored. To recursively restore all files and folders within the specified folder, use the -r option.

String (1 - 4000)

This field is required.

fileFolder

option

This parameter identifies an option for the restore. Using -r for a directory recursively restores all files and folders within the directory.

String (0 - 768)

You can leave this field empty.

 

sourceFile, destFile

You should not include these two parameters for File and Folder Partial File Restore requests.

This is optional.


DPX Frame

This type of Partial File Restore is specifically designed for extracting ranges of DPX (Digital Picture Exchange) files. Each DPX file corresponds to a frame in a media clip. DIVArchive allows a range of files to be extracted based on file order. For example, you can extract all files from the fifth to the twentieth file. Each file can represent a frame number in a video or media clip. You set the <format> parameter value in the request to 13 (DPX Partial File Restore) to use DPX Partial File Restore.

To be considered a frame, each file in a DPX object must have a .tiff or .dpx extension. DIVArchive bases the frame number on the order the files were archived. If the first file archived is named MDCLIP_000002.dpx, the assigned frame number is 1 (regardless of the file name). The same rule applies if directories appear in the archive. Directories are often sorted alphanumerically at Source/Destinations. However, you can use the -file_order option when archiving DPX objects to ensure proper ordering.

The following table specifies the parameters you must provide in the <fileList> section:

Table 4-23 DPX Frame Partial File Restore <fileList> Parameters

Section Parameter Description Data Type and Default

range

 

This parameter identifies the frame ranges to restore. This section occurs only once within the <fileList> section. To select multiple frame ranges, wrap the range section in multiple <fileList> tags, as shown:

<fileList>  <range>    <startRange>1</startRange>    <endRange>10</endRange>  </range></fileList><fileList>  <range>  <startRange>42</startRange>  <endRange>-1</endRange>  </range></fileList>

Maximum

range

startRange

This parameter identifies the file order number of the first frame (file) to extract. The first frame starts at 1 (0 also refers to frame 1).

Integer (-1, 0, or any positive integer)

This field is required.

range

endRange

This parameter identifies the file order number of the last frame (file) to extract. You use -1 to indicate the last frame in the archive.

Integer (-1, 0, or any positive integer)

This field is required.

 

sourceFile, destFile

You should not include these two parameters for DPX Frame Partial File Restore requests.

This is optional.


Returned Values

If a response to the request was returned by DIVArchive or DIVAnet, HTTP status code 200 will be returned, and will include the following values:

Table 4-24 partialRestore() Request Returned Values

Parameter Description Data Type and Default

divaStatus

This parameter is the DIVArchive Status Code for the operation (see the following section).

Integer (1000 - 1039)

requestNumber

This parameter is an ID uniquely identifying the running request. You can monitor the progress of the request using this ID.

Integer (1 - 10,000,000)


DIVArchive Status Codes

The following are typical DIVArchive partialRestore() request status codes. See Appendix A for all DIVArchive Status Codes.

1000: Success

The request has been created successfully.

1008: Invalid Parameter

One or more parameters contain data that cannot be parsed correctly.

1009: Object Does Not Exist

An object with the name provided does not exist in DIVArchive.

1010: Name Matches Multiple Objects

More than one object with the specified name exists in the DIVArchive or DIVAnet database.

1018: Source/Destination Does Not Exist

The Source/Destination name provided does not exist in DIVArchive.

1023: Object Offline

There are no available instances of the object. For example, this could possibly occur because a required tape was ejected from a tape library.

1027: Instance Does Not Exist

The specified object instance does not exist in DIVArchive or DIVAnet.

1028: Instance Offline

One or more object instances are currently offline and cannot be processed.

1031: Object In Use

One or more objects are currently being used and cannot be processed.

1032: Cannot Accept More Requests

The DIVArchive or DIVAnet system temporarily cannot accept any more requests. You can try the request again later.

1035: Access Denied

This code is returned if the client does not have permission for the request, or the command has been disallowed.

REST Request Example

The following is an example of a REST Timecode partialRestore() request:

<p:partialRestore xmlns:p=http://interaction.api.ws.diva.fpdigital.com/xsd xmlns:p1="http://model.api.ws.diva.fpdigital.com/xsd">
   <p:sessionCode>810c85c7-d70c-414e-93a4-655a3e4c89bd</p:sessionCode>
   <p:objectName>PREPROD_July_Edits4</p:objectName>
   <p:objectCategory>PROD</p:objectCategory>
   <p:instanceID></p:instanceID>
   <p:fileList>
      <p1:destFile>mediaIntro01.mxf</p1:destFile>
      <p1:offsetVector>
         <p1:timeCodeBegin>00:00:00:00</p1:timeCodeBegin>
         <p1:timeCodeEnd>00:00:10:00</p1:timeCodeEnd>
         <p1:posType>2</p1:posType>
      </p1:offsetVector>
      <p1:sourceFile>mediaFile01.xml</p1:sourceFile>
   </p:fileList>
   <p:destination>POST2</p:destination>
   <p:filesPathRoot>partial/out</p:filePathRoot>
   <p:qualityOfService>0</p:qualityOfService>
   <p:priorityLevel>50</p:priorityLevel>
   <p:restoreOptions></p:restoreOptions>
   <p:format>11</p:format>
</p:partialRestore>

REST Response Example

The following is an example of a REST response for a Timecode partialRestore() request:

<p:partialRestoreResponse xmlns:p=http://interaction.api.ws.diva.fpdigital.com/xsd xmlns:p1=http://response.model.api.ws.diva.fpdigital.com/xsd>
   <p:return>
      <p1:divaStatus>1000</p1:divaStatus>
      <p1:requestNumber>4905</p1:requestNumber>
   </p:return>
</p:partialRestoreResponse>

Transcode Archived Object: transcodeArchive()

This request transcodes an existing archived object to a different media format, and then archives the resulting files as a new object in DIVArchive. You can think of this command as a CopyToNew request with transcode. The call returns a request ID if the request is created successfully. You can monitor the progress of the call throughout its lifecycle using the getRequestInfo() call. This request is available in DIVArchive, but not DIVAnet (MultiDIVA mode).

Input Parameters

The following is a list of transcodeArchive() request input parameters:

Table 4-25 transcodeArchive() Request Input Parameters

Parameter Description Data Type and Default

sessionCode

This parameter identifies the unique ID associated with the client's session.

String (1 - 36 characters)

This field is required.

parentObjectName

This parameter identifies the name of the object. This parameter, along with parentObjectCategory, creates the full formal name of a DIVArchive object.

String (1 - 192 characters)

This field is required.

parentObjectCategory

This parameter identifies the name of the object category. This parameter, along with parentObjectName, creates the full formal name of a DIVArchive object. If this field is empty, and more than one object in DIVArchive matches the objectName, the request will fail.

String (1 - 96 characters)

This field is required.

instance

This parameter identifies the instance ID in DIVArchive, and enables the caller to select the particular object instance to use for the transcode.

Integer (0 - 1000).If this value is nil or -1, DIVArchive selects the best instance to use.

objectName

This parameter identifies the name of the new object to create. This object will contain the transcoded files.

String (1 - 192 characters)

This field is required.

objectCategory

This parameter identifies the category of the new object to create. This object will contain the transcoded files.

String (1-96 characters)

This field is required.

mediaName

This parameter identifies a DIVArchive media name, and enables the caller to select a particular media for the new object containing the transcoded files.

You can also specify a DIVArchive Storage Plan. In this case, DIVArchive will perform SPM processing to determine which media is used for the archive.

String (0 - 96 characters)

This field is required.

comments

This parameter identifies an optional string containing information describing the object.

String (0 - 4000 characters)

You can leave this field empty.

archiveOptions

This parameter identifies additional command options. These options are typically prefixed with a dash (similar to command line options). Some options can override parameters for the Source/Destination. The following options are required top perform the transcode operation:

Use certain transcoders:

  -tr_names <transcoder_list>

Transcode format:

  -tr_archive_format <format>

String (0 - 768 characters)

You can leave this field empty.

qualityOfService

This parameter controls how requests are cached during request processing. The possible integer values are as follows:

0: Default - Use the default configured in DIVArchive.

1: Cache and Direct - Use cache first, then direct if cache is unavailable.

2: Cache Only - This is a two stage transfer to tape.

3: Direct and Cache - Use direct first, then cache if direct is unavailable.

4: Direct Only - This is direct to disk or tape.

5: Nearline and Direct - Use Nearline first, then direct if Nearline is unavailable.

6: Nearline Only - Create a disk instance if media is tape.

Integer (0 - 6)

This can be nil. The Default is used when this value is nil.

bCascadeDelete

If this value is true, the newly created object is linked to the original object as a child, and when the parent is deleted, the child is also deleted.

Boolean (true or false)

This field is required.

priorityLevel

This parameter identifies the initial request priority on a scale of 0 to 100 (100 is the highest priority). The effective priority of the request increases the longer it waits for execution.

Integer (0 - 100)

If you use nil or -1 for this value, the DIVArchive default is used.


Returned Values

If a response to the request was returned by DIVArchive or DIVAnet, HTTP status code 200 will be returned, and will include the following values:

Table 4-26 transcodeArchive() Request Returned Values

Parameter Description Data Type and Default

divaStatus

This parameter is the DIVArchive Status Code for the operation (see the following section).

Integer (1000 - 1039)

requestNumber

This parameter is an ID uniquely identifying the running request. You can monitor the progress of the request using this ID.

Integer (1 - 10,000,000)


DIVArchive Status Codes

The following are typical DIVArchive transcodeArchive() request status codes. See Appendix A for all DIVArchive Status Codes.

1000: Success

The request has been created successfully.

1008: Invalid Parameter

One or more parameters contain data that cannot be parsed correctly.

1009: Object Does Not Exist

An object with the name provided does not exist in DIVArchive.

1010: Name Matches Multiple Objects

More than one object with the specified name exists in the DIVArchive or DIVAnet database.

1017: Group Does Not Exist

The provided tape group does not exist in the target DIVArchive system.

1023: Object Offline

There are no available instances of the object. For example, this could possibly occur because a required tape was ejected from a tape library.

1027: Instance Does Not Exist

The specified object instance does not exist in DIVArchive or DIVAnet.

1028: Instance Offline

One or more object instances are currently offline and cannot be processed.

1031: Object In Use

One or more objects are currently being used and cannot be processed.

1032: Cannot Accept More Requests

The DIVArchive or DIVAnet system temporarily cannot accept any more requests. You can try the request again later.

1035: Access Denied

This code is returned if the client does not have permission for the request, or the command has been disallowed.

REST Request Example

The following is an example of a REST transcodeArchive() request:

<p:transcodeArchive xmlns:p="http://interaction.api.ws.diva.fpdigital.com/xsd">
   <p:sessionCode>810c85c7-d70c-414e-93a4-655a3e4c89bd</p:sessionCode>
   <p:parentObjectName>PREPROD_July_Edits4</p:parentObjectName>
   <p:parentObjectCategory>PROD</p:parentObjectCategory>
   <p:instance>-1</p:instance>
   <p:objectName>PREPROD_July_Edits4</p:objectName>
   <p:objectCategory>PRODProxy</p:objectCategory>
   <p:mediaName>Post4LTO7</p:mediaName>
   <p:comments>Transcoded version of original (PROD)</p:comments>
   <p:archiveOptions>-tr_names TRANS_001 -tr_format MXF</p:archiveOptions>
   <p:qualityOfService>0</p:qualityOfService>
   <p:bCascadeDelete>false</p:bCascadeDelete>
   <p:priorityLevel>50</p:priorityLevel>
</p:transcodeArchive>

REST Response Example

The following is an example of a REST response for a transcodeArchive() request:

<p:transcodeArchiveResponse xmlns:p=http://interaction.api.ws.diva.fpdigital.com/xsd xmlns:p1=http://response.model.api.ws.diva.fpdigital.com/xsd>
   <p:return>
      <p1:divaStatus>1000</p1:divaStatus>
      <p1:requestNumber>4905</p1:requestNumber>
   </p:return>
</p:transcodeArchiveResponse>

Transfer Files: transferFiles()

This request enables transferring multiple files and directories from a Source/Destination to another Source/Destination without the object being archived in DIVArchive. The call returns a request ID if the request is created successfully. You can monitor the progress of the archive throughout its lifecycle using the getRequestInfo() call. This request is available in DIVArchive, but not DIVAnet (MultiDIVA mode).

Input Parameters

The following is a list of transferFiles() request input parameters:

Table 4-27 transferFiles() Request Input Parameters

Parameter Description Data Type and Default

sessionCode

This parameter identifies the unique ID associated with the client's session.

String (1 - 36 characters)

This field is required.

source

This parameter identifies a DIVArchive Source/Destination name representing a server or disk (such as FTP or CIFS). The files are transferred from this location.

 

sourcePathRoot

This parameter identifies the top-level directory of files to transfer as an offset from the Source/Destination.

String (0 - 4000 characters)

You can leave this field empty.

fileNamesList

This parameter identifies the list of files (or wildcard patterns) to be transferred. Paths for the files are relative to the specified sourcePathRoot. The <fileNamesList> tag delimits each file. The tag is repeated for each file in the list. You can list a maximum of 1000 files (with or without wildcards). For example:

<fileNamesList>misc/*</fileNamesList>
<fileNamesList>t.mov</fileNamesList>

String (each file can contain 1 - 400 characters)This field is required.

destination

This parameter identifies a DIVArchive Source/Destination name representing a server or disk (such as FTP or CIFS). The files are transferred to this location.

 

destinationPathRoot

This parameter identifies the top-level directory where files are transferred to as an offset from the Source/Destination.

String (0 - 4000 characters)

You can leave this field empty.

priorityLevel

This parameter identifies the initial request priority on a scale of 0 to 100 (100 is the highest priority). The effective priority of the request increases the longer it waits for execution.

Integer (0 - 100)

If you use nil or -1 for this value, the DIVArchive default is used.


Returned Values

If a response to the request was returned by DIVArchive or DIVAnet, HTTP status code 200 will be returned, and will include the following values:

Table 4-28 transferFiles() Request Returned Values

Parameter Description Data Type and Default

divaStatus

This parameter is the DIVArchive Status Code for the operation (see the following section).

Integer (1000 - 1039)

requestNumber

This parameter is an ID uniquely identifying the running request. You can monitor the progress of the request using this ID.

Integer (1 - 10,000,000)


DIVArchive Status Codes

The following are typical DIVArchive transferFiles() request status codes. See Appendix A for all DIVArchive Status Codes.

1000: Success

The request has been created successfully.

1008: Invalid Parameter

One or more parameters contain data that cannot be parsed correctly.

1018: Source/Destination Does Not Exist

The provided Source/Destination does not exist in the DIVArchive configuration.

1032: Cannot Accept More Requests

The DIVArchive or DIVAnet system temporarily cannot accept any more requests. You can try the request again later.

1035: Access Denied

This code is returned if the client does not have permission for the request, or the command has been disallowed.

REST Request Example

The following is an example of a REST transferFiles() request:

<p:transferFiles xmlns:p="http://interaction.api.ws.diva.fpdigital.com/xsd">
   <p:sessionCode>810c85c7-d70c-414e-93a4-655a3e4c89bd</p:sessionCode>
   <p:source>PROD3</p:source?
   <p:sourcePathRoot>jul_03_final</p:sourcePathRoot>
   <p:fileNamesList>ActionPST.avi</p:fileNamesList>
   <p:fileNamesList>ActionPST.wav</p:fileNamesList>
   <p:destination>BCAST1</p:destination>
   <p:destinationPathRoot>wed/allMedia</p:destinationPathRoot>
   <p:priorityLevel>50</p:priorityLevel>
</p:transferFiles>

REST Response Example

The following is an example of a REST response for a transferFiles() request:

<p:transferFilesResponse xmlns:p=http://interaction.api.ws.diva.fpdigital.com/xsd xmlns:p1=http://response.model.api.ws.diva.fpdigital.com/xsd>
   <p:return>
      <p1:divaStatus>1000</p1:divaStatus>
      <p1:requestNumber>4905</p1:requestNumber>
   </p:return>
</p:transferFilesResponse>