Graham,

 

>> 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

I agree. Having an API to purge soft-deleted entities/relationships will be 
useful; criteria could be: 1) list-of-guids 2) time-since-delete. Authorization 
model should be updated to require users to have explicit permission to purge.

 

>> If the user has soft-deleted an entity or relationship, they should be able 
>> to undo that delete

Can you give few usecases for this ask? Need to look into the details to 
include in the notifications sent out by Atlas; today Atlas sends 
ENTITY_CREATE/ENTITY_UPDATE/ENTITY_DELETE notifications.

 

>> 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

This is currently available at the server-side as configuration. Do you think 
this info should be made available via REST?

 

>> The caller should be able to determine from the result/response returned by 
>> the delete method whether a delete was hard or soft

Perhaps EntityMutations.EntityOperation can be updated with addition of 
HARD_DELETE and SOFT_DELETE. Need to make sure to existing use of DELETE 
continues, for backward compatibility with earlier clients.

 

Can you please file JIRA(s) to track these updates?

 

Thanks,

Madhan

 

 

From: Graham Wallis <[email protected]>
Date: Monday, July 2, 2018 at 12:50 AM
To: Madhan Neethiraj <[email protected]>
Cc: "[email protected]" <[email protected]>
Subject: Re: Deleting entities and relationships

 

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


Reply via email to