Hi ATLAS-2770 reminded me that this question is still pending. Would appreciate responses/reactions as I'm trying to maximise the level of function that can be supported by the Atlas OMRS connector - and at the moment deletes are not looking great.
What I would like to implement is as follows. At the moment the clear delineation in Atlas between configuration for soft-delete or hard-delete makes some of the following impossible. Allow the user to always be able to issue a soft-delete (as opposed to only hard-deletes). This is a configuration choice - i.e. Atlas can support this provided it is configured for soft-delete. However that removes the option to purge/hard-delete which puts this in conflict with the following requirement. If the user has soft-deleted an entity or relationship, they should be able to follow it up with a purge (hard delete) even though the repository is configured for soft-delete. If the user has soft-deleted an entity or relationship, they should be able to undo that delete. Prior to issuing a delete of an instance - the caller should be able to inquire as to whether delete will be hard or soft using an API. The caller should be able to determine from the result/response returned by the delete method whether a delete was hard or soft. Best regards, Graham Graham Wallis IBM Analytics Internet: [email protected] IBM Laboratories, Hursley Park, Hursley, Hampshire SO21 2JN Tel: +44 7741 379735 From: Graham Wallis/UK/IBM To: "Madhan Neethiraj" <[email protected]> Cc: [email protected] Date: 18/06/2018 16:44 Subject: Deleting entities and relationships Hi Madhan Could you please look at the following and tell me whether the following look like sensible requirements for Atlas? To support the OMRS interface, I would like to be able to: soft delete an entity/relationship - this can fail if Atlas is configured only for hard-deletes. hard delete (purge) an entity/relationship - this is needed even when Atlas is configured for soft deletes. restore (un-delete) an entity/relationship that was soft-deleted be able to purge (hard delete) an entity/relationship that was already soft-deleted. inquire whether a delete will be soft or hard (before issuing the delete) - I guess being able to safely inspect the configuration would b an option here, but an API might be better. find out whether an entity/relationship was soft- or hard-deleted after the delete operation. For this I could just try to retrieve the entity/relationship but it would be neater to known from the return value. I don't think the EntityMutationResponse includes that detail. I know the requestContext is updated to include the deleted entities but that seems to be before the delegation to either the soft or hard delete handler, so I suspect it cannot indicate whether the delete was ultimately soft or hard). I'm not sure how I would get that information that for relationships. Best regards, Graham Graham Wallis IBM Analytics Internet: [email protected] IBM Laboratories, Hursley Park, Hursley, Hampshire SO21 2JN Tel: +44 7741 379735 Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
