You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@forrest.apache.org by Tim Williams <wi...@gmail.com> on 2006/11/22 02:55:01 UTC
forrest2 and the future
Figured I'd start a new thread to give some comments/questions now
that I'm able to build it.
First, great work on this. I feel I was pretty tough - for good
reason - when the idea first presented itself. I now feel like we've
got the basis for some concrete feedback.
Now that I'm able to get the vision, I'm wondering what the way ahead
is. I realize we've had very little feedback from the rest of the
community but I'd like to hear your concept. Is this codebase to seed
thought or to be a foundation?
I ask for several reasons:
o) I think we've got a good situation where a Forrest Tuesday might be
in order to get everyone on the same page to provide feedback.
o) I wonder whether it's worth contributing to the rather obvious
holes that currently exist.
o) I wonder whether you've got much invested in this particular
codebase and thus aren't willing to shift so much OR you're pliable?
For example, I dont' particularly care for the implicit protocol
pipelining and would rather a more explicit approach/grammar. I think
the need to make matching decisions on Servlet parameters is
essential. Etc.
Thanks again for providing some concrete basis for this discussion.
--tim
RE: forrest2 and the future
Posted by "Gav...." <br...@brightontown.com.au>.
Hi All,
> Tim Williams wrote:
> > First, great work on this.
Agree,
> > I feel I was pretty tough - for good
> > reason - when the idea first presented itself. I now feel like we've
> > got the basis for some concrete feedback.
This was my thinking too, I wasn't tough though, just that I could not
Base any kind of constructive feedback based on ideas alone, I needed
Code to look at. Now that we have some, hopefully more feedback will
Come of it. I like what I see so far and can sort of see where it
Might be headed. My only feedback for the initial period I think will
Have to come in the form of testing and possibly patches. Until it has
Moved along a bit more I can not make judgment on direction or use of
One way of doing something as opposed to another unless it is really
Obvious to me. I am happy to let it find its own path for the time
Being.
..Snip..
> > o) I think we've got a good situation where a Forrest Tuesday might be
> > in order to get everyone on the same page to provide feedback.
>
> Probably a good idea, but not until the new year. We don't need to rush
> on this, we need to get 0.8 out and we need to give people time to look
> at the experimental stuff in whiteboard.
Yes, concerns of many I think, after my initial look, excitement and play
With this new code I will shortly revert back to concentrate on what I
Can do to help with 0.8-dev and getting it released. I will still give
feedback on the new code where I can.
There is nothing to say that Forrest %day should not come back to help the
Process of closing Roadmap Issues. In fact I think it should come back for
This purpose.
Gav...
Re: forrest2 and the future
Posted by Ross Gardler <rg...@apache.org>.
Tim Williams wrote:
> First, great work on this. I feel I was pretty tough - for good
> reason - when the idea first presented itself. I now feel like we've
> got the basis for some concrete feedback.
I totally respect your "toughness" it makes one question ones own
belief. That's the point of community development. It is a pleasure to
have people like yourself (and the many others who discussed the
original thought experiment).
> Now that I'm able to get the vision, I'm wondering what the way ahead
> is. I realize we've had very little feedback from the rest of the
> community but I'd like to hear your concept. Is this codebase to seed
> thought or to be a foundation?
To seed thought. If some of it can be reused then all well and good.
However, I will not stand in the way of throwing it out and doing
something better.
> I ask for several reasons:
>
> o) I think we've got a good situation where a Forrest Tuesday might be
> in order to get everyone on the same page to provide feedback.
Probably a good idea, but not until the new year. We don't need to rush
on this, we need to get 0.8 out and we need to give people time to look
at the experimental stuff in whiteboard.
> o) I wonder whether it's worth contributing to the rather obvious
> holes that currently exist.
Depends on how much of the current code your gut tells you can be reused
and if you want to work on experimental stuff that may get thrown out.
I'd be very happy to welcome contributions of any kind. If the community
sees value in it then the code will survive.
> o) I wonder whether you've got much invested in this particular
> codebase and thus aren't willing to shift so much OR you're pliable?
Everything is open to discussion.
> For example, I dont' particularly care for the implicit protocol
> pipelining and would rather a more explicit approach/grammar. I think
> the need to make matching decisions on Servlet parameters is
> essential. Etc.
Actually, this is one of the key things that brings benefit to this
work, IMHO. The idea is you drop in a document, make a request and out
comes what you want. No need to worry about what path through the system
is taken, all you need to do is make sure the input can be handled, and
the output can be handled and that is it. In other words, no programming
of pipelines is required the user need know nothing about them.
It does make debugging more difficult, but that's easily addressed by
providing a facility that, given a document request, outputs what the
processing pipeline would be. E.g. asking for
helloWorld.xml.forrestPipeline would give an output something like:
<request uri="helloWorld.html">
<sources>
<source uri="helloWorld.xml" required="false" present="false"
matchingpattern = "(.*)/(.*)\.xhtml2"/>
<source uri="helloWorld.xhtml2" required="false" present="true"
matchingpattern = "(.*)/(.*)\.xhtml2"/>
</source>
<inputPlugin id="xhtml2"/>
<outputPlugin id="html"/>
</request>
I appreciate this seems really strange, but it is extremely powerful
once you get the hang of it.
One other major advantage that I see in this approach is that the
definition language is now the language of whatever container we are
using. We can replace the container very easily as it's dependency only
go as deep as a single class in core (and one in test).
I designed it this way in order to make Forrest2 as flexible as
possible. For example, by rewriting that single class
(org.apache.forrest.core.Controller) we can provide a version of Forrest
that uses any other container and/or pipeline description language.
In other words, there is nothing stopping us having multiple
controllers, one that uses my own style, one that uses an explicit
pipeline language you define, another that uses XPipelines etc.
So, if you want to make a counter proposal which explicitly defines the
pipelines, be my guest. Lets consider the advantages of each approach
and then implement a third that is the killer offspring of the two.
Ross