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

Reply via email to