CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Discussion (deprecated) »
  • Feature Requests and Suggestions (Moderator: Dave Greenberg) »
  • Replace contact "Delete" with "Disable"
Pages: [1]

Author Topic: Replace contact "Delete" with "Disable"  (Read 5244 times)

tvaughan

  • Guest
Replace contact "Delete" with "Disable"
June 18, 2008, 04:15:47 am
Recently I have discovered that some database users can't be trusted with a "Delete" button!

Could we have the option of replacing this with "Disable" (similar to custom data fields) which removes the contact from search listings etc. but still permits the contact to be restored by a user with sufficient privileges?  This saves time grepping through MySQL logs pulling the lost data out.

cap10morgan

  • I post occasionally
  • **
  • Posts: 56
  • Karma: 9
Re: Replace contact "Delete" with "Disable"
June 18, 2008, 06:56:36 am
Here here! This would be especially handy if it was an ACL setting. Maybe something like this:

* If a user hits Delete but doesn't have the delete privilege on that contact, it just disables them as the OP suggests (i.e. hides them from that user's view or from everyone's view but those with permission to view disabled contacts)
* If a user hits Delete but does have the delete privilege on that contact, it just deletes normally

It would be even better if there were a global "trash" option you could turn on. When it was on, CiviCRM would try to make sure no data was ever destroyed, just moved to the trash. Admins could empty the trash or set expiration dates, etc.

Dave Greenberg

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 5760
  • Karma: 226
    • My CiviCRM Blog
Re: Replace contact "Delete" with "Disable"
June 18, 2008, 10:19:47 am
It would be helpful to get some insights as to how other CRM systems handle this - in terms of configuration options, user interface and "under the covers" implementation. Folks who are interested in this functionality can help push things forward to doing some research and posting findings here :-)
Protect your investment in CiviCRM by  becoming a Member!

tvaughan

  • Guest
Re: Replace contact "Delete" with "Disable"
June 26, 2008, 08:12:23 am
I imagined the feature working something like this:

A new permission is created that is called "Permanently delete contact"
The existing "Delete" feature is replaced by "Trash" or "Disable" and is available to users with normal edit permissions
Trashing a contact removes it from the search listings, CiviCRM mailings and behaves in every respect as if the contact had been deleted (without actually deleting it)
Users with the "Permanently delete contact" permission get to empty the trash periodically and do a proper delete.

Unfortunately, I can't say how this is handled by other CRMs, if at all as I only have experience with CiviCRM

Dave Greenberg

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 5760
  • Karma: 226
    • My CiviCRM Blog
Re: Replace contact "Delete" with "Disable"
June 26, 2008, 11:21:44 am
I've added this as a "candidate feature" on the 2.2 roadmap. We'll do a feasibility review - and look at alternative DB engine based options as well when we get started on 2.2 planning (probably early fall).
Protect your investment in CiviCRM by  becoming a Member!

petednz

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4899
  • Karma: 193
    • Fuzion
  • CiviCRM version: 3.x - 4.x
  • CMS version: Drupal 6 and 7
Re: Replace contact "Delete" with "Disable"
June 30, 2008, 01:56:43 pm
Certainly a function we would use if available. Somewhat more effective than a 'please do not delete if you find someone you think is a duplicate' type message ;-)
Sign up to StackExchange and get free expert advice: https://civicrm.org/blogs/colemanw/get-exclusive-access-free-expert-help

pete davis : www.fuzion.co.nz : connect + campaign + communicate

Michael McAndrew

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1274
  • Karma: 55
    • Third Sector Design
  • CiviCRM version: various
  • CMS version: Nearly always Drupal
  • MySQL version: 5.5
  • PHP version: 5.3
Re: Replace contact "Delete" with "Disable"
December 10, 2008, 10:39:37 am
Hi there,

Some thoughts on deletion.

The system I am currently migrating away from to CiviCRM (designed by yours truly) has a simple present column (deleting in these cases means setting present to 0) for any data that is important and complex enough to be missed if it were deleted it by accident, and for data that needs to be kept for historical and reporting reasons.  Inevitably deleting and undeleting can involve a lot of cascading to related data and can get a bit complex.

When someone leaves the area, changes jobs or otherwise become irrelevant to us, we don't want them to appear in searches, be included in mailings, and so on (the same applies when an organisation folds, etc.) but we don't want to lose the record of the work that we've done with them (any events they came to, any support we gave to them, etc.) which is important when we want to reporting on what we did last year (what types of person / people did we reach) how things have changed etc.

It is also v important to keep this data when it relates to financial records.  It's not enough to know that someone paid £50 last year to attend an an event - we need to know who that was, even if we don't want to interact with them again.

It struck me that the the ACL based deletion might provide what I need.  I think and will talk about that further in a different post.

Michael
Service providers: Grow your business, build your reputation and support CiviCRM. Become a partner today

goran

  • I post occasionally
  • **
  • Posts: 85
  • Karma: 3
Re: Replace contact "Delete" with "Disable"
December 19, 2008, 09:29:29 am
We have been looking at this as well. Not only for contacts but also for other types of records (groups, prefixes, etc)
In essence we are talking about a life cycle of the data.

Re semantics, maybe a better term here is "Archive"?

I have been toying with an idea to do this through security (for contacts, at least), where I would have a group Archived. This would be fairly simple to implement if we had negative security (just make a group that removes the right to view a record on a set of contacts) and give some users the right to 'revive' the record by removing it from the group or permanently delete it (using normal current delete).





Donald Lobo

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 15963
  • Karma: 470
    • CiviCRM site
  • CiviCRM version: 4.2+
  • CMS version: Drupal 7, Joomla 2.5+
  • MySQL version: 5.5.x
  • PHP version: 5.4.x
Re: Replace contact "Delete" with "Disable"
December 19, 2008, 10:17:27 am

check:

http://svn.civicrm.org/hrd/trunk/drupal/hrd.module

function hrd_civicrm_aclWhereClause
function hrd_civicrm_aclGroup

for an example of how to implement "negative security"

All the contacts in the group with id: HRD_SECURE_GROUP_ID are restricted to drupal users who have the permission: 'access secure contacts'

lobo
A new CiviCRM Q&A resource needs YOUR help to get started. Visit our StackExchange proposed site, sign up and vote on 5 questions

matth3wh

  • I’m new here
  • *
  • Posts: 24
  • Karma: 0
Re: Replace contact "Delete" with "Archived"
January 19, 2010, 06:25:12 pm
There are legal/privacy issues associated with this whole area too just to add to the fun. (depending on your relevant country's laws)  :)   
To comply with privacy laws you must delete their information (mailouts / mailing lists / magazine subscriptions)... but yes, you do want to somehow keep track of the fact that we had activities/transactions with this person in other ways.

Not really dealing with the privacy issue but... I've been thinking about some sort of deletion work flow type of thing...  where people can be marked for deletion ...
then someone else has to finalise / approve this (hopefully after investigating - double checking)

Maybe people are added to a group "Marked for Deletion" and then a report is automatically generated for someone with delete permissions to check over...

Obviously this two teared deletion method is not great in all installations but it might suit some as an option...   
(could also be covered possibly in an enhanced ChangeLog / Undelete option type area)

Any other people come up with something in the last two years?

Donald Lobo

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 15963
  • Karma: 470
    • CiviCRM site
  • CiviCRM version: 4.2+
  • CMS version: Drupal 7, Joomla 2.5+
  • MySQL version: 5.5.x
  • PHP version: 5.4.x
Re: Replace contact "Delete" with "Disable"
January 19, 2010, 07:57:12 pm

might help to subscribe to the blog rss feed: http://civicrm.org/node/feed

check: http://civicrm.org/node/674

lobo
A new CiviCRM Q&A resource needs YOUR help to get started. Visit our StackExchange proposed site, sign up and vote on 5 questions

matth3wh

  • I’m new here
  • *
  • Posts: 24
  • Karma: 0
Re: Replace contact "Delete" with "Disable"
January 19, 2010, 10:10:24 pm
haha... the one month I happen to have a break from reading RSS feeds for a bit and there's something nice like this...  lesson learnt!  Thanks for the link :)

zorgalina

  • I post occasionally
  • **
  • Posts: 34
  • Karma: 0
  • CiviCRM version: 4.3.5
  • CMS version: Drupal 7
  • MySQL version: 5.5
  • PHP version: 5.3
Re: Replace contact "Delete" with "Disable"
May 26, 2014, 09:30:38 am
I realize this is an 'old' topic - Michael McAndrew started working on enabling a 'soft delete' for contacts, right?  Is this implemented at all in current (4.4) CiviCRM? At least there is a flag/'is_deleted' column in civicrm_contact, is there any functionality that updates/accesses that?

joanne

  • Administrator
  • Ask me questions
  • *****
  • Posts: 852
  • Karma: 83
  • CiviCRM version: 4.4.16
  • CMS version: Drupal 7
Re: Replace contact "Delete" with "Disable"
May 26, 2014, 04:04:17 pm
At Administer>system settings>Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.) you can choose to have deleted contacts go to Trash rather than be permanently deleted. 

Even admins with permissions to delete permanently will need to go through the the two step process of trash ->permanent deletion

Pages: [1]
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Discussion (deprecated) »
  • Feature Requests and Suggestions (Moderator: Dave Greenberg) »
  • Replace contact "Delete" with "Disable"

This forum was archived on 2017-11-26.