DPS description :
Deployed Toplogies:
Two topologies are deployed :
- XSLT topology: used to transform an XML file based on XSL tranformation file.
- Image conversion topology: used to convert TIFF type images into JP2 type images.
DPS usage tutorial :
This tutorial covers the usage of DPS-Rest APIs:
1. An admin should grant the user of the topology the ability to interact with a specific topology by granting this user read and write permissions on the requested topology. In the following command we are granting user: topology_user_test the permission to interact with ic topology.
curl -i -X POST --user admin:admin -H "Content-Type: application/x-www-form-urlencoded" -d 'username=topology_user_test' http: //cloud.europeana.eu/services/image_convert/permit |
2. Submit a task to dps; Two types of DPS task could be sent :
- A task to convert/transform list of files .
- A task to convert/transform files inside a list of datasets.
Make sure that the required fields are included in your task or a method not allowed exception will be thrown and the task will not be sent!.
A. For IC topology:
- Submit a list of files:
The required fields are:
FILE_URLS as a data entry. And the following parameters:- MIME_TYPE : The mime type of the image which will be converted.
- OUTPUT_MIME_TYPE : The expected mime type of the output image.
TASK_SUBMITTER_NAME : The user which will receive permissions to the converted image.
curl -X POST --user topology_user_test:topology_user_test -H "Content-Type: application/json" -d '{"inputData":{"entry":[{"key":"FILE_URLS","value":"http://cloud.europeana.eu/api/records/CLOUD_ID/representations/REPRSENTATION_NAME/versions/VERSION/files/FILENAME1 http://cloud.europeana.eu/api/records/CLOUD_ID/representations/REPRSENTATION_NAME/versions/VERSION/files/FILENAME2 http://cloud.europeana.eu/api/records/CLOUD_ID/representations/REPRSENTATION_NAME/versions/VERSION/files/FILENAME3 "}]},"parameters":{"entry":[{"key":"TASK_SUBMITTER_NAME","value":"topology_user_test"},{"key":"OUTPUT_MIME_TYPE","value":"image/jp2"},{"key":"MIME_TYPE","value":"image/tiff"}]}}' -i http://cloud.europeana.eu/services/image_convert/tasks
Submit a list of datasets:
DATASET_URLS as a data entry. And the following parameters:
- MIME_TYPE : The mime type of the image which will be converted.
- OUTPUT_MIME_TYPE : The expected mime type of the output image.
TASK_SUBMITTER_NAME : The user which will receive permissions to the converted image.
curl -X POST --user topology_user_test:topology_user_test -H "Content-Type: application/json" -d '{"inputData": {"entry": [{"key": "DATASET_URLS","value": "http://cloud.europeana.eu/api/data-providers/DATA_PROVIDER1/data-sets/dDATASET_NAME1 http://cloud.europeana.eu/api/data-providers/DATA_PROVIDER2/data-sets/dDATASET_NAME2 http://cloud.europeana.eu/api/data-providers/DATA_PROVIDER3/data-sets/dDATASET_NAME3"}]},"parameters": {"entry": [{"key": "TASK_SUBMITTER_NAME","value": "admin"}, {"key": "OUTPUT_MIME_TYPE", "value": "image/jp2"}, {"key": "MIME_TYPE","value": "image/tiff"}]}}' -i http://cloud.europeana.eu/services/image_convert/tasks
B. For XSLT topology: