DotNetNuke – Modules – Portal Specific Modules

misc_vol3_033 Many of you won’t care too much about creating Portal Specific Modules because you’ll be creating modules for an environment that only has one portal. However, if you are creating a module for resell, or you will be using the module in a multi-portal environment, you’ll need this next piece of information I’m going to give you.

In fact, I should have given you this information when I told you how to set up your databases. Sorry.

Each module instance will have its own module ID. What this means to you as a developer is that your top-level table(s) need to have a ModuleId field (integer) that can be filled with the module ID the data should be associated with.

This will allow you to install the module multiple times on your site or on multiple portals without having the data conflicting with the other instances or other modules.

You might also want to put the PortalId in all of your tables so that it is easy to remove data when a table is removed. Or you might want to implement a cascading delete. That part of the implementation is totally up to you.

The important point is that you need to have some way of associating the data in your database with the portal it should display in. Adding the ModuleID field is how you do this.

Thanks to Charles Nurse for his help with this topic

 

Other post in dotnetnuke - Module Development

Related Post

One Response to “DotNetNuke – Modules – Portal Specific Modules”

Leave a Reply

Comment Policy:

  • You must verify your comment by responding to the automated email that is sent to your email address. Unverified comments will never show.Leave a good comment that adds to the conversation and I'll leave your link in.
  • Leave me pure spam and I'll delete it.
  • Leave a general comment and I'll remove the link but keep the comment.

Notify me of followup comments via e-mail

Bear