My idea is:
- Introduce “soft delete” everywhere, i.e. set deleted = 1 rather than erasing from database directly
- UI element for undeleting
- Currently not: access rights for undelete different from the normal rights “own” etc. (Maybe later?)
- Console command for hard-deleting after x days
- to be figured out: ripple down deletions to dependent entries e.g. Tags, Memberships, … (normally DELETE CASCADE)
- ensure API is fully covered too
- handle creation of new instances with same unique identifier
I think these groups of people would benefit from this idea:
- users who sometimes accidentally delete stuff
- Mautic providers who then have to save them from desaster
Are you willing to work on this idea?:
- yes
What skills and resources do you need to explore this further?
- all thoughts welcome
- a few tables (
lead_lists,campaigns,campaign_events) have a “deleted” field; alsosync_object_mappinghas the notion ofis_deleted. Does anyone have insights on that?