forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ross Gardler <rgard...@apache.org>
Subject Re: Reducing Forrest build time
Date Fri, 12 Aug 2005 20:25:38 GMT
Ferdinand Soethe wrote:
> 
> Tim and David wrote:
> 
> 
>>>>What are the best ways of
>>>>approaching it? (avoiding building unchanged document is the obvious first
>>>>step I guess)
>>>
>>>Well yes, but that issue is complex. Evidently
>>>Ferdinand talked with Cocoon people at ApacheCon
>>>and might now have some answers.
> 
> 
>>Ferdinand, I'd also like to know what you discovered with the Cocoon
>>folks on this not building unchanged everything.
> 
> 
> Well I basically discovered that <checksums-uri> in cli.xconf is
> functional and works though I haven't figured out why it didn't work
> when I tested earlier this year and I haven't had the time to
> thoroughly test its function for all kinds of situation.
> 
> However I can already state that this is not going to reduce our build
> time because of the way checksums works:
> 
> - Create or update a checksum for each document each time it is build
> - Next time compare that checksum to the checksum for the newly build
>   document before it gets  written and if they are the same, don't
>   write it again.

[OT - but related] This is perfect for the Google Sitemap plugin that 
has recently been contributed to the whiteboard. Are there any docs on this?

>>For these two, skin changes and navi changes, this may be really dumb
>>(haven't fully thought it through) but how bad would it be to have a
>>different target for builds intended for a web server so that we could
>>utilize server side includes?
> 
> 
> I don't understand how serverside include would solve any problem
> other than inserting date-stamps?

Without SSI all navigation, tabs, and other page decoration is a part of 
the served page. So a change to the skin/view results in every page 
having to be regeneerated (yes you could do cleaver stuf with caching, 
but you will still have to do the final stage of processing for *every* 
page).

Using SSI the page decorations are not a part of the served page as 
generated by Forrest, instead they are separate files that are pointed 
to by the generated page. So, for example, a change in the navigation 
structure only requries a single file to be regenerated - the navigation 
structure.

How do we know what to regenerate? Use the checksums you describe above 
to create a list of pages to regenerate.

Ross

Mime
View raw message