EIDR Integration

New in version 4.14.

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

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.

Important

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

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>

Caution

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

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

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

Query Parameters:
 
  • eidrResource – If set, the resource identified by this id will be used instead of first found EIDR resource.
  • forceSync
    • false - (default)
    • true - force metadata write to item.
Produces:
Role:
  • _metadata_write
  • _library_read, for library

Troubleshooting

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