Closed pdonorio closed 7 years ago
discussion tomorrow with @muccix and @mdantonio
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
more a request for confirmation of my understanding
It's all correct. The PUT action should be a celery task in background.
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:
roles
: we are yet missing the decorator to decide the list of roles requested. [ EUDAT-B2STAGE/http-api-base#29 ]PUT
methodNote: also missing the very last step on #3, and need to upgrade container images #22 as soon as possible.
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.
No time/effort for the first stable release.
We should move the logic of the graph operations inside irods irules