Metadata projections¶
A metadata projection is a bidirectional XSLT transformation, meant to simplify integration of the VidiCore system with several third party systems.
A projection consists of an incoming and an outgoing XSLT transformation.
- The incoming projection transforms information in some format to a format supported by VidiCore.
- The outgoing projection transforms information from VidiCore to a some other format.
When you use projections to transform item metadata then the outgoing projection will transform a MetadataListDocument and the incoming projection must produce a MetadataDocument.
Get information about projections¶
List all projections¶
- 
GET/projection¶
- Returns a list of all defined projections. - Query Parameters: - url (boolean) – - true- Return list of URLs.
- false(default) - Return list of ids.
 
 - Produces: - application/xml, application/json – URIListDocument
- text/plain – CRLF-delimited list of ids or URLs
 - Role: - _projection_read 
- url (boolean) – 
Retrieve an outgoing projection¶
- 
GET/projection/(projection-id)/outgoing¶
- Returns the projection use to transform information from the VidiCore API, - GET metadata.- Status Codes: - 404 Not found – Could not find the projection identified by projection-id.
 - Produces: - application/xml – XML, XSLT stylesheet
 - Role: - _projection_read 
- 404 Not found – Could not find the projection identified by 
Retrieve an incoming projection¶
- 
GET/projection/(projection-id)/incoming¶
- Returns the projection use to transform information to the VidiCore API, - PUT metadata.- Status Codes: - 404 Not found – Could not find the projection identified by projection-id.
 - Produces: - application/xml – XML, XSLT stylesheet
 - Role: - _projection_read 
- 404 Not found – Could not find the projection identified by 
Create/modify/delete projections¶
Note
Please note that the projection result must be an valid XML document.
Update or create an outgoing projection¶
- 
PUT/projection/(projection-id)/outgoing¶
- Creates a new projection if not defined earlier, and sets the outgoing projection to the specified stylesheet. If a new projection is created, the incoming transformation is set to be the identity transform. - Accepts: - application/xml – XML, XSLT stylesheet
 - Produces: - application/xml – XML, XSLT stylesheet
 - Role: - _projection_write 
Update or create an incoming projection¶
- 
PUT/projection/(projection-id)/incoming¶
- Creates a new projection if not defined earlier, and sets the incoming projection to the specified stylesheet. If a new projection is created, the outgoing transformation is set to be the identity transform. - Accepts: - application/xml – XML, XSLT stylesheet
 - Produces: - application/xml – XML, XSLT stylesheet
 - Role: - _projection_write 
Delete a projection¶
- 
DELETE/projection/(projection-id)¶
- Removes the projection. - Status Codes: - 200 OK – The projection was deleted successfully.
- 404 Not found – Could not find the projection identified by projection-id.
 - Role: - _projection_write