forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ross Gardler <>
Subject [RT] Hosting multiuple sites (was Re: Reducing Forrest build time)
Date Fri, 12 Aug 2005 19:23:03 GMT
Ferdinand Soethe wrote:
> Ross Gardler wrote:
>>We can drastically improve things by creating the new config we need to
>>support multiple sites. This way each of the docs sets (0.6, 0.7, 
>>0.8-dev), each of the plugin docs, the project information, the users
>>docs, the developer docs etc. could be made to be separate "sites" and
>>therefore be built independently.
> I'm not in favor of splitting docs into several sites:
> -  (After readings Anils proposal) I see no way of smoothly
>    integrating the resulting sites with one another. By smoothly
>    integrating I mean that older docs will be shown as a sub tab of a
>    site that otherwise shows current docs. Am I missing something?

Well I've not thought this through properly so here are some RT's on 
this specific part of the configuration issue for multiple sites.

Imagine this:

                            FORREST SITE
                   |             |              |
               0.6 DOCS      0.7 DOCS      0.8-Dev DOCS

Each is an independant site. You can do Forrest run within each of the 
directories that house each site and you will be treated to a standalone 
site. Each has its own site.xml and tabs.xml file that define their 

Lets consider one of the lower level sites, say 0.6 Docs.

It has a tabs.xml file like this:

<tab label="Home" ...>
   <tab label="Index" .../>
   <tab label="Forrest Home" .../>
   <tab label="Download" .../>
<tab label="User" .../>
<tab label="Developer" .../>
<tab label="HowTo" .../>

When we do Forest site in the 0.6 docs directory we get the same as we 
do now.

Now lets consider the top level. We have something like this in tabs.xml:

<tab label="Versioned Docs" ...>
   <tab label="0.6" href="subsite:0.6-docs"/>
   <tab label="0.7" href="subsite:0.7-docs"/>
   <tab label="0.8-dev" href="subsite:0.8-dev-docs"/>

When this is rendered we get a top level tab labelled "Versioned Docs" 
and second level tabs labelled as indicated and linking to the index 
page of the subsite.

PROBLEM: how to we render the sub tabs  in the sub site. These would 
normally be at the third level so cannot be rendered by our skins.

A SOLUTION: I've always liked the idea of allowing many more levels of 
tabs and using a popup menu to render them. Can this be achieved without 


In site.xml at the top level we have something like:

<docs label="Documentation" ...>
   <project label="Project" .../>
   <0_6 label="0.6" href="subsite:0.6-docs"/>
   <0_7 label="0.7" href="subsite:0.6-docs"/>
   <0_8-dev label="0.8-dev" href="subsite:0.6-docs"/>

The 0_6, 0_7 and 0_8-dev portions of the sitemap are generated by 
grabbing the site.xml file from the sub site. So it embeds the subsite 
menus into the supersite.


However, some of the stuff in the subsite menus may not be requried. So 
we add a "scope" attribute.

- @scope value of "all" results in the menu/tab item appearing in all menus

- @scope value of "super" results in the menu/tab only appearing when 
the site is part of a supersite

- @scope value of "standalone" results in the menu/tab only appearing 
when the site is not part of a supersite

(this probably needs some careful thought).

So, what have I missed?

(I'm replying to your other points in the original thread. I've pulled 
this one out to its own thread as it is relevant to the new config system)


View raw message