-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problems when updating items for continuous ingestion #475
Comments
Can you check what is the payload for in the last PUT call (5.)? From what I see - if there is no information on the accessibleAt in this request's payload then the tool is updated to have no such values. This is most probably why you get what you described. |
That is true, in the PUT from step 5 there is no accessibleAt present. Seems that I was a little bit unclear with my description. The expectation is, that if an update by the ingest process (= step 5) happens, that the changes that were done in the marketplace (= step 4) stay, as they were done after the last ingest (= step 2). Otherwise, we would lose the curated information from the marketplace users, which would be a bad thing. And in the linked issue I understand the comment of Michał that the different versions are handled and merged (he speaks about three versions: the last ingested, the change in marketplace and the current ingested version). |
@KlausIllmayer I added |
I tested the PATCH endpoint by using the scenario described in the first post of this issue. But instead of using the PUT in step 5 I now used the PATCH. But I still get a result from this patch call, that does ignore the changes done on the marketplace (in this case, adding an accessibleAt-value which is my scenario not present in the source). Maybe I misunderstand something - can you try to reproduce my scenario to see, if you have the same effect? |
Okay, I need to take back my last comment - I tested it again and now it works. Seems that last week I did something wrong, sorry. But when testing it now I found another issue: I take the same approach as in my very first approach which now works. But for step 5 (by ingest) I additionally added an accessibleAt-value which is different to the one that was applied in step 4 (by administrator). I expected that this will raise the "conflict-at-source" scenario, which means, that the property Side note: it looks like, that it also works with the current approve-workflow, where we don't remove source and sourceItemId and instead use the endpoint |
I had a look at the revert - it looks like it has never taken into consideration information about |
Thanks for your answer. It explains it a little bit, but the question itself is a bit different. I reformulate it:
And there was also a second question in my last comment, about missing the conflict-at-source-property. Could you kindly elaborate also on this question? |
This is based upon the old discussion at https://gitlab.gwdg.de/sshoc/sshoc-marketplace-backend/-/issues/85#note_536637
Scenario: for continuous ingestion we like to call the PUT call and it should merge as explained in the above mentioned discussion
Problem: I'm not able to get to the expected behavior in the case when there is a change of the item on SSHOMP in between - this change gets lost but in my understanding it should be merged
Steps to reproduce:
POST /api/tools-services
using minimal data (label, description, source and sourceItemId)PUT /api/tools-services/{persistent-id}
and removing source and sourceItemId (as described in the mentioned disucssion)PUT /api/tools-services/{persistent-id}
and added a value in accessibleAt which did not appear by ingest pipelinePUT /api/tools-services/{persistent-id}
and changed the description but still no value in accessibleAtAs a result of step 5 I would expect that for the new ingested version of the tool the description is changed (based on the change of the System importer) and that the accessibleAt value stays (based on the change on the SSHOMP by the administrator). But when looking on the return values the accessibleAt value is not there.
@tparkola is there a chance that you look into this behavior and into the mentioned old discussion so that you may able to tell me if I'm doing something wrong or if my expectation is wonrg or if there is a bug in the described update mechanism?
The text was updated successfully, but these errors were encountered: