cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Turner <>
Subject Forrest and the NDS (Re: [RT] Moving towards a new documentation system)
Date Sun, 12 Oct 2003 02:23:47 GMT
On Sat, Oct 11, 2003 at 03:17:48PM +0200, Stefano Mazzocchi wrote:
> On Saturday, Oct 11, 2003, at 14:25 Europe/Rome, Nicola Ken Barozzi 
> wrote:
> >Please don't forget Forrest.
> we are not.

:)  Let's remember that there's hard reuse and soft reuse.  Hard reuse
means physically integrating with Forrest/Lenya.  Soft reuse means
reusing ideas, people, and code where appropriate.  For a new project in
RT phase, worrying about hard reuse with Forrest and Lenya would IMHO
just slow things down.

Forrest started with a RT, a mailing list, and a bunch of Cocooners
willing to contribute.  I wasn't at the GetTogether.  I've never seen a
RT articulating the vision for this project.  There's just tantalising
snippets.  Could we perhaps dream up a name ('linotype' seems obvious),
start a mailing list, and have some RTs on what this is all about? :)

> I thought about it and I totally resonate with Bertrand: we need to 
> outline an incremental transition to our own CMS reusing as much dog 
> food as possible (which is also good for a community perspective).
> Here is my proposal:
>  1) the system gets divided into three parts
>      - frontend -> mapped to -> static
>      - repository -> a WebDAV server
>      - backend -> mapped to -> dynamic

The site does something similar, in that the 'edit this page'
link goes to:

I've long thought this would be a great Forrest enhancement.

[snip cool stuff]
> The future idea is to use indirect linking where lookup is a sort of 
> "what's related" understood out of the analysis of user patterns, but 
> this is far ahead in the future.
> For now, I think direct linking would be enough for our needs... we 
> just need a good "lookup and discovery" of learning objects integrated 
> in the backend.
>                                   - o -
> As the implementation
>  1) forrest will be used to generate the site from the contents of the 
> repository
>  2) the repository can be either plain vanilla subversion or a webdav 
> server implemented by cocoon on top of another repository (either 
> subversion or catacomb or JSR170). even CVS, but we might want to stay 
> away from it.
>  3) lenya will be used as the backend.
> Missing things:
>  1) is forrest already capable of doing what we ask?

Possibly.  Forrest's sitemap is built in layers:

cocoon://**.xml         # Source pipelines generating doc-v12
cocoon://tabs-*.html    # Intermediate formats
cocoon://**.{html,pdf}  # Destination formats

So just switch in a different **.xml subsitemap, and Forrest will build
the site from whatever backend you choose.

Forrest's indirect linking system is (IMHO:) pretty cool and Wiki-like,
in that I can write <a href="site:foo"> from anywhere, and it links to
the 'foo' page wherever (or whatever) it is.  The source files have a URI
space all of their own, independent of the final http: URI space.

The linking implementation is very flexible, built in input modules.  <a
href="site:index"> causes the 'site' InputModule to be fetched and passed
the 'index' key.  A SimpleMappingModule converts this to
'/site//index/@href', which is fed to an XMLModule, which interprets it
as an XPath into the navigation file, site.xml.  As the XPath prefix and
suffix are configured in cocoon.xconf, any XML format for the 'linkmap'
(aka site.xml) can be used.  Lots of gory details at

>  2) what's the best repository? where do we install it?
>  3) is lenya enough for what we need? (Michi says so)
>  4) how much work is the integration of linotype with lenya? (I'll 
> investigate this soon)
>  5) how do we get the wiki into the repository? (I plan to write a 
> wiki-syntax editing pane for linotype, would this be enough?)

Could use the Chaperon Wiki grammar to convert to XML, but..
grammar-based validation results in really undecipherable error messages.
Might be best to first use a regular Wiki engine as a 'lexer', to get the
Wiki syntax 'well-formed', and then use a grammar to go from well-formed
Wiki -> XML, and then use an XML schema to ensure validity.  3-phase
validation of Wiki syntax.  Could warrant a project all on its own..

>  6) how do we get the rest of the data into the repository?
>  7) how do we make it simple to edit linkmaps? what searching and 
> proximity tools can we provide for this?

Lenya is probably the best hunting-ground for this.


> Enough of a braindump for now.
> Fire at will.
> --
> Stefano.

View raw message