Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDNN Open Source...DNN Open Source...Module ForumsModule ForumsEventsEventsFeature Request:  Deactivate instead of DeleteFeature Request: Deactivate instead of Delete
Previous
 
Next
New Post
5/11/2006 4:50 PM
 

Feature Request:  When "deleting" events, instead of actually deleting from the DB just disable them and retian the information.

I'm currently working with the Events module and I see that, for a deletion operation, the module is actually deleting data rather than (behind the scenes) marking the data as "deleted" or "inactive".  Both the old and new Event modules work this way.

Although DNN has a great enterprise-design foundation through its use of data abstraction, strongly-defined user roles, etc, one point that has been missing from the basic DNN design is the retention of non-transitional data even after the data has been "disposed of".  That is, database deletions really DO delete the data and it's gone forever. That's bad.  Imagine the user that accidentally deletes a major conference event and the long list of attendees that have registered for it over the past 3 months.  The terrified user will ask for that info to be restored -- could you as the admin do it?  Only if you'd backed up your DNN DB recently and are comfortable tromping through tables and copying selected rows from selected tables from the backup copy to the active DB.   If, however, the conference had only been -marked- as deleted it would be easy to "restore" the event and anything associated with it.

Marking data as deleted (but keeping it) provides more opportunity to backtrack (instant audit trail), analyze and generate data/stats/reports well after the fact (in case you discover there is a stat you wished you'd been tracking for the last year) and just to provide an opportunity to rectify accidents (our previous example with the terrified user that deleted the conference).

There is no reason DNN could not adopt the basic design premise that non-transitional data (users, events, forum posts, etc) is retained and simply marked as "deleted" rather than actually being deleted.  Storage space is not a concern:  it is trival to give the admin the option to "clear deleted data" or "always delete immediately", much like the Windows' trash bin.

Are we likely to see such a shift in DNN's handling of data?  I welcome all thoughts, insights and supporting or opposing views...


esmamlin atxgeek.me
 
New Post
5/12/2006 7:21 AM
 

I don't believe this is a standard...it all depends on your requirement.  If DNN were to make this a standard, databases would be huge and performance would suffer, unless you also had a method to archive delete marked data. 

If you really want to enable this, it's actually pretty easy to modify the Event Stored Procs.  Then, of course, you would have to write an archive mechanism.

 
New Post
5/12/2006 9:59 AM
 

While generally I'm with favance on this one, keep the primary tables lean....there is a lot to be said for reporting from the DNN data--if it's there!  Kind of hard to hold someone to call or meeting quotas when they delete the records... 

But favance is also right in that this is a more advanced use case.  Perhaps we could add a trigger to the primary table, and another setting to the module instance: "Copy all items to the reporting archive."  Then if chosen for that module instance, the trigger would copy records to a second table for reporting.  The user could not remove any data, but then normal usage doesn't have to scan pas those rows to show current data.

 
New Post
5/15/2006 7:16 PM
 
 Good points, RLyda, and also thanks to favance and all the DNN forum team for keeping up with forum questions and requests -- you guys rock!

RLyda- I'd considered creating a mirror of the primary Events table (as you said) with an additional column to record the "deleted on" timestamp (timestamped only if/when the row was deleted from the primary table).  Of the few solutions I've considered so far this would seem to have the least chance of bumping into the DB "footprint" of future Events module releases.  To be completely useful for my needs I'd need to do similar with related tables containing event attendees, registration status, etc.

I agree with all that this would be an advanced feature.  Auditing, data analysis, recovery -- not hot topics for the typical DNN user, I imagine, but when employing DNN for professional use you start getting nervous about such things.  When I said "standard" in my original post I should have qualified:  The "mark as deleted rather than delete" approach (for important non-transitional data) is a self-imposed standard I follow and that I know several of my peers follow in their apps across the fields of manufacturing, space science, telecom and realtime stock trading -- all areas not indicitave of the usual application of DNN.  This just happened to be the first item that caught my attention as a "missing" feature of importance (to me, at least).  I know it's terrible timing to be making such requests when so much work is being put into revamping the already-nice AVCal into the core Events module.

I certainly can add the feature to my own application of DNN but it then becomes a question of how much future work am I willing to accept in order to merge my current changes into future Events module releases?  Or asked another way:  how long will I be able to avoid upgrading my Events module in order to avoid integration efforts needed to retain my current changes?  This, and the belief that others would find value in such a feature, is what led me to make my original "feature request" post.  

Thanks again favance and DNN team for taking the time to respond to us out here in forumland-

-mamlin

 


esmamlin atxgeek.me
 
Previous
 
Next
HomeHomeDNN Open Source...DNN Open Source...Module ForumsModule ForumsEventsEventsFeature Request:  Deactivate instead of DeleteFeature Request: Deactivate instead of Delete


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out