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.
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 |
| Titles, release date, origin etc. |
| 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: -
application/xml, application/json –
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