SiteMap Issue in WCSF

Topics: Web Client Software Factory
Feb 17, 2009 at 1:33 AM
In WCSF, the menu items will be added in every ModuleInitializer class. I think it's very hard to maintain whole application's menu because all menu items are splited in every module. There is no a central place to see all menu item's. If a aplication is online, and I want to modify a menu item's title, I need to modify code and rebuild it again. Whether there is a solution to store menu items in database?
Feb 17, 2009 at 3:22 PM

Hi,

 

The Composite Web Application Block (CWAB – The core of WCSF) was designed to get the mentioned behavior to allow the module’s menu items be decoupled with other modules.

Perhaps, you can see more clear the advantages of this thinking in an scenario where you have an application with some optional Business Modules. If an optional module is not loaded in the application, you do not want to see the menu item in the Sitemap. This would be more difficult to achieve if all menu items are located in a central place.

 

There is not a solution out-of-the-box with WCSF to allow load the menu items from a DataBase. However, you can create a service to do that and consume it in the RegisterSiteMapInformation method of the ModuleInitializer class.

As you say, you cannot easily modify menu items if the application is online because the RegisterSiteMapInformation method is called only once by CWAB during the initializing process.

 

Please, let me know if this helps.

 

Ezequiel Sculli

http://blogs.southworks.net/esculli/

Feb 23, 2009 at 6:42 AM
Edited Feb 23, 2009 at 6:45 AM
Thanks for your reply, if the application is online, I want to modify a site map, how can I do that in WCSF? As you said, the RegisterSiteMapInformation method is called only once.