You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by Stefano Mazzocchi <st...@apache.org> on 2000/07/18 11:47:16 UTC

[report] Cocoon Hackaton #1

All right,

the week-end is over, Ricardo is in Milano talking to the immigration
lawyer, I passed (finally!) my college exam that I has been bugging me
for the last two months so I finally have some time to dedicate to this.

Giacomo, Ricardo and I had the first official "Cocoon Hackaton" in my
place here in Pavia, Italy, this week end. I wished more could come and
I'll try to make this become a regular thing with more and more people
involved over the years.... for now, I just want to let you guys know
what we discussed to receive your invaluable feedback (sheesh, I wish
you all were there!)

We discussed mainly about:

 1) object model
 2) sitemap implementation
 
later on, after Giacomo left, Ricardo and I talked about "business logic
taglibs" that should include the notion of "form taglibs" as well as
"web application definition schemas".

Given Ricardo's decades-old knowldge on DBMS application development, I
believe he has the right ideas to "engineer" those web-app creation
practices that each one of us has been reinventing everytime.

But this is way to early to tell and we both agreed to stay at the
window to see what happens with Jeremy's FP and how that works in
practice.

Anyway, taglibs are a second order priority: first we have to finish
Cocoon2 implementation. second, we define taglibs.

                 ------------------- o ------------------

                            Cocoon Hackaton #1
                       July 15-16, 2000, Pavia, Italy

Object Model
------------

The environments Cocoon2 will care about are:
 - web
 - command line

The "mail" environment (as a JAMES mailet) will be postponed for later
generations: this means we don't care about it at this point.

"command line" works on top of the "web" model: Cocoon2 from the command
line will act as both client and server "crawling" itself to generate
web snapshots.

Each pipeline component must be aware of the enviornment objects, but
only the serializer will be given the access to the output stream.

The enviornment objects will follow the Servlet API, but, the 

 response.getOutputStream()
 response.getWriter()

methods will return an

 IllegalStateException

if called from "generators" and "transformers".

Normal web sanity rules apply: "send http headers before the content".
This is up to the generator implementation to enforce this, Cocoon2
won't perform any buffering of the response at the core level (is up to
the generator implementation to do that if needed).

Cocoon will add the notion of views

 String request.getView();


Sitemap Generation
------------------

Sitemaps must be nestable, to allow linear site scalability and reduce
bottlenecks and possible "complexity saturation" problems.

Sitemaps must be automatically reloaded to avoid "restarting"
bottlenecks.

Sitemaps must not introduce request-time delays in the resource serving.

Sitemap reloading should be tuned on/off on a sitemap basis. (ie. some
sitemaps never change so Cocoon can avoid looking for changes at runtime
for them, increasing performance).

Sitemap reloading MUST NOT deny service. (ie. Cocoon2 must _always_ be
responsive).

Sitemap reloading must be atomical and independent. (ie. a change in a
single sitemap should _not_ reflect in changes in other sitemaps)

Giacomo designed a very nice solution for all of this that he
volunteered to implement. It is based on the notion of sitemap
compliation thru a sitemap manager that acks as a proxy for Cocoon.

When a sitemap changes, a compilation thread will be spawned in the
background that will update the sitemap state without interrupting
service. The GC capabilities of JVMs will be used to cleanup old
sitemaps wirings and implementation.


Conclusion
----------

The main benefits of this meeting were:

 1) establishing friendship and real-life relationship
 2) remove all implementation problems for Cocoon2 core to "happen"
 3) synchronize visions and expectance
 4) remove knowledge gaps (ie I re-explained the "views" idea)


Result
------

As a result, I believe Cocoon2 time-to-market was reduced by this
increase of focus.



Next Episode
------------

Next Cocoon Hackaton is scheduled around October 20, London, England at
ApacheCON 2000 Europe.

         ---------------- o --------------------

Comments welcome!

-- 
Stefano Mazzocchi      One must still have chaos in oneself to be
                          able to give birth to a dancing star.
<st...@apache.org>                             Friedrich Nietzsche
--------------------------------------------------------------------
 Missed us in Orlando? Make it up with ApacheCON Europe in London!
------------------------- http://ApacheCon.Com ---------------------


Re: [report] Cocoon Hackaton #1

Posted by Giacomo Pati <Gi...@pwr.ch>.
Stefano Mazzocchi wrote:
> 
> The enviornment objects will follow the Servlet API, but, the
> 
>  response.getOutputStream()
>  response.getWriter()
> 
> methods will return an
> 
>  IllegalStateException
> 
> if called from "generators" and "transformers".

A shy question. How can an method ensure to be called from a specific
object (a serializer in this case)?

Giacomo

-- 
PWR GmbH, Organisation & Entwicklung      Tel:   +41 (0)1 856 2202
Giacomo Pati, CTO/CEO                     Fax:   +41 (0)1 856 2201
Hintereichenstrasse 7                     Mailto:Giacomo.Pati@pwr.ch
CH-8166 Niederweningen                    Web:   http://www.pwr.ch

Re: [report] Cocoon Hackaton #1

Posted by Jeremy Quinn <je...@media.demon.co.uk>.
At 21:32 +0100 18/07/00, Ross Burton wrote:
>Excellent stuff, it's good to see progress!
>
>> Next Cocoon Hackaton is scheduled around October 20, London, England at
>> ApacheCON 2000 Europe.
>
>Inside the arena or somewhere else in London?  I would like to attent the
>Hackathon, but cannot afford the conference fees myself and my employer
>won't pay (Apache has nothing to do with us at present).
>
>Ross

Hmm

I am probably in the same situation

Jeremy
-- 
   ___________________________________________________________________

   Jeremy Quinn                                           Karma Divers
                                                       webSpace Design
                                            HyperMedia Research Centre

   <ma...@mac.com>     		 <http://www.media.demon.co.uk>
    <phone:+44.[0].20.7737.6831>        <pa...@sms.genie.co.uk>

Re: [report] Cocoon Hackaton #1

Posted by Paul Russell <pa...@luminas.co.uk>.
On Wed, Jul 19, 2000 at 07:14:14PM +0200, Stefano Mazzocchi wrote:
> All right, great point.
> The ASF is having a hackaton _before_ the conference and Ben Laurie is
> taking care of organizing this.
> This is, more or less, restricted to active developers (people that have
> CVS commit access) or people that are willing to become an active
> developer.

I should be at ApacheCon anyway, so I'm definately up for helping
out for a day or two if I can be any help...


-- 
Paul Russell                               <pa...@luminas.co.uk>
Technical Director,                   http://www.luminas.co.uk
Luminas Ltd.

Re: [report] Cocoon Hackaton #1

Posted by Stefano Mazzocchi <st...@apache.org>.
Ross Burton wrote:
> 
> Excellent stuff, it's good to see progress!
> 
> > Next Cocoon Hackaton is scheduled around October 20, London, England at
> > ApacheCON 2000 Europe.
> 
> Inside the arena or somewhere else in London?  I would like to attent the
> Hackathon, but cannot afford the conference fees myself and my employer
> won't pay (Apache has nothing to do with us at present).

All right, great point.

The ASF is having a hackaton _before_ the conference and Ben Laurie is
taking care of organizing this.

This is, more or less, restricted to active developers (people that have
CVS commit access) or people that are willing to become an active
developer.

On the other hand, I wouldn't want to "cocoon-polarize" the hackaton
that is supposed to be a way to let each project know about itself to
the other ASF projects to trigger higher level integration (think at
things like PHP/Perl/Cocoon or Xerces/Xalan/Cocoon/Fop or
Cocoon/Jetspeed/Prowler or Avalon/James/Tomcat, Apache/Tomcat etc...)

-- 
Stefano Mazzocchi      One must still have chaos in oneself to be
                          able to give birth to a dancing star.
<st...@apache.org>                             Friedrich Nietzsche
--------------------------------------------------------------------
 Missed us in Orlando? Make it up with ApacheCON Europe in London!
------------------------- http://ApacheCon.Com ---------------------



Re: [report] Cocoon Hackaton #1

Posted by Ross Burton <ro...@mail.com>.
Excellent stuff, it's good to see progress!

> Next Cocoon Hackaton is scheduled around October 20, London, England at
> ApacheCON 2000 Europe.

Inside the arena or somewhere else in London?  I would like to attent the
Hackathon, but cannot afford the conference fees myself and my employer
won't pay (Apache has nothing to do with us at present).

Ross