luckily, your solution has nothing to do with mason, it is applicable to any system.
use one directory structure for your sites. use <virtualHosts> in apache or just configure all the dns entries to go to the same ip, and don't use <virtualHosts>! I've done both. In the portion of the co-branding code you check the HTTP_HOST and use different files depending on it. Mason, cgi, php, shtml, it's all easy. Of cource you can keep a cookie instead of using different host names. I like different host names! Jake On 6/2/06, Mark Torrance <[EMAIL PROTECTED]> wrote: > > > I'm having a debate with my director of engineering over the best way to > avoid code-forking when trying to maintain "cobrands" of a main site which > may have substantial look and feel differences. > > We're already using multiple component roots, with each cobrand looking > first in its directory and then checking for components in the "default" > component root. This works fine, but when we have components that blend > (minor amounts of) business logic in %init sections with HTML, we find > ourselves copying the whole component into the cobrand directory when we > want to modify the HTML even a little bit. This then creates a problem if > we make changes to the %init section, as we have to remember to make the > corresponding change in the copy for each cobrand. > > We see 2 possible solutions to this problem: > 1. Move all of the HTML into a subcomponent, so that the cobrand can > override only that subcomponent > 2. Move all of the init section into a subcomponent or module, which would > handle the initialization and (light) business logic required for this > particular page > > We're not particularly happy with either of these, for the following > reasons: > 1. It would be nice for HTML designers to be able to find the HTML content > of a file by just looking for the file that matches the URL, rather than > tracing down to some subcomponent it calls. > 2. Moving the contents of the %init section into a subcomponent, the > variables it declares and sets up will not be available to the current > component -- we would have to use globals, or pass in all the variables we > want the init-section-component to initialize. > > Also, both methods suffer if we find we want to replace only part of the > HTML, and then we find a "bug" like a style change which we want to apply in > the common-but-copied part of the HTML. > > Have you encountered this kind of problem, and do you have a recommended > solution? Or alternatively, is there a better place for me to ask this > (mailing list)? > > --Mark Torrance > > > > > > _______________________________________________ > Mason-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/mason-users > > > _______________________________________________ Mason-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mason-users

