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...Complex site structure/shared navigationComplex site structure/shared navigation
Previous
 
Next
New Post
8/25/2008 5:39 PM
 

We want to implement a site with a fairly high number of pages, in a multi-tiered site structure.  For example:

- Off the main nav bar are multiple company branches:  North America, Europe, Asia, etc.

- Beneath each branch are multiple departments:  Accounting, IT, Shipping, etc.

- There can be any number of content pages, with different module content, at any one of these levels - global, branch, department

- All content pages will have sidebar navigation that is unique to that heirarchy level and particular branch/department.  For instance, every department may have a module on the right with "Quick Links" like a calendar or discussion board, but what links are there and where they lead will be different for each department.

The obvious process for accomplishing this seems cumbersome:  For every department, create a "template" page with the desired modules in the navigation sidebar.  For each content page added to that department, copy the "template" page, copying the sidebar modules by reference so they will be the same instance.

But this seems to lead to a maintenance nightmare.  If in the future we want to add a new module to the common sidebar design, or change around the order, that involves touching every page in every department in every branch.  (Not to mention creating lots of duplicate pages with different instances of the same kind of content - i.e., a calendar - for each department.)

With so many professional sites using DNN, it seems there MUST be a more streamlined way to integrate our site structure with the content and navigation.  Can anyone point us in the right direction?  We'd like to learn not just about third party solutions for this, but about the actual concepts of how this is commonly handled, between skin objects, custom modules, etc.

 
New Post
8/25/2008 10:22 PM
 

A couple of things that might help you with your project.

1. The HouseMenu skin object.  This object allows you to dynamically create a set of links that relates to the page the menu is one.  You can find it at the HouseOfNuke.com I believe (I didn't check).

2. You can setup modules through the module settings so that they are included on all pages, which will allow you to massively add modules across the site.

3. Dotnetnuke is a database driven website.  Therefore if you get to know the Dotnetnuke database structure very well you will be able to massively make these changes through the database all at once, rather then through the user interface.  It will take time to learn, but once you do, updating will become a breeze, however, you will feel like you are looking into the Matrix at first.

4. I love DNN however, tt sounds like your site is going to be a rather static site where items really won't be changed around and will solely be run off a template.  If that is the case perhaps a different solution than DNN would work better?  I love DNN, but the flexibility is what I love and it sounds like the flexibility is what you don't want.

Stuart


Hilbert Solutions, LLC
Owner, Hilbert Solutions, LLC
http://www.HilbertSolutions.com
A DNN Service Provider
From Module Development to DNN Upgrades, your one stop DNN Shop
 
New Post
8/26/2008 9:44 AM
 

I'll take a look at the skin object you suggested.  As for your other answers:

2. I'm aware of the option to include on all pages.  The problem is that, while the kind of module that appears in the same place on every page is the same, it's not always the same instance; it will be different for every department.  So simply including a module on every page is not quite the solution.

3. This gets close to the information I'm looking for.  Does this mean, then, that the basic concept I presented is the right direction?  In other words, replicating lots of pages with copies of module instances?  (That is, rather than some more complex solution involving custom components and skin objects.)  Building an app to directly control the database structure had occurred to me; I just didn't know if that's really how people handle this.

4. I'm not sure I understand.  From my point of view, the issue is that our content is very dynamic and DNN seems too static.  If I were going to build this site from scratch, for instance, the entire company heirarchy would be in a database, with specific kinds of navigation/content/etc. tied to that structure.  With DNN, while I get the benefit of very complex content modules, for the branch/department structure I have to simply create lots of individual pages and drop in copies of the same modules.  I do want lots of flexibility:  the flexibility to change around common page elements quickly and frequently across the whole site; but the conventional method instead involves going to every page individually to add/change/remove modules.

I'll give a more specific example:  Say I have a shopping site with many different product sections - Clothes, Shoes, Accessories, etc.  There are tons of individual pages in each section, and each has a similar right nav module with action items (or subcategories, or whatever).  But now say I want to add a new module to the right pane - one that shows the "featured" products in the section you're in.  The way it's been set up, I'll have to go to one page in every section and drop in a new module, then go to every one of my 200 pages and drop in copies of the appropriate module.  So, is the solution to this to simply manipulate the database on a broader scale like you mentioned in #3 above, or is there a different technique for setting all this up in the first place?

I appreciate your helping me understand all this!

 
New Post
8/26/2008 1:11 PM
 

To me it sounds like every one of your pages is basically laid out the exact same with different content.  For instance, you might have a left pane with navigiation a content pane with content and a right pane with Links.  If you make a change to this layout you want it to occur across the entire site.  

In my mind Dotnetnuke is dynamic in that every page can have a completely different look and feel from the others.  Your approach seems very templated to me in that you want to run every page from one template and have it reflected.  That sounds very rigid.  However, no matter, that is just a semantic and not the point.

Like I said, someone who is savvy with the DNN database could achieve what you are looking for.

Just a few tidbits to get you pointed in the right direction.  This is by no means complete, but it gives you an idea of what you are up against. 

The "Tabs" table stores all of you pages in your dotnetnuke website.  Every page is identified by a TabID, you will need to know the TabID for all of the pages you want to change in mass. 

The "DesktopModules" table stores all of the modules you have installed on your webiste and assigns each a DesktopModuleID.

The "Modules" table stores a list of all of the module instance on your website.  Each instancehas its own ModuleID and is tied to the DesktopModules table by the DesktopModuleID.

Finally you will need to leverage the "ModuleSettings" table so that you can get all of those settings values you stored with your module you created.

You would basically create a bunch of new modules table entries and modulesettings entrys, along with TabModules entries to massively place/remove modules from pages.

You are going to have to spend some time with the database to get initimate with it.  You should 100% definitely do this on a test site at first.  Add a page, add modules to the page, observe the changes in the database.  Delete a module oberve what happens. 

Another idea, and this isn't really in my realm of expertise is basically convert the modules somehow to skin objects (I am not sure this can be done), but anyway basically your skin will automatically have all of the modules in place and a simple skin edit would allow you add/remove a module.  It might not be doable, but perhaps some wiser than us knows about it.

I really hope that helps,
Stuart


Hilbert Solutions, LLC
Owner, Hilbert Solutions, LLC
http://www.HilbertSolutions.com
A DNN Service Provider
From Module Development to DNN Upgrades, your one stop DNN Shop
 
New Post
8/27/2008 9:30 AM
 

Thanks for the info.  I've already begun to examine quite a bit of the database; building an app to handle this would certainly be challenging!

I'll just restate your last comment as a question for all:  Can anyone point me to some resources that would help me leverage skin objects to actually include module instances in them?

 
Previous
 
Next
HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Complex site structure/shared navigationComplex site structure/shared navigation


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