You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@forrest.apache.org by Jeff Turner <je...@apache.org> on 2002/08/16 13:01:52 UTC

Re: NPEs on second build + rant

On Fri, Aug 16, 2002 at 07:22:12PM +1000, David Crossley wrote:
> Jeff, i presume same issue that we saw
> http://marc.theaimsgroup.com/?l=forrest-dev&m=102767862102557
> You need "build.sh clean docs" every time.

Thanks, that looks like it.

I wrote the following blog entry about a day spent trying to use Forrest:

http://www.webweavertech.com/jefft/weblog/archives/000027.html

It was written just to let off steam at a wasted day, but I hope it will
be accepted here in the spirit of constructive criticism, 

--Jeff

> --David
> 
> Jeff Turner wrote:
> > Hi,
> > 
> > Running './build.sh docs' the first time works fine. The second time, it
> > dies with:
> > 
> > .
> >   [broken link]--> /forrest/xml-site/
> > FATAL_E 2002-08-16 19:22:05.579 [cocoon  ] (): Exception caught 
> > org.apache.cocoon.ProcessingException: Failed to execute pipeline.: java.lang.NullPointerException: 
...

Re: using ForrestBot (SOLVED)

Posted by David Crossley <cr...@indexgeo.com.au>.
Jeff Turner wrote:
<snip/>
> > $ vi acornbot.conf.xml
> > slide in:
> > <?xml version="1.0" encoding="ISO-8859-1"?>
> > <forrest-config>
> >   <defaults />
> >   <project name="acorn-test">
> >     <prepare>
> >         <skin name="forrest-site"/>
> >     </prepare>
> >     <get-src type="local-copy">
> >       <project-dir name="../acorn-test" />
>         ^^^^^^^^^^^^
> 
> That was the line I was missing. Added it and everything is now fine.

I did not need that line because i had a <defaults>
section with <project-dir name="." />
I will tweak the your-project.xml doc to have a complete
minimal example, rather than just the <project> snippet.
--David

> Attached is a patch for your-project.xml.
> 
> Thanks for your and David's help :)

No problem.
--David






Re: using ForrestBot (SOLVED)

Posted by Jeff Turner <je...@apache.org>.
On Mon, Aug 19, 2002 at 05:12:14PM +0200, Marc Portier wrote:
> Jeff,
> 
> not fully understanding what you see (and missing the tgz)

Oops, forgot to attach. But..
...
> $ vi acornbot.conf.xml
> slide in:
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <forrest-config>
>   <defaults />
>   <project name="acorn-test">
>     <prepare>
>         <skin name="forrest-site"/>
>     </prepare>
>     <get-src type="local-copy">
>       <project-dir name="../acorn-test" />
        ^^^^^^^^^^^^

That was the line I was missing. Added it and everything is now fine.

Attached is a patch for your-project.xml.

Thanks for your and David's help :)

--Jeff

RE: using ForrestBot (Was: [PATCH] acorn.xml: bootstrapping new projects)

Posted by Marc Portier <mp...@outerthought.org>.
Jeff,

not fully understanding what you see (and missing the tgz)
I just tried this from scratch:
(assuming current working dir ==
root-of-your-xml-forrest-cvs-sandbox)

$ cvs update -dP
$ mkdir ../acorn-test
$ pushd ../acorn-test
$ cp [path-to-it]/acorn.xml .
$ ant -f acorn.xml -Dforrest.home=../xml-forrest
create-xdocs create-status
$ popd
$ vi acornbot.conf.xml
slide in:
<?xml version="1.0" encoding="ISO-8859-1"?>
<forrest-config>
  <defaults />
  <project name="acorn-test">
    <prepare>
        <skin name="forrest-site"/>
    </prepare>
    <get-src type="local-copy">
      <project-dir name="../acorn-test" />
      <content-dir name="../acorn-test/src/documentation"/>
    </get-src>
    <generate>
      <debuglevel name="ERROR" />
    </generate>
    <deploy type="local-copy">
      <destination name="../acorn-test/forrest-docs/" />
    </deploy>
  </project>
</forrest-config>

$  ./build.sh
bot -Dbot.forrestbot.xconf=acornbot.conf.xml -Dtemplate.echo
=true

and this works fine.

<snip />

trying to grasp what you tried:

>
> Aha.. hehe.. ahahaha.. Houston, you have a problem.. :)
>
> Are you using Forrest's docs in a different
> directory to test Forrestbot? Then
> it will be using files from xml-forrest/ and
> you'd never be able to tell the
> difference :)
>

naah,
we use forrestbot to build loads of other things:
50% from the list at
http://outerthought.net/forrest/live-sites.html
i.e. http://outerthought.net/ and http://www.xmlbelux.be/
are built using the bot...
so we _can_ tell the difference :-)
(and you see it _is_ used for other sites then
xml.apache.org, that one not even.)

> I used acorn.xml to generate a basic,
> known-to-build, doc setup.  If I swap the
> acorn-generated content for
> xml-forrest/src/documentation, then it all builds
> fine with forrestbot.
>

as would the opposite, provided that you tell the bot where
to find the acorn-generated content
please check your-botconf.xml
(mind for gets-src.local-copy the content-dir is not
evaluated as relative to the project-dir, should it?)

if you can't find something wrong:
 - run with -Dtemplate.echo=true
 - attach the ./build/bot/work.[your-project-name].log and
the conf in your next message


HTH,
-marc=


Re: using ForrestBot (Was: [PATCH] acorn.xml: bootstrapping new projects)

Posted by Jeff Turner <je...@apache.org>.
Thanks for the helping debug this.


On Mon, Aug 19, 2002 at 02:04:18PM +1000, David Crossley wrote:
> Jeff Turner wrote:
> > David Crossley wrote:
> > ERROR   2002-08-18 20:55:57.978 [sitemap ] (): Error while processing pipeline at file:/old/home/jeff/homeoverflow/apache/xml/xml-forrest/build/bot/projects/myproj-local/context/./sitemap.xmap:135:17
> > org.apache.cocoon.ProcessingException: Failed to execute pipeline.: org.apache.cocoon.ResourceNotFoundException: Resource not found.: org.apache.excalibur.source.SourceNotFoundException: Resource not found file:/old/home/jeff/homeoverflow/apache/xml/xml-forrest/build/bot/projects/myproj-local/context/./content/xdocs/your-project.xml
...
> 
> It sounds like some separate issues. Your ForrestBot is
> building the main Forrest project doco here.


Indeed it is (after examining build/bot/projects/...).

> When you copied the forrestbot.conf.xml to testproj.conf.xml
> did you remove the old <project>+ entries and put your own?

Yep.

> Another possibility - if /home/jeff/testproj/testproj.conf.xml
> path is wrong, then it will use $FORREST_HOME/forrestbot.conf.xml
> and build the main project doco.

It's correct:

jeff@expresso:~$ ls  /home/jeff/testproj
acorn.xml  src  status.xml  testproj.conf.xml

> Aha. I just noticed something that may be the cause.
> If you do not do a 'build clean' before running forrestbot
> then it just re-runs the previous build. So if you had
> done a plain './build.sh bot' then forrestbot would try to
> build the default Forrest doco. If you immediately follow
> that with building your own project:
>  ./build.sh bot -Dbot.forrestbot.xconf=$HOME/yourproject.conf.xml
> then forrestbot does not build your project but repeats the
> default build.

That's good to know, but I was playing safe and doing 'rm -r build' between
builds anyway. Confirmed again today.

> Also, it seems that your xml-forrest CVS is not up-to-date.
> The doc your-project.html is certainly linked from changes.html
> and it should be there at xdocs/your-project.xml
> Does the normal "./build.sh clean docs" work for you?

Aha.. hehe.. ahahaha.. Houston, you have a problem.. :)

Are you using Forrest's docs in a different directory to test Forrestbot? Then
it will be using files from xml-forrest/ and you'd never be able to tell the
difference :)

I used acorn.xml to generate a basic, known-to-build, doc setup.  If I swap the
acorn-generated content for xml-forrest/src/documentation, then it all builds
fine with forrestbot.

Attached is a .tgz of the context I'm trying to build with Forrestbot, that
should show up the problem.


--Jeff

> --David
> 

RE: using ForrestBot (Was: [PATCH] acorn.xml: bootstrapping newprojects)

Posted by Marc Portier <mp...@outerthought.org>.
> -----Original Message-----
> From: David Crossley [mailto:crossley@indexgeo.com.au]

<snip />

> Aha. I just noticed something that may be the cause.
> If you do not do a 'build clean' before running forrestbot
> then it just re-runs the previous build. So if you had
> done a plain './build.sh bot' then forrestbot would try to
> build the default Forrest doco. If you immediately follow
> that with building your own project:
>  ./build.sh
bot -Dbot.forrestbot.xconf=$HOME/yourproject.conf.xml
> then forrestbot does not build your project but repeats
the
> default build.

great observation, this is due to the fact that the bot-conf
is in fact basis for a real ant build file to be generated
the way we use this forrestbot this calls for the target
bot.conf2build to always removing the work.build.xml and
default.parameters.xml.  This will ensure that the <style>
task will always generate a new one.

normal dependency checking inside the style task can fail in
this case:
edit conf1 and conf2 (timestamp0)
use bot on conf1 --> generates required build and paremeter
file (timestamp1)
use bot on conf2 --> style thinks that build and parameter
files do not need to be rebuilt (ts0 < ts1)

quick fix is to just always force generation of the required
files
fixing now...

-marc=




using ForrestBot (Was: [PATCH] acorn.xml: bootstrapping new projects)

Posted by David Crossley <cr...@indexgeo.com.au>.
Jeff Turner wrote:
> David Crossley wrote:
> > Did you see the document "forrestbot.html"? I did not need to
> > tweak anything in build.xml ... the bot works beautifully for me.
> > While i established it on my system today, i added a new document
> > as a concise overview.
> 
> I saw forrestbot, and thought it looked cool, but more relevant for when one
> wants to update a live website, rather than just build local project docs.
> 
> Thanks for writing the overview. It's exactly this last 5% that people need.
> Probably I'm just doing something stupid, but it didn't work for me. I followed
> the instructions in your-project.xml, and when I ran:
> 
> ./build.sh bot
> -Dbot.forrestbot.xconf=/home/jeff/testproj/testproj.conf.xml
> -Dtemplate.echo=true
> 
> in my xml-forrest (clean build/)
> 
> URI: changes.html
>   getting links: .  [broken link]--> images/group-logo.gif
>   [broken link]--> images/project-logo.gif
>   [broken link]--> images/add.jpg
> ERROR   2002-08-18 20:55:57.978 [sitemap ] (): Error while processing pipeline at file:/old/home/jeff/homeoverflow/apache/xml/xml-forrest/build/bot/projects/myproj-local/context/./sitemap.xmap:135:17
> org.apache.cocoon.ProcessingException: Failed to execute pipeline.: org.apache.cocoon.ResourceNotFoundException: Resource not found.: org.apache.excalibur.source.SourceNotFoundException: Resource not found file:/old/home/jeff/homeoverflow/apache/xml/xml-forrest/build/bot/projects/myproj-local/context/./content/xdocs/your-project.xml
> 
> Which is bizarre, since your-project.xml certainly isn't mentioned anywhere in
> my test project. However, running just './build.sh bot' worked fine, so I'm
> sure it's something minor.

It sounds like some separate issues. Your ForrestBot is
building the main Forrest project doco here.

When you copied the forrestbot.conf.xml to testproj.conf.xml
did you remove the old <project>+ entries and put your own?

Another possibility - if /home/jeff/testproj/testproj.conf.xml
path is wrong, then it will use $FORREST_HOME/forrestbot.conf.xml
and build the main project doco.

Aha. I just noticed something that may be the cause.
If you do not do a 'build clean' before running forrestbot
then it just re-runs the previous build. So if you had
done a plain './build.sh bot' then forrestbot would try to
build the default Forrest doco. If you immediately follow
that with building your own project:
 ./build.sh bot -Dbot.forrestbot.xconf=$HOME/yourproject.conf.xml
then forrestbot does not build your project but repeats the
default build.

Also, it seems that your xml-forrest CVS is not up-to-date.
The doc your-project.html is certainly linked from changes.html
and it should be there at xdocs/your-project.xml
Does the normal "./build.sh clean docs" work for you?
--David




Re: [PATCH] acorn.xml: bootstrapping new projects

Posted by Jeff Turner <je...@apache.org>.
On Sun, Aug 18, 2002 at 06:09:13PM +1000, David Crossley wrote:
> Thanks for the "acorn" idea (love the metaphor) and the patch.
> We will look into it ASAP. I have it running on my system.
> 
> More below ...
> 
> Jeff Turner wrote:
> > Marc Portier wrote:
> > ...
> > > On this very topic, my analysis at this stage would be:
> > > There is currently too much coupling between the forrest
> > > build.xml and the generation of the docs.
> > 
> > Yep :) There's no separation between "building Forrest" and "building a
> > website's docs with Forrest". Consequently, anyone wanting to use Forrest
> > has to first dig through build.xml to separate the forresty bits from the
> > build system.
> 
> Did you see the document "forrestbot.html"? I did not need to
> tweak anything in build.xml ... the bot works beautifully for me.
> While i established it on my system today, i added a new document
> as a concise overview.

I saw forrestbot, and thought it looked cool, but more relevant for when one
wants to update a live website, rather than just build local project docs.

Thanks for writing the overview. It's exactly this last 5% that people need.
Probably I'm just doing something stupid, but it didn't work for me. I followed
the instructions in your-project.xml, and when I ran:

./build.sh bot
-Dbot.forrestbot.xconf=/home/jeff/testproj/testproj.conf.xml
-Dtemplate.echo=true

in my xml-forrest (clean build/)

URI: changes.html
  getting links: .  [broken link]--> images/group-logo.gif
  [broken link]--> images/project-logo.gif
  [broken link]--> images/add.jpg
ERROR   2002-08-18 20:55:57.978 [sitemap ] (): Error while processing pipeline at file:/old/home/jeff/homeoverflow/apache/xml/xml-forrest/build/bot/projects/myproj-local/context/./sitemap.xmap:135:17
org.apache.cocoon.ProcessingException: Failed to execute pipeline.: org.apache.cocoon.ResourceNotFoundException: Resource not found.: org.apache.excalibur.source.SourceNotFoundException: Resource not found file:/old/home/jeff/homeoverflow/apache/xml/xml-forrest/build/bot/projects/myproj-local/context/./content/xdocs/your-project.xml

Which is bizarre, since your-project.xml certainly isn't mentioned anywhere in
my test project. However, running just './build.sh bot' worked fine, so I'm
sure it's something minor.


--Jeff

RE: [PATCH] acorn.xml: bootstrapping new projects

Posted by Marc Portier <mp...@outerthought.org>.

> -----Original Message-----
> From: David Crossley [mailto:crossley@indexgeo.com.au]
>
> Thanks for the "acorn" idea (love the metaphor)
> and the patch.

+1

> We will look into it ASAP. I have it running on my system.
>

me too.

<snip />

>
> Your acorn idea is a good one that seems to complement the
> "forrestbot" and would assist Forrest uptake. We
> will await
> a little discussion during the week to build upon it.

acorn sure fills a gap today, and as such should be in
there.  (there is some possible confusion with the
forrestbot: the current advocated way, but documentation and
a future better design of the build should solve that)

acorn however is not (IMHO) sufficiently making the real
separation (as discussed) we need, so having this should not
take attention away from still making the build-redesign
that offers that.

acorn would still deserve a future inside forrest (IMHO
again) 1. it could evolve into some easy-install mechanism
for forrest. 2. the build-template idea should inspire one
of the real things forrest can do for you (next to building
your docs)


just my 2c.
-marc=


Re: [PATCH] acorn.xml: bootstrapping new projects

Posted by David Crossley <cr...@indexgeo.com.au>.
Thanks for the "acorn" idea (love the metaphor) and the patch.
We will look into it ASAP. I have it running on my system.

More below ...

Jeff Turner wrote:
> Marc Portier wrote:
> ...
> > On this very topic, my analysis at this stage would be:
> > There is currently too much coupling between the forrest
> > build.xml and the generation of the docs.
> 
> Yep :) There's no separation between "building Forrest" and "building a
> website's docs with Forrest". Consequently, anyone wanting to use Forrest
> has to first dig through build.xml to separate the forresty bits from the
> build system.

Did you see the document "forrestbot.html"? I did not need to
tweak anything in build.xml ... the bot works beautifully for me.
While i established it on my system today, i added a new document
as a concise overview.

You are right - the separation between "Forrest" and "Forrest's job"
has been a hard one to make clear. Your comments have spurred more
action there, thanks.

Your acorn idea is a good one that seems to complement the
"forrestbot" and would assist Forrest uptake. We will await
a little discussion during the week to build upon it.
--David

> > The correct steps would be
> > - decide on forrest in your project
> > - get forrest from cvs
> > - build forrest (so the main build target of forrest should
> > not build its own docs!)
> > - have your project refer to forrest for building YOUR docs
> > The start with forrest and modify to your own project is not
> > an option to get you started, it is pretty much a
> > requirement to ever get somewhere.
> 
> I agree.
> 
> In penance for wrongfully maligning a worthy project, I went ahead and
> implemented a script that builds the docs with Forrest in whichever
> project it's part of. It uses xml-forrest as a static resource, eg in
> /usr/local/forrest, that you download and build once. Forrest's 16mb is
> far too much to duplicate across multiple projects.
> 
> It's called acorn.xml to suggest the idea of something that can bootstrap
> a 'forrest'. Acorns have to grow wherever they're dropped.  Thus if you
> run acorn.xml in an empty directory, it creates a skeleton Forrest layout
> and builds that. If the directory contains an existing Forrest doc
> structure (eg it's in xml-forrest/ itself), it will build those docs.
> 
> The script will also (optionally) download Forrest from CVS, and build
> it. The idea is that you literally don't need anything more than Ant and
> acorn.xml to start using Forrest. Copy it somewhere, define
> 'forrest.home' to /usr/local/forrest or wherever, and type 'ant -f
> acorn.xml', and a while later you'll have Forrest installed, built, a new
> doc structure created and generated docs for that project.
>
> --Jeff


[PATCH] acorn.xml: bootstrapping new projects (Re: NPEs on second build + rant)

Posted by Jeff Turner <je...@apache.org>.
On Fri, Aug 16, 2002 at 03:27:33PM +0200, Marc Portier wrote:
...
> On this very topic, my analysis at this stage would be:
> There is currently too much coupling between the forrest
> build.xml and the generation of the docs.

Yep :) There's no separation between "building Forrest" and "building a
website's docs with Forrest". Consequently, anyone wanting to use Forrest
has to first dig through build.xml to separate the forresty bits from the
build system.

> The correct steps would be
> - decide on forrest in your project
> - get forrest from cvs
> - build forrest (so the main build target of forrest should
> not build its own docs!)
> - have your project refer to forrest for building YOUR docs
> The start with forrest and modify to your own project is not
> an option to get you started, it is pretty much a
> requirement to ever get somewhere.

I agree.

In penance for wrongfully maligning a worthy project, I went ahead and
implemented a script that builds the docs with Forrest in whichever
project it's part of. It uses xml-forrest as a static resource, eg in
/usr/local/forrest, that you download and build once. Forrest's 16mb is
far too much to duplicate across multiple projects.

It's called acorn.xml to suggest the idea of something that can bootstrap
a 'forrest'. Acorns have to grow wherever they're dropped.  Thus if you
run acorn.xml in an empty directory, it creates a skeleton Forrest layout
and builds that. If the directory contains an existing Forrest doc
structure (eg it's in xml-forrest/ itself), it will build those docs.

The script will also (optionally) download Forrest from CVS, and build
it. The idea is that you literally don't need anything more than Ant and
acorn.xml to start using Forrest. Copy it somewhere, define
'forrest.home' to /usr/local/forrest or wherever, and type 'ant -f
acorn.xml', and a while later you'll have Forrest installed, built, a new
doc structure created and generated docs for that project.


--Jeff

..
> -marc=
> 

Re: NPEs on second build + rant

Posted by David Crossley <cr...@indexgeo.com.au>.
Nicola Ken Barozzi wrote: 
> 
> Jeff Turner wrote:
<snip/>
> > I wrote the following blog entry about a day spent trying to use Forrest:
<snip/> 
> > It was written just to let off steam at a wasted day, but I hope it will
> > be accepted here in the spirit of constructive criticism, 
> 
> Forrest is not yet ready to be used easily in other projects, because it 
> has not been really discussed and done yet.
> 
> I understand your difficulties, we are working to eliminate them.
> 
> Eventually a new forrest Cent or an Ant task will get you going faster.

Jeff, you spent a whole day and missed the FAQ list.
It clearly describes that Forrest is intended to be
used  on *any* project. There is also a list of
"Forrest live sites" to demonstrate that.

Anyway, thanks for your feedback. The front page has been
amended to make it more obvious.
http://www.outerthought.net/forrest/
Please help us to ensure that it is usable for you.
--David 



Re: The sky is falling! :) Comparing Maven and Forrest (Re: NPEs on second build + rant)

Posted by Jeff Turner <je...@apache.org>.
On Mon, Aug 19, 2002 at 09:48:43AM +0200, Marc Portier wrote:
> > -----Original Message-----
> > From: Jeff Turner [mailto:jefft@apache.org]
> 
> <snip />
> 
> >
> > Exactly. And why not? Because the focus has
> > always been "let's improve
> > xml.apache.org", not "let's make a generally
> > useful doc system".
> 
> <snip />
> 
> >
> > Forrest micro-optimized on one tiny section of
> > the problem-space.
> > Forrest hoped that a general solution would
> > emerge from tackling a
> 
> <snip />
> 
> 
> "Never attribute to malice that which can be adequately
> explained by stupidity." -- Hanlon
> :-)

Goodness, what an agressive-sounding email I wrote.. sorry :) I only
flame things I like. Forrest committers have my highest respect, and
sometimes I forget people don't know that before flaming away.

> Honnestly: I don't think we set off wrong.

Agreed. My aim was to point out an apparent long-term trend away from
'user-friendliness', and to remind people that enlightened self-interest,
if correctly nurtured, can be equally as productive as the sort of
dedication, commitment and hard slog that characterises current Forrest
committers.

> Providing usefull DTDs as forrest did works like you
> describe, they *are* getting used. (even at the moment where
> they still are under construction)
> Next step is helping those users out in actually doing more
> sensible stuff with the content they based on them.

I guess I see a more chaotic, user-needs-driven project lifecycle as
characteristic of a healthy project, but that's a bit short-sighted I
suppose.

> We haven't given the build-for-your-project enough thought
> yet. (forrestbot gave it as a side-effect)
> We knew that, you just prioritized our agenda :-)

Wohoo, rants and flames from lurkers do work ;)

... 
> > of Forrest, I'll be spending tomorrow attempting a Forrest
> Maven plugin.
> 
> We would surely welcome the Maven plugin.
> Better still, we should make it one of the real
> build-targets of forrest.

:) I'll mail when it's working. I'm currently poking through Maven
internals figuring it out.


--Jeff

> regards,
> -marc=
> 

-- 
Hell is a state of mind. And every state of mind, left to itself,
every shutting up of the creature within the dungeon of it's own
mind -- is, in the end, Hell.
  C.S. Lewis, _The Great Divorce_

Re: The sky is falling! :) Comparing Maven and Forrest (Re: NPEs on second build + rant)

Posted by Nicola Ken Barozzi <ni...@apache.org>.
Jeff Turner wrote:
> On Fri, Aug 16, 2002 at 01:51:15PM +0200, Nicola Ken Barozzi wrote:
> 
>>Jeff Turner wrote:
>>
>>>I wrote the following blog entry about a day spent trying to use Forrest:
>>>
>>>http://www.webweavertech.com/jefft/weblog/archives/000027.html
>>>
>>>It was written just to let off steam at a wasted day, but I hope it will
>>>be accepted here in the spirit of constructive criticism, 
>>
>>Forrest is not yet ready to be used easily in other projects, because it 
>>has not been really discussed and done yet.
> 
> 
> Exactly. And why not? Because the focus has always been "let's improve
> xml.apache.org", not "let's make a generally useful doc system".
> 
> I'm suggesting that the social engineering of Forrest is subtly but
> significantly wrong. The fastest way to get a good-looking xml.apache.org
> is *not* to simply advertise that fact and get cracking, as Forrest has
> done. The goal is too abstract; not enough people care. Instead, one
> should appeal to people's self-interest; broaden the focus, say "we're
> here to make a brilliant doc system that anyone can use", and get people
> involved. THEN, if the project has evolved correctly, the secondary goal
> of a better xml.apache.org will be met.
> 
> Forrest micro-optimized on one tiny section of the problem-space.
> Forrest hoped that a general solution would emerge from tackling a
> specific problem, rather than tackling the general problem (with
> consequently more resources) and letting a specific solution
> (xml.apache.org) fall out.

In fact, the goal I have, and that many of our committers have, is to 
make Forrest work in an Intranet ant for other sites.

You are wrong in this assumption and this analysis.

What we have done is make a bot-generation possible, regardless of 
Xml.Apache.
I don't see anything wrong with this.

> As evidence for this view, I ask you again to compare Maven to Forrest.
> Both have goals of unifying the websites of their respective
> organizations (Jakarta and xml.apache.org). However with Maven, the
> unification goal is subordinate; first, they want to produce something
> cool and consequently widely used. In Forrest, the unification goal is
> explicit, and as a result Forrest is only good at generating docs for
> Forrest. Result? Despite Forrest's head-start, Maven has a much more
> dynamic community, and Jakarta sites are a lot closer to being unified
> than xml.apache.org sites.

I still have to learn in making communities.
Remember that many of us come from the world of Cocoon and Avalon, and I 
think that I'm learning a lot from the Maven and Turbine community in 
the way they get support.

> I invite everyone to read 'The Rise of "Worse is Better"':
> 
> http://www.ai.mit.edu/docs/articles/good-news/subsection3.2.1.html
> 
> 
> Practically, what I'm asking is that people take these thoughts to heart,
> and if they agree, then start giving priority to problems limiting
> adoption over problems limiting xml.apache.org coolness. The most
> immediate problem is, I'm afraid to say, the forced Centipede
> integration. By all means use Centipede to build Forrest, but don't force
> it on users. 

We never have, and never will.
Steven is definately -1 for this.

Besides, Centipede is basically Ant, so what I will do is something that 
can be used in Ant.
Of course, Centipede has autodownload and all that stuff, but like 
Maven, it's an option.

> To further crush Nicola's ego :) and to help spread adoption
> of Forrest, I'll be spending tomorrow attempting a Forrest Maven plugin.

;-) You're not crushing any ego, but making me happy.
If Forrest has a Maven plugin, it will really help its adoption, and we 
all know how a common Apache DTD would benefit all.

I have already said on many lists (the last on james-dev) that there 
will be a Maven plugin. Currently I really don't understand how to do 
them very well, and this is the reason I'm waiting to do it. I see 
massive committs to Maven, and personally I chose to wait for a more 
stable version.

But if you are ready, go for it!
I strongly support you in this :-)

If you need help, we're here :-)

-- 
Nicola Ken Barozzi                   nicolaken@apache.org
             - verba volant, scripta manent -
    (discussions get forgotten, just code remains)
---------------------------------------------------------------------


RE: The sky is falling! :) Comparing Maven and Forrest (Re: NPEs on second build + rant)

Posted by Marc Portier <mp...@outerthought.org>.
> -----Original Message-----
> From: Jeff Turner [mailto:jefft@apache.org]

<snip />

>
> Exactly. And why not? Because the focus has
> always been "let's improve
> xml.apache.org", not "let's make a generally
> useful doc system".

<snip />

>
> Forrest micro-optimized on one tiny section of
> the problem-space.
> Forrest hoped that a general solution would
> emerge from tackling a

<snip />


"Never attribute to malice that which can be adequately
explained by stupidity." -- Hanlon
:-)

Honnestly: I don't think we set off wrong.
Providing usefull DTDs as forrest did works like you
describe, they *are* getting used. (even at the moment where
they still are under construction)
Next step is helping those users out in actually doing more
sensible stuff with the content they based on them.

We haven't given the build-for-your-project enough thought
yet. (forrestbot gave it as a side-effect)
We knew that, you just prioritized our agenda :-)

Which brings me to conclude that this is OSS land... This is
where having intentions is great, but only when future
becomes history we will have the means to measure those.
Thx for catalizing the future->history process :-)


> As evidence for this view, I ask you again to
> compare Maven to Forrest.

I have a general dislike for comparisons, but you couldn't
write it on account of any bad intentions (malice) from my
part :-)

<snip />


> To further crush Nicola's ego :) and to help spread
adoption

I fail to explain your goals by means of stupidity :-)


> of Forrest, I'll be spending tomorrow attempting a Forrest
Maven plugin.

We would surely welcome the Maven plugin.
Better still, we should make it one of the real
build-targets of forrest.


regards,
-marc=


The sky is falling! :) Comparing Maven and Forrest (Re: NPEs on second build + rant)

Posted by Jeff Turner <je...@apache.org>.
On Fri, Aug 16, 2002 at 01:51:15PM +0200, Nicola Ken Barozzi wrote:
> Jeff Turner wrote:
> >I wrote the following blog entry about a day spent trying to use Forrest:
> >
> >http://www.webweavertech.com/jefft/weblog/archives/000027.html
> >
> >It was written just to let off steam at a wasted day, but I hope it will
> >be accepted here in the spirit of constructive criticism, 
> 
> Forrest is not yet ready to be used easily in other projects, because it 
> has not been really discussed and done yet.

Exactly. And why not? Because the focus has always been "let's improve
xml.apache.org", not "let's make a generally useful doc system".

I'm suggesting that the social engineering of Forrest is subtly but
significantly wrong. The fastest way to get a good-looking xml.apache.org
is *not* to simply advertise that fact and get cracking, as Forrest has
done. The goal is too abstract; not enough people care. Instead, one
should appeal to people's self-interest; broaden the focus, say "we're
here to make a brilliant doc system that anyone can use", and get people
involved. THEN, if the project has evolved correctly, the secondary goal
of a better xml.apache.org will be met.

Forrest micro-optimized on one tiny section of the problem-space.
Forrest hoped that a general solution would emerge from tackling a
specific problem, rather than tackling the general problem (with
consequently more resources) and letting a specific solution
(xml.apache.org) fall out.

As evidence for this view, I ask you again to compare Maven to Forrest.
Both have goals of unifying the websites of their respective
organizations (Jakarta and xml.apache.org). However with Maven, the
unification goal is subordinate; first, they want to produce something
cool and consequently widely used. In Forrest, the unification goal is
explicit, and as a result Forrest is only good at generating docs for
Forrest. Result? Despite Forrest's head-start, Maven has a much more
dynamic community, and Jakarta sites are a lot closer to being unified
than xml.apache.org sites.

I invite everyone to read 'The Rise of "Worse is Better"':

http://www.ai.mit.edu/docs/articles/good-news/subsection3.2.1.html


Practically, what I'm asking is that people take these thoughts to heart,
and if they agree, then start giving priority to problems limiting
adoption over problems limiting xml.apache.org coolness. The most
immediate problem is, I'm afraid to say, the forced Centipede
integration. By all means use Centipede to build Forrest, but don't force
it on users. To further crush Nicola's ego :) and to help spread adoption
of Forrest, I'll be spending tomorrow attempting a Forrest Maven plugin.


--Jeff

> 
> Eventually a new forrest Cent or an Ant task will get you going faster.
> 
> -- 
> Nicola Ken Barozzi                   nicolaken@apache.org
>             - verba volant, scripta manent -
>    (discussions get forgotten, just code remains)
> ---------------------------------------------------------------------
> 

Re: NPEs on second build + rant

Posted by Nicola Ken Barozzi <ni...@apache.org>.
Jeff Turner wrote:
> On Fri, Aug 16, 2002 at 07:22:12PM +1000, David Crossley wrote:
> 
>>Jeff, i presume same issue that we saw
>>http://marc.theaimsgroup.com/?l=forrest-dev&m=102767862102557
>>You need "build.sh clean docs" every time.
> 
> 
> Thanks, that looks like it.
> 
> I wrote the following blog entry about a day spent trying to use Forrest:
> 
> http://www.webweavertech.com/jefft/weblog/archives/000027.html
> 
> It was written just to let off steam at a wasted day, but I hope it will
> be accepted here in the spirit of constructive criticism, 

Forrest is not yet ready to be used easily in other projects, because it 
has not been really discussed and done yet.

I understand your difficulties, we are working to eliminate them.

Eventually a new forrest Cent or an Ant task will get you going faster.

-- 
Nicola Ken Barozzi                   nicolaken@apache.org
             - verba volant, scripta manent -
    (discussions get forgotten, just code remains)
---------------------------------------------------------------------


RE: NPEs on second build + rant

Posted by Marc Portier <mp...@outerthought.org>.
> Thanks, that looks like it.
>
> I wrote the following blog entry about a day
> spent trying to use Forrest:
>
> http://www.webweavertech.com/jefft/weblog/archives
> /000027.html
>
> It was written just to let off steam at a wasted
> day, but I hope it will
> be accepted here in the spirit of constructive criticism,
>

Your observations are quite correct.

gave the assignment to a number of students we mentor to
start on their project with forrest, they're returning much
of your comments...
we need people actually trying this to get a list of the
showstoppers...

I remember spending more then one day on other OSS projects.
Somehow they manage to get there.

So, please stay tuned, Jeff.
And maybe spend (not waste) more time in the future to get
us the feedback we need.


On this very topic, my analysis at this stage would be:
There is currently too much coupling between the forrest
build.xml and the generation of the docs.
The correct steps would be
- decide on forrest in your project
- get forrest from cvs
- build forrest (so the main build target of forrest should
not build its own docs!)
- have your project refer to forrest for building YOUR docs
The start with forrest and modify to your own project is not
an option to get you started, it is pretty much a
requirement to ever get somewhere.

Some of that decoupling today can be achieved by using the
forrestbot (http://outerthought.net/forrest/forrestbot.html,
that one, btw, does the 'clean' for you), but that is quite
an overkill if you're only looking at one project.  (my
thinking on the refactoring of build.xml towards the ideas
in forrestbot is driving my ideas further away still for the
moment, I have the feeling there is more non-fitting-in
things around forrest to date... I'm trying to consilidate
and formulate those ideas in the near future)

By the way, I noticed centipede is working towards a central
installed solution, rather then a copy over into all
projects.
I believe that such is part of the solution we need.

regards,
and thx again, Jeff (not for publishing the rant though :-))

-marc=


> --Jeff
>
> > --David
> >
> > Jeff Turner wrote:
> > > Hi,
> > >
> > > Running './build.sh docs' the first time
> works fine. The second time, it
> > > dies with:
> > >
> > > .
> > >   [broken link]--> /forrest/xml-site/
> > > FATAL_E 2002-08-16 19:22:05.579 [cocoon  ]
> (): Exception caught
> > > org.apache.cocoon.ProcessingException: Failed
> to execute pipeline.: java.lang.NullPointerException:
> ...
>