EUDAT-B2STAGE / http-api

RESTful HTTP-API for the B2STAGE service inside the EUDAT project
https://eudat-b2stage.github.io/http-api/
MIT License
7 stars 7 forks source link

Workflow for metadata injections within B2SAFE #16

Closed pdonorio closed 7 years ago

pdonorio commented 8 years ago

We should move the logic of the graph operations inside irods irules

pdonorio commented 8 years ago

discussion tomorrow with @muccix and @mdantonio

pdonorio commented 8 years ago

A first draft is here

Feedback is appreciated.

muccix commented 8 years ago

I paste here my comments on the last slide (more a request for confirmation of my understanding then an actual comment):

PRE: before saving the entity in iRODS the POST /api endpoint is called to retrieve the uuid

DO: as the entity is saved on iRODS the PID is generated with the HTTP API url previously got from the POST request

POST: after the DO, PUT /api/uuid is called to update the neo4J object with PID and metadata

pdonorio commented 8 years ago

more a request for confirmation of my understanding

It's all correct. The PUT action should be a celery task in background.

pdonorio commented 8 years ago

The POST action, which issues the UUID for a new empty dataobject is now available as /api/internals/metadataobj.

To sum it up, things needed to fully implement this task:

Note: also missing the very last step on #3, and need to upgrade container images #22 as soon as possible.

muccix commented 8 years ago

After a short talk with Claudio Cacciari I understand that the PID request is not done as the object is uploaded in iRODS: it can be done also later on. So we could change the workflow so that the POST /api endpoint to retrieve the uuid is called by B2SAFE just before requesting the PID (not directly triggered by the iRODS rule). Than the PUT /api/uuid is called to update the neo4J node.

pdonorio commented 7 years ago

No time/effort for the first stable release.