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

HomeHomeArchived Discus...Archived Discus...Developing Under Previous Versions of .NETDeveloping Under Previous Versions of .NETASP.Net 2.0ASP.Net 2.0Custom Permission Cleanup on Module Definition UninstallCustom Permission Cleanup on Module Definition Uninstall
Previous
 
Next
New Post
4/19/2007 10:55 PM
 

In testing how well a complex module I've written cleans up after itself when its module definition is deleted, I noticed that the two custom permissions I created were not removed from the Permission table. It would seem that there should be a foreign key relationship created between Permission.ModuleDefId and ModuleDefinitions.ModuleDefId with Cascade Deletes enabled, but I found none.  What's the standard for handling this? I checked the UserDefinedTable Uninstall script but found no Sql to remove its custom permissions. Should I:

1. Not worry about it - let the custom permissions remain in the Permission table?
2. Delete them in the Uninstall script conditioned upon their unique PermissionCode (WESNET_EPRAYER_SPECIAL)?
3. Suggest that a foreign key relationship be created between Permission.ModuleDefId and ModuleDefinitions.ModuleDefId with Cascade Deletes enabled?


Bill, WESNet Designs
Team Lead - DotNetNuke Gallery Module Project (Not Actively Being Developed)
Extensions Forge Projects . . .
Current: UserExport, ContentDeJour, ePrayer, DNN NewsTicker, By Invitation
Coming Soon: FRBO-For Rent By Owner
 
New Post
4/20/2007 10:57 AM
 

I personally frown upon using ON DELETE CASCADE but I guees it is personal preference.

As per DNN standards I believe it is a best practice to remove ALL data that your module adds, therefore if your information can easily be identified wtih 100% accuracy then I would recommend removing the data.  But this is just my opinions based on the DNN standards!


-Mitchel Sellers
Microsoft MVP, ASPInsider, DNN MVP
CEO/Director of Development - IowaComputerGurus Inc.
LinkedIn Profile

Visit mitchelsellers.com for my mostly DNN Blog and support forum.

Visit IowaComputerGurus.com for free DNN Modules, DNN Performance Tips, DNN Consulting Quotes, and DNN Technical Support Services
 
New Post
4/20/2007 1:10 PM
 

Thanks Mitchel,

I've never been too keen on using cascase deletes either but this seems to be the standard DNN practice, particularly with respect to a FK relation on ModuleID back to to the Modules table.  Several months ago I had suggested that the core provide an IDeletable and/or IUninstallable interface (similar to IUpgradable) with methods DeleteModule and UninstallModule which the developer could implement to provide special clean up code.  The general comments that I received were that it was not necessary as this could be handled through properly setup foreign key relations and cascade deletes.  I would still like such an interface(s) made available.

In this case, I used what I hope to be a truly unique PermissionCode so can just delete the custom permissions in my Uninstall script.


Bill, WESNet Designs
Team Lead - DotNetNuke Gallery Module Project (Not Actively Being Developed)
Extensions Forge Projects . . .
Current: UserExport, ContentDeJour, ePrayer, DNN NewsTicker, By Invitation
Coming Soon: FRBO-For Rent By Owner
 
Previous
 
Next
HomeHomeArchived Discus...Archived Discus...Developing Under Previous Versions of .NETDeveloping Under Previous Versions of .NETASP.Net 2.0ASP.Net 2.0Custom Permission Cleanup on Module Definition UninstallCustom Permission Cleanup on Module Definition Uninstall


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