Document toolboxDocument toolbox

Vidispine

EIDR Integration [VC 21.3 GEN]

Vidispine support importing and synchronizing EIDR-metadata into the Vidispine metadata model. It keeps your metadata up to date with the EIDR records and allows transforming EIDR metadata into Vidispine metadata.

Read more about EIDR here.

Setup

Create an EIDR resource:

POST /resource/eidr HTTP/1.1
Content-Type: application/xml

<ResourceDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <eidr>
    <url>https://resolve.eidr.org/EIDR</url>
    <include>eidr_base</include>
    <include>eidr_credits</include>
  </eidr>
</ResourceDocument>

Make sure the URL is pointing to the EIDR web API endpoint. resolve.eidr.org is the public endpoint, you can also set it to the sandbox endpoints for testing purposes.

If you have a registered account, you can provide credentials, by including all of the three elements userId, partyId, password. The passwordShadow is built by hashing the password with md5 and encoding the resulting bits with base64:

passwordHash = base64( md5(raw-password) )
POST /resource/eidr HTTP/1.1
Content-Type: application/xml

<ResourceDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <eidr>
    <url>https://resolve.eidr.org/EIDR</url>
    <include>eidr_base</include>
    <include>eidr_credits</include>
    <userId>userID</userId>
    <partyId>partyID</partyId>
    <password>passwordShadow</password>
  </eidr>
</ResourceDocument>

include are projections that transform EIDR metadata to Vidispine compatible metadata documents. Provided includes are:

include

Description

eidr_base

Titles, release date, origin etc.

eidr_credits

Directors and actors

include defaults to eidr_base if none is given.

It’s possible to customize what data is included by creating your own incoming XSLT projections, the projection should result in a valid standalone metadata document that could be used for placing metadata on an item. See Metadata projections and Metadata projections for how to add new projections.

EIDR synchronization

In the following reference, {eidr-content-resource} is one of the following:

  • /item/(item-id)

  • /library/(library-id)

Synchronize EIDR metadata

PUT {eidr-content-resource}/eidr/sync

Synchronizes item(s) metadata that are out of date. An item is considered out of date if the EIDR record has changed or if the included projections have changed.

For an item to be able to synchronize it needs the metadata field eidr_id with the value of an EIDR id.

It’s ill-advised to synchronize a large library manually as the operation isn’t asynchronous.

Returns a list of synchronized items with the metadata that was written to the item.

Query Parameters:
  • eidrResource (string) – If set, the resource identified by this id will be used instead of first found EIDR resource.

  • forceSync (boolean) –

    • true - force metadata write to item.

    • false - (default)

Produces:
Role:
  • _metadata_write

  • _library_read, for library

Example

PUT /item/(item-id)/metadata HTTP/1.1
Content-Type: application/xml

<MetadataDocument xmlns="http://xml.vidispine.com/schema/vidispine">
   <timespan start="-INF" end="+INF">
         <field>
            <name>eidr_id</name>
            <value>10.5240/116F-AC63-B1B0-C538-CF6C-D</value>
         </field>
   </timespan>
</MetadataDocument>

Troubleshooting

You can test your custom include projection by using Create a metadata change set and put a FullMetadata xml from EIDR in the body. Example of a FullMetadata xml