Dear All,...
The changes include:...
1) Improved broken link handling
2) Replaced Destination interface with ModifiableSources
<uri type="append" src-prefix="documents/" src="index.html" dest="build/dest/"/>
<uri type="replace" src-prefix="documents/" src="index.html" dest="build/dest/docs.html"/>
<uri type="insert" src-prefix="documents/" src="index.html" dest="zip://*.zip/page.html"/>
It took me some time to understand meaning of "append", "replace", "insert". Can we choose some other names for this, and/or combine append and replace types together? (What would happen in "replace" type while processing more than one page?) Also, what goes instead of '*' in "insert"?
And one more question... Can you remind me why src-prefix attribute is necessary? My guess is that it specifies "base" directory, and no crawling happens above it. If my guess is right, attribute can be named "src-base"...
It is this that breaks the interface to the CocoonBean. Now, instead of passing a Map of destinations, or a single destination, you call addTarget(). There are a number of versions of this method, with increasing functionality:
CocoonBean cocoon = new CocoonBean();
// Functionality most like before: cocoon.setDestDir("built/dest/");
CocoonBean was introduced just recently and we had no single beta release yet, so I think it's ok to break this interface. If method setDestDir is not necessary anymore, feel free to remove it.
Vadim