WCSF implementation for a portal

Topics: Web Client Software Factory
Jul 22, 2007 at 3:03 AM
I am evaluating use of WCSF for a portal with multiple channels. Each channel has a different look and feel, although the user session will be common all across the portal. If i create a WCSF project, i get only one master page which all the views in the app inherit from. What is the best way to implement the solution? Should I be creating multiple WCSF web projects?
Also is it prudent to have one module per channel if I have a single WCSF web project? How do i decide the module structure?

Responses appreciated. Thanks
Jul 23, 2007 at 8:12 PM

One option would be to:

  • Create a new business module for each channel
  • Add the master pages you want in the Shared folder
  • Make the views you create to inherit from the master page you want

To do the last one, you would need to modify this code in your view (replacing the MasterPageFile with the master page you wanted):

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Module1_Default"
    Title="Default" MasterPageFile="~/Shared/Default.master" %>

You could also perform something similar using WAP sub-projects (thus, in each sub-project you would have a default master page for each channel).

Maybe this post will help you to decide whether to use WAP sub-projects or not in your solution. Here’s a quote from it:

Why use sub-projects?
With very large web applications, such as those that contain thousands of files, using a sub-project structure in Visual Studio provides several benefits.

At development time, it provides a clean isolation between different parts of the application. This enables different developers to own their own projects within a single web application, and allows them to make changes without affecting code that is in a different project.

As well, using sub-projects provides a clean way to compartmentalize functionality so different parts of the application can be developed in isolation from others. The compartmentalization also enables the ability to deploy the various sub-projects to production independently from each other thus providing more flexibility around incremental updates to one part of the application without affecting other parts.

Hope it helps!

Luciano G. Panaro