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

HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Page Level Controller: Shared Among ModulesPage Level Controller: Shared Among Modules
Previous
 
Next
New Post
12/23/2008 1:05 PM
 

For a new project, I proposed a rather new (at-least for myself) architecture that leads to think me of a limitation in my understanding of Dot Net Nuke design itself. Hope to hear from the community for suggestions?

My design required to create multiple modules, each with a separate view of the same data (as fetched from the DB). Say such four modules are placed on the same page, and thus will require four calls to DB during normal page load.

Just to clarify,

1-    For each view, separate module is to be built

2-    All modules will be placed on a single page

Question 1: I certainly won’t like four DB calls (to read same data) to be made from each module while all modules are placed on single page. What I want is that, there be a shared controller, called from the page level and would fetch data for all four views (i.e. modules) which they can use. But the basic architecture of Dot Net Nuke demands that each module will load its own data. So what’s the solution to this?

Question 2: Data Caching is out of question for now. However, I am looking into the capabilities of InterModule Communication. But my basic understanding about InterModule Communication suggests that load order of modules can’t be controlled and upon debugging it seemed that due to dependency some module may be loaded twice?

Question 3: Do I need to look into altering the core of Dot Net Nuke to achieve this deisgn? If so, Any suggestions?

 
New Post
12/23/2008 3:19 PM
 

Are you sure you need four modules?  Do you need to set security differently for the modules?


DotNetNuke Modules from Snapsis.com
 
New Post
12/23/2008 5:01 PM
 

 I really doubt you need 4 seperate modules to display similar data based on roles. You might want to look at http://www.dotnetnuke.com/Community/Blogs/tabid/825/EntryId/1052/Custom-Module-Permissions-Enhance-your-modules.aspx about setting your own permissions, which should fill your need and shrink your need down to 1 module.

I haven't used it, but the repository might do what you want... I think it's pretty flexible. There is also XMod (purchasable) which seems to be flexible and could also cover your needs. Depending on your developer skills and price range.  I haven't used either of those modules, but they seem to be pretty good at doing things. ;)

 
New Post
12/24/2008 7:09 AM
 

I am not interested from the prespective of "Permisssions" and also, it was more of a design consideration of whether to make four different modules for four different views or create one module containing four different views. I personally don't want to go for "all-in-one" approach. Have someone worked over "Connected Web Part" concept of SharePoint. What I suggested, was something similar to be built under DNN. The only question is, whether to develope the custom support for that, or we have something like IDataProvider interface for sharing data between modules.

This concept of connected web part says that there is one webpart that is on the page however hidden, and it fetches all the required data required by all other web parts. Any suggestions for devising something similar to this under DNN. if IMC is a solution, can you be brief about it?

 
New Post
12/24/2008 8:49 AM
 

I think I can understand your use case for the four separate modules all on the same page offering different views of the same data as you are probably thinking of placing them in different panes. Otherwise, one module displaying the four views would be the way to go.

You mentioned that data caching is out of the question at the moment. Why? Other than hitting the database 4 separate times for the same data, I think that caching the data is your only solution. I would follow this pattern:

  1. When any of the four modules load, it first checks the cache using a key known to all for modules.
  2. If the data is not available in the cache, this (first) loading module loads the data from the database and also adds it to the cache.
  3. As the remaining modules load, they too will first check the cache using the same key. The data should be there, but if not, the database is hit again and the data added to the cache.
  4. If the data to be displayed in all four modules depends on user interaction, the module which requeries the database based upon user interaction will recache the fresh data and most likely will need to redirect to the same page to refresh the other modules data.

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
HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Page Level Controller: Shared Among ModulesPage Level Controller: Shared Among Modules


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