Open seth-shaw-unlv opened 5 years ago
1.- You need to kill the tombstone with an additional HTTP request (see the API docs), but then, what is the purpose of a tombstone if its going to be removed? 2.- Yes you can, UUID is user(code) updatable, but then, if anything else is pointing/referring to that UUID (as it will eventually be) you need to change if Drupal wide. 3.- To put it back you need to delete the tombstone anyway
what is the purpose of a tombstone if its going to be removed?
Usually, yeah, when we kill something we intend for it to be gone for good. However, there are occasionally those "my bad" moments where "I didn't mean to do that" and you want to put it back.
This is certainly an edge-case and not a day-to-day workflow thing, but my guess is someone will eventually accidentally delete something (the Delete from Fedora action is second on the action dropdown list on the Content management page) and need it put back into Fedora.
Could've sworn we were deleting tombstones. This has come up before. I'll have to take a deeper look to see what's really happening vs. my expectations.
On Wed, Jul 10, 2019, 17:39 Seth Shaw notifications@github.com wrote:
what is the purpose of a tombstone if its going to be removed?
Usually, yeah, when we kill something we intend for it to be gone for good. However, there are occasionally those "my bad" moments where "I didn't mean to do that" and you want to put it back.
This is certainly an edge-case and not a day-to-day workflow thing, but my guess is someone will eventually accidentally delete something (the Delete from Fedora action is second on the action dropdown list on the Content management page) and need it put back into Fedora.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Islandora-CLAW/CLAW/issues/1213?email_source=notifications&email_token=AE6PSH7Z7WLGWYCDPL4XU7DP6ZCGXA5CNFSM4H7UFNAKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZUVL6I#issuecomment-510219769, or mute the thread https://github.com/notifications/unsubscribe-auth/AE6PSH3LH2O72NXOOEELSYTP6ZCGXANCNFSM4H7UFNAA .
So, I may be way off here, if tombstones is a Fedora term of art rather than the generic term.
A use case where you would want a tombstone for a while, but not forever, is when working with a harvester where the harvester uses tombstones to remove records from the last harvest. The OAI-PMH standard version 2 (the current version) was released in 2002, when downloading a video clip was an all day wait. When bandwidth was scarcer, maybe more harvesters worked like this - they did not reharvest all records on a schedule, because too much time to do a full reharvest. Instead, they got just the newly posted records or updated records with datestamp later than last harvest, and got all the tombstones with datestamp later than last harvest to purge older records. Nowadays, just about no one would do this. Bandwidth is better, so harvesters would reharvest all collections from scratch.
But, there's always the chance. And, in 2019, Encore is like that - the OAI-PMH harvester in Encore updates by going in on a schedule and doing OAI-PMH for all items with datestamp more recent than last harvest, then by doing OAI-PMH for tombstones and purging.
It's very rare for a harvester to work that way, and we were surprised.
Tombstones are optional in the OAI-PMH.
In terms of community expectations,
There's the technical reason of undoing deletes. For that, you would keep metadata and files for a while, then purge so as not to have a bunch of stuff hanging out forever. Anecdotally, here we do sometimes have accidental deletions in Islandora 7. We have a coop server where content is periodically synced and do nightly backups. So far, accidental deletions are rare, and usually are a whole collection of items at a time and reported same week they occur. When these happen, getting the items back is a manual process of getting the content from coop or a backup, and is kind of clunky. Anyway, with many users (something like 20 Islandora sites each with multiple user accounts, although some are staffed intermittently) able to delete materials, accidental deletions happen a couple of times a year. Restoring accidental deletions is something to be nervous about, but probably not a huge need. If it can be done from backup, then that's probably good enough and instructions for how to do this from the backend are good enough.
There's the community reason of showing that an item used to be there for supporting reliable citations. For example, maybe an article is posted, then cited, the removed, then someone wants to check the cite. The tombstone allows the person to confirm that the article was there. For that, the tombstone is metadata only - just enough for a citation, and a reason why the item was deleted. This is probably what librarians want.
It seems like removing the tombstone in order to reinstate the item is fine. The link and citation would work, which would meet community expectations. You might want to check that whatever is going out with OAI-PMH updates the datestamp to the date the item was reinstated. As far as I know, datestamp for OAIPMH is just to let harvesters do selective harvests, and it not descriptive metadata - so updating won't make the item appear newer or anything. It should already have a publication date in the descriptive metadata which is unrelated to datestamp.
Doesn't look like we are deleting tombstones, I feel like we might have thought this should be optional/configurable.
The only reason you should re-use a URI is for the same content, but then why would we allow you to DELETE and then PUT. Seems better to just PUT the updated content over-top.
That being said, Milliner does the delete here using Chullo here (for RDFSource objects).
We can add a loop to Milliner to also remove the tombstone, but it seems like a question of what the use case is for manually deleting the resources and then re-creating them again.
It appears that once a node has been deleted from Fedora it cannot be added back:
So, it looks like because we have a tombstone for a resource, once it is deleted we can't put it back. This raises a few questions in my mind: