Re: [RT] The next shiny thing?

2005-12-07 Thread Joerg Heinicke

On 06.12.2005 13:18, Steven Noels wrote:

I'm 
surprised to finally see evidence of an anti-OSGI camp in Cocoon. Not 
that this surprises me, but it's just sad that this hasn't been 
clarified much earlier. That damned community tax again, I guess. Waste 
of time and energy for everyone.


At least for me it is more a "I'm not happy with 'yet another beast',
but I can't provide another solution." I did not work with any container
up to recently, so how should I take part in such a discussion? At the
end it is probably even an "I don't care." as I can't read about and
evaluate everything and have to care about other things in my work with
Cocoon.

Jörg



Cocoon F2F at ApacheCon

2005-12-07 Thread Matthew Langham
I really think the current discussions on CocoonReloaded could do with some
higher bandwidth talks to formulate a first "plan". How many Cocoonites will
be at ApacheCon and could perhaps get together? I won't be there but Carsten
is (for example).

Discussing the "plan" via various email-threads doesn't seem to me to be
that effective - at this initial stage - and could eventually lead to
everyone giving up in frustration.

Just a suggestion.

Matthew



Re: ajax cform and forms_onsubmitHandlers issues

2005-12-07 Thread Antonio Gallardo

Quoin Developers wrote:


So the forms_onsubmit() method needs boolean indicator as to whether
the form has already been submitted for server processing (distinct
from an ajax forms submission) to know whether it should process the
onsubmit handlers array. It should no longer simply use the
forms_onsubmtHandlers stack for that indication. When ajax is
submitting the form, maybe it can pass an object to the
forms_onsubmit() indicating that this is an Ajax call.
 


Exaclty. The current implementation works for non-AJAX forms.

I was thinking further about this. For the AJAX mode, we need 
implemented a handler manager.


One version:
Every widget can have a method with a predefined name, then in AJAX 
mode, before commiting, the AJAX controller call this methods. We don't 
need a stack. Only a boolean indicator to keep track that the user 
already pressed a button on the page.


Another version is:
We have an stack (as we have now). But every item on the stack contains 
also the widget name to keep track of them. In AJAX mode, when the 
response comes back from the server, the AJAX controller only delete the 
methods in the stack for the widget that comes in the response. The will 
keep the methods for all the no changed widgets. That way they will be 
executed in the next submit event.


Also I will like to get rid of the "generate-id()" call in the XSLT. 
They simply don't work for AJAX.



It would also be nice to have an object to hold all the global forms
variables (so that we could scope them and eventually support mutliple
forms on the same page).
 


Good idea.

WDYT?

Best Regards,

Antonio Gallardo.



Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Thomas Lutz
Though I am not a dev guy, I can't resist to vote, too. IMHO a mix makes 
no sense. Too make a long story short I made struggled my way into 
cocoon with
-first writing custom actions as I was not aware that I should use flow 
instead

-then switching to flow using JavaScript
-and finally port everything to JavaFlow

JavaFlow is a really nice thing, as some of you have written before, 
everything is in one IDE, it's much easier too integrate the backend 
classes, and though most people in the web area know something about 
javascript, almost nobody really masters javascript. It's easier to 
debug, document with javadoc, and it's compiled and typesafe.


Second argument: It was hard to explain, why I kicked struts out, and 
used cocoon instead. And it was even harder to explain that there is 
JavaScript in the server part. Managers who buy oracle don't like to 
hear things like this...


Last comment: Though this is not the question in this poll, I would even 
kick out the pipeline xml stuff. XML was not designed to be 
"procedural", basically it's a markup language, which focuses on data 
exchange.


On a recent open source talk in vienna  a committer from RoR was joking 
about the java frameworks and their tons of configuration and even worse 
"flow" description files. Though the RoR approach goes a bit too far for 
a compiled language like java, I do believe it makes sense to stick to 
the language choosen.


So, please :-), only one language, and as cocoon (or whatever it's name 
will be :-) ) is a J2EE framework: _Java_


Sorry for the interference :-), regards,
tom

Berin Loritsch wrote:

What's your preference for the vision?

[ ] All web apps written in JavaScript
[x] All web apps written in pure Java
[ ] Mix and match (not as simple, but is status quo with today)








JavaScript BOF at ApacheCon

2005-12-07 Thread Sylvain Wallez

Hi all,

I was contacted recently by Martin Cooper, Struts PMC chair -- yikes! 
:-) -- that happens to know quite well the people behind DojoToolkit, 
and we chatted about the opportunity to have some coordinated effort wrt 
to JavaScript at Apache, both client-side and server-side.


So we've setup a BOF [1] on this subject next Monday at ApacheCon.

Interested people are warmly invited to join!

Sylvain

[1] http://wiki.apache.org/apachecon/BirdsOfaFeather

--
Sylvain WallezAnyware Technologies
http://bluxte.net http://www.anyware-tech.com
Apache Software Foundation Member Research & Technology Director



Re: [RT] The next shiny thing?

2005-12-07 Thread Joerg Heinicke

On 04.12.2005 17:00, Sylvain Wallez wrote:

Start a whiteboard prototype if you feel like it, but to me it seem 
quite risky to try to rewrite everything from scratch, although I have 
felt the urge myself countless time while struggling with the messy 
internals. But before you go ahead and rewrite everything from 
scratch, take some minutes and read why Joel Spolesky thinks that 
rewriting software from scratch is the:


 *single worst strategic mistake* that any software company can make

http://www.joelonsoftware.com/articles/fog69.html.



Although I most often find Joel Spolsky's writings very enlightning, I 
always disagreed with that one. And to understand why, consider what is 
your main browser and what mail software you used to write this. The 
headers say "User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206)".


IMO Joel mixes two different things in his post: parts of code and a 
complete code base of any software. His samples with string function and 
the "two page function" can probably be refactored without any problem 
and he is absolutely right about not just throwing it away. But it might 
be very different for complete code bases. How many of these "bug fixes" 
in the code base are for fixing obsolete things (e.g. Netscape's way of 
rendering HTML following the standards not that well)? And also what's 
the effort of getting such a code base refactored in comparison to its 
rewriting - including the maintenance phase, fixing of bugs should be 
much easier than before.


Now what about Cocoon? Is Cocoon a 500.000 LOC beast which can not be 
refactored or maintained? Or is Cocoon more or less a collection of many 
components? IMO it is the latter and we should follow Marc's proposal of 
separating these components into layers. The effort should not be that 
high to this in an incremental way instead of starting from scratch.


Jörg


Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Berin Loritsch

Aurélien DEHAY wrote:


Hello.

Sorry for the intervention of a non-dev on the dev list, but shouldn't 
this question be asked on the user mailing list?



:) Yes and no.  Check this article out for more information:
http://headrush.typepad.com/creating_passionate_users/2005/09/listening_to_us.html

In all honesty, while we are day dreaming about our vision we don't 
necessarily want to alarm users or generate too much noise on the user list.


However, since you are on this list, your input is valued if you have any.



Re: An entirely new beast

2005-12-07 Thread Antonio Gallardo

Ralph Goers wrote:


Ugo Cei wrote:



Il giorno 07/dic/05, alle ore 15:28, Vadim Gritsenko ha scritto:

Cocoon NG is nice, even too nice. Cocoon NT or Cocoon XP are much  
better. No chance that it could be released without renaming.




Hmmm ... maybe Cocoon 360? ;-)

Ugo



MS Cocoon


:-) Yep. Note there is no innovation at all (Cocoon 360 --> xbox 360 --> 
IBM 360).

(Sorry for not being clear in the first mail) :-S

Best Regards,

Antonio Gallardo.


Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Aurélien DEHAY

Hello.

Sorry for the intervention of a non-dev on the dev list, but shouldn't 
this question be asked on the user mailing list?


Aurélien


Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Ross Gardler

[X] Mix and match (not as simple, but is status quo with today)

However, to be effective we need  a core development effort, therefore 
the *official* support should be for a limited subset of what is in use 
today:


Javascript + Java

Ross


OT [Re: [Vision] Knowing When We are Done]

2005-12-07 Thread Ross Gardler

Ugo Cei wrote:


Il giorno 07/dic/05, alle ore 11:43, Ross Gardler ha scritto:

Most businesses are made up of common business processes. The odd  one 
will be unique to that business, but most are common. In the  case of 
the unique practices the software needs to be customised,  but in the 
case of common practices an "off-the-shelf" solution is  sufficient.



Sorry but I don't believe this dream of high-level, off-the-shelf,  
customizable components will ever come to fruition, Cocoon or not. On  
this point, I agree with Dan Creswell [1]:


"All attempts at creating high-level business components that can be  
re-used and re-configured have failed previously. This failure has  not 
been for technical reasons - it happens because the requirements  that 
yielded the original component interface were sufficiently  different 
from the new requirements so as to require re-writing  massive chunks of 
functionality."


And David Heinemeier Hansson as well [2]:

"On the surface, the dream of components sounds great and cursory  
overviews of new projects also appear to be "a perfect fit". But they  
never are. Reuse is hard. Parameterized reuse is even harder. And in  
the end, you're left with all the complexity of a swiss army knife  that 
does everything for no one at great cost and pain."


Off Topic now, but I can't resist...

I agree with both of these quotes 100%. In fact, my academic blue sky 
work, in my "previous life", addressed *exactly* the problems identified 
within the above quotes. It's all to do with the size of the component 
base (not the ease of configurability), the ability to identify "good 
enough" components and the ease of building a custom component when 
there is no suitable off-the-shelf component. That's why Cocoon can be 
applied succesfully in this area, it has the potential to be a very 
powerful web platform.


Therefore, for now, I agree that to be useful Cocoon has to be an easy 
to use web-development framework. Without that, there is no point in me 
carrying on - so I won't (yet)


Ross


[1]: http://jroller.com/page/dancres/20050218#soa_doomed
[2]: http://www.loudthinking.com/arc/000407.html







Re: [Vision] Knowing When We are Done

2005-12-07 Thread Ross Gardler

Mats Norén wrote:

Ross Gardler wrote:


Bertrand Delacretaz wrote:


Le 7 déc. 05, à 09:10, Ross Gardler a écrit :

...I envision being able to build a Cocoon application by saying 
"given these input types, I want this output type" and to have the 
resulting application automatically tested against my test inputs...





Not sure if I understand what you mean, could you give an example?




Most businesses are made up of common business processes. The odd one 
will be unique to that business, but most are common. In the case of 
the unique practices the software needs to be customised, but in the 
case of common practices an "off-the-shelf" solution is sufficient.


Each common practice has a set of inputs, a set of intermediate states 
and a set of outputs. If the new Cocoon provides a series of 
components for transforming from an input to an ouput we can use these 
components to build complete applications.


Here's a simple example:

Inputs:
- purchase order

Intermediate Docs:
- customer details
- credit approval
- stock level

Required outputs:
- Invoice
- Packing slip

It is possible to describe this process as a series of components, 
i.e. to get from a "purchase order" document to a "customer details" 
document use component ABC, to get from a "purchase order" to a 
"credit approcal" use component XYZ etc.


It is possible to automate the discovery of these components and thus 
to automatically configure an application to move from document A to 
document B.



This seem a lot like the concepts of an ESB, someone mentioned 
ServiceMix [www.servicemix.org] in a recent thread. It's an interesting 
vision but is Cocoon NG really going to compete in that arena?


See Daniels recent mail about wanting Cocoon to be a set of components 
that can be used in any context, guided by patterns. That's *exactly* 
what I'm talking about.


When I was first drawn to Cocoon it was a much simpler beast, it was 
still an XML processing framework. We all know what has happened since, 
it's been said many times in this and related threads.


However, when Cocoon was nothing more than a sitemap defining XML 
processing pipelines it was a small step away from being eveything any 
"ESB" today claims to be. "ESB" is only a buzzword, this stuff has been 
around for many years.


Now I'd better stop before I start convincing myself that people will 
find all 600 pages of my PhD interesting ;-)


I'll return to this one day when the vision is settled and in place, and 
I have the time to express it in a reasonably concise RT.


Ross





Re: ajax cform and forms_onsubmitHandlers issues

2005-12-07 Thread Quoin Developers
So the forms_onsubmit() method needs boolean indicator as to whether
the form has already been submitted for server processing (distinct
from an ajax forms submission) to know whether it should process the
onsubmit handlers array. It should no longer simply use the
forms_onsubmtHandlers stack for that indication. When ajax is
submitting the form, maybe it can pass an object to the
forms_onsubmit() indicating that this is an Ajax call.

It would also be nice to have an object to hold all the global forms
variables (so that we could scope them and eventually support mutliple
forms on the same page).

Regards,
Eric


Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Bertrand Delacretaz



[ X] Mix and match (not as simple, but is status quo with today)


Assuming we can move to a componentized Cocoon, the components will be 
usable from both javascript or java.


(or from JRuby for that matter, which is supposed to support Rails [1] 
in a few months ;-)


-Bertrand


[1] http://jruby.sourceforge.net/docs/milestones.shtml


smime.p7s
Description: S/MIME cryptographic signature


Re: An entirely new beast

2005-12-07 Thread Ralph Goers

Ugo Cei wrote:



Il giorno 07/dic/05, alle ore 15:28, Vadim Gritsenko ha scritto:

Cocoon NG is nice, even too nice. Cocoon NT or Cocoon XP are much  
better. No chance that it could be released without renaming.



Hmmm ... maybe Cocoon 360? ;-)

Ugo



MS Cocoon


Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Daniel Fagerstrom
Following the vision that Bertrand and Marc expressed, I'd like to see 
Cocoon becoming less of a xml webapp framework and more of a set of 
reuasble xml webapp components and a set of design patterns. With this I 
measn that you can use the parts of Cocoon that you like, in the way you 
like in your webapp, without having to buy a whole religion.


So following this, the flowscript controller should be less tightly 
integrated than it is today. We have a flowscript servlet that can be 
used stand alone in other projects. When you use it in Cocoon, you just 
inject the Cocoon component model in it and it can call the sitemap 
controller or other controllers through the servlet context (or whatever 
reusable way we come up with).


The Cocoon component model is written in Java and properly POJOfied, so 
it doesn't need to have any JavaScript awareness.


And a JavaFlow controler can work in a similar way. If I understod 
Torsten right, there is allready a JavaFlow servlet.


Given the need for backcompability and the fact that a flowscript 
controller is rather usefull in its own right, for people who happen to 
like JavaScript. It is reasonable that we maintain such a beast during 
the forseeable future. It doesn't have to be part of the core of Cocoon 
though.


--- o0o ---

So given that we factor out the flowscript controller from the core, the 
question is what your question bellow will mean. It will be up to the 
application writer what to use. And hopefully our blocks will take of 
more as more independent projects, that do whatever they find best.


Except for in the CForms block, IIRC, I don't think that we have written 
that much flowscript code that is supposed to be reused. Despite that 
flowscripts have been around for quite a long time.


For the actual core of Cocoon I envision that everything have clean and 
well designed Java interfaces, so that you can develop purely in a Java 
world.


If we build reusable webapps, I would have nothing against focusing on 
Java. And also focusing on Java in the documentation would be Ok for me.


--- o0o ---

But above all I would prefer if we focused on providing a small, clean, 
stable and reusable set of core xml webapp components and leave it to 
the users to do whatever they want with them.


/Daniel

Berin Loritsch wrote:
...

Now, my chief goal and my chief vision for Cocoon is to simplify the 
number of concepts a user has to learn before they are effective with 
Cocoon.  That might mean that we provide JavaScript as the only way to 
interact with the core.  All web applications would be written in 
JavaScript from control to helper functions.  Or all web applications 
would be written in Java from control to helper functions.  It is 
incredibly awkward to mix and match as the default way to do things.  
It is difficult to explain when and where to use which language.  Now, 
for advanced users who don't mind the mix and match, I have no problem 
with having tutorials on how to do that properly.


What's your preference for the vision?

[ ] All web apps written in JavaScript
[ ] All web apps written in pure Java
[ X ] Mix and match (not as simple, but is status quo with today)





Re: An entirely new beast

2005-12-07 Thread Antonio Gallardo

Ugo Cei wrote:



Il giorno 07/dic/05, alle ore 15:28, Vadim Gritsenko ha scritto:

Cocoon NG is nice, even too nice. Cocoon NT or Cocoon XP are much  
better. No chance that it could be released without renaming.



Hmmm ... maybe Cocoon 360? ;-)


Nothing new, no innovation at all. Did we remember IBM 360[1] ;-)

Best Regards,

Antonio Gallardo.

[1] http://www.beagle-ears.com/lars/engineer/comphist/ibm360.htm




Ugo






Re: ajax cform and forms_onsubmitHandlers issues

2005-12-07 Thread Antonio Gallardo

Quoin Developers wrote:


I believe that the source of the problem is cforms.js

cocoon.forms.submitForm = function(element, name) {
...
   forms_onsubmitHandlers = new Array();

Removing the above line seems to solve the problem. Any reason why
that line should be there? Can it be removed?
 

The "forms_onsubmitHandlers" JS variable is an event stack. It allows 
form widgets to register one or more events that are triggered before 
the form is submited.


The original implementation (before AJAX) resets the 
"forms_onsubmitHandlers" variable every time the form need to be 
submited back to the server. It helps to detect if the form was already 
submited by the user. It avoids sending twice the request to the server. 
The trick is: when the user press the 1st time te button it ran all the 
events and reset the "forms_onsubmitHandlers" variable to clean up the 
stack, hence when the user press the second time the button there are no 
more events to call.


The above implementation works pretty well in non-AJAX mode, because 
when the user response came, the page do a full reload and every widget 
is allowed to register again the events it needs.


Unfortunately, this does not work in AJAX mode. This is due the AJAX 
nature. AJAX does not make a full page reload. For this reason, the 
widgets that registered an event and don't came back in a response loos 
the onsubmit event. They don't have the opportunity to register again 
his events on the forms_onsubmitHandlers stack. :-(


WDYT?

Best Regards,

Antonio Gallardo.


Re: Cocoon 2.2 - Build and deployment with Maven2

2005-12-07 Thread Reinhard Poetz

Marc Portier wrote:


Reinhard Poetz wrote:


Today, Jorg and I had a long chat about this. In short, we failed to
find a solution that works with Maven 2 as it is today. The problem is
that Cocoon block requirements have a different purpose than Maven 2
dependencies. Cocoon block requirements desribe what a block needs to
run while Maven 2 dependencies describe what a project needs to compile.
Additionally we want to describe our dependencies as contracts and not
as direct dependencies to a JAR.




how is that different?


well, in Cocoon we don't have "direct" dependencies between blocks. A Cocoon 
block only requires other blocks that implement a certain contract. Have a look 
at this example:


http://apache.org/cocoon/blocks/cob/1.0";
 id="http://cocoon.apache.org/blocks/anyblock/1.0";>

 
  http://cocoon.apache.org/contracts/portal/1.0";
name="portal"
default="http://cocoon.apache.org/blocks/portal/1.0.2";
  />
 



Here the block "http://cocoon.apache.org/blocks/anyblock/1.0"; requires a block 
that implements the contract "http://cocoon.apache.org/contract/portal/1.0";.


One block that obiously implements this contract is 
"http://cocoon.apache.org/blocks/portal/1.0.2";.


Compare this with a Maven project descriptor. There we say which *concrete" 
dependencies (jars, blocks) one project has. In this special case this is a 
block dependency.


> I would guess this just means your 'contract' is available in a separate
> jar/artifact from your implementation?

I'm not sure if I understand completly what you're asking/suggesting here. Do 
you mean that we should make the contract a JAR dependency too?


> is that a constraint that is hard to keep up with?


I'm not sure. I have to think more about it. In any case, having the contracts 
as JAR dependencies is an interesting thought!


--
Reinhard Pötz   Independent Consultant, Trainer & (IT)-Coach
{Software Engineering, Open Source, Web Applications, Apache Cocoon}

   web(log): http://www.poetz.cc



Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Mark Lundquist


On Dec 7, 2005, at 6:23 AM, Berin Loritsch wrote:


[X] Mix and match (not as simple, but is status quo with today)




Re: An entirely new beast

2005-12-07 Thread Berin Loritsch

Ugo Cei wrote:



Il giorno 07/dic/05, alle ore 15:28, Vadim Gritsenko ha scritto:

Cocoon NG is nice, even too nice. Cocoon NT or Cocoon XP are much  
better. No chance that it could be released without renaming.



Hmmm ... maybe Cocoon 360? ;-)



No, CS3 implemented on the cell processor ;P



Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Berin Loritsch
So far it seems as if we are looking at two options:  Pure Java or 
status quo.  And so far we are something along the lines of 2 for Java 
and 2 (possibly 3) for status quo.


Anyone else have input?

Ugo Cei wrote:



Il giorno 07/dic/05, alle ore 15:23, Berin Loritsch ha scritto:


What's your preference for the vision?

[ ] All web apps written in JavaScript
[X ] All web apps written in pure Java
[ ] Mix and match (not as simple, but is status quo with today)



Ugo







Re: An entirely new beast

2005-12-07 Thread Ugo Cei


Il giorno 07/dic/05, alle ore 15:28, Vadim Gritsenko ha scritto:

Cocoon NG is nice, even too nice. Cocoon NT or Cocoon XP are much  
better. No chance that it could be released without renaming.


Hmmm ... maybe Cocoon 360? ;-)

Ugo


--
Ugo Cei
Tech Blog: http://agylen.com/
Open Source Zone: http://oszone.org/
Wine & Food Blog: http://www.divinocibo.it/




Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Ugo Cei


Il giorno 07/dic/05, alle ore 15:23, Berin Loritsch ha scritto:


What's your preference for the vision?

[ ] All web apps written in JavaScript
[X ] All web apps written in pure Java
[ ] Mix and match (not as simple, but is status quo with today)



Ugo


--
Ugo Cei
Tech Blog: http://agylen.com/
Open Source Zone: http://oszone.org/
Wine & Food Blog: http://www.divinocibo.it/




Re: [Vision] Knowing When We are Done

2005-12-07 Thread Ugo Cei


Il giorno 07/dic/05, alle ore 11:43, Ross Gardler ha scritto:

Most businesses are made up of common business processes. The odd  
one will be unique to that business, but most are common. In the  
case of the unique practices the software needs to be customised,  
but in the case of common practices an "off-the-shelf" solution is  
sufficient.


Sorry but I don't believe this dream of high-level, off-the-shelf,  
customizable components will ever come to fruition, Cocoon or not. On  
this point, I agree with Dan Creswell [1]:


"All attempts at creating high-level business components that can be  
re-used and re-configured have failed previously. This failure has  
not been for technical reasons - it happens because the requirements  
that yielded the original component interface were sufficiently  
different from the new requirements so as to require re-writing  
massive chunks of functionality."


And David Heinemeier Hansson as well [2]:

"On the surface, the dream of components sounds great and cursory  
overviews of new projects also appear to be "a perfect fit". But they  
never are. Reuse is hard. Parameterized reuse is even harder. And in  
the end, you're left with all the complexity of a swiss army knife  
that does everything for no one at great cost and pain."


I'd be content if Cocoon was simply a powerful and easy-to-use web  
application development framework.


Ugo

[1]: http://jroller.com/page/dancres/20050218#soa_doomed
[2]: http://www.loudthinking.com/arc/000407.html



--
Ugo Cei
Tech Blog: http://agylen.com/
Open Source Zone: http://oszone.org/
Wine & Food Blog: http://www.divinocibo.it/




Re: An entirely new beast

2005-12-07 Thread Sylvain Wallez

Vadim Gritsenko wrote:

Sylvain Wallez wrote:
In the meantime, what about simply "CoNG", for "Cocoon New 
Generation". This name isn't that nice, which will make us want to 
find something else, but solves the immediate need of having a word 
to designate this new thing without fighting about version numbers, 
separate projects, my name is nicer than yours, etc.


Cocoon NG is nice, even too nice. Cocoon NT or Cocoon XP are much 
better. No chance that it could be released without renaming.


Hehe, that's exactly the idea, just use a dumb name to stop naming 
discussions. We'll see later if it's to be named Cocoon Vista :-P


Sylvain

--
Sylvain WallezAnyware Technologies
http://bluxte.net http://www.anyware-tech.com
Apache Software Foundation Member Research & Technology Director



Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Sylvain Wallez

Berin Loritsch wrote:
In the exchange below I did some creative snipping to emphasize where 
we are not 100% aligned on vision.  Below I will bring out my points, 
knowing that I'm not the guy who sets the tone for Cocoon.


We are collectively setting the tone, and your inputs are very valuable!



I can infer from Sylvain's vision that he sees value in using 
JavaScript on the server as well as on the cient.  And why not?  We 
have the solution already in place.

Yep. Several reasons for this:
- JS provides a more concise writing, which is great when you write the 
glue code of your application,
- my experience is different than yours, as I've seen many people using 
Cocoon being unable to write a Java class but perfectly able to write a 
flowscript to drive page flow, display forms and glue components together.



Now, the Pros of using JavaScript that I can see are as follows:

* Common syntax on server and client
* Easy to use Java objects in JavaScript code
* Easy to add support for continuations

The cons I see are as follows:

* API depends on bound objects (not consistent between client and server)
Yep. Now stuff like JSON [1] can allow for *very* easy client/server 
communications in Ajax scenarios.



* No testing framework for JavaScript Code
People writing Ajax libraries are getting serious about unit tests. Have 
a look at [2] and [3].



* Requires embedding a JavaScript runtime in the server

Rhino will be embedded in JDK 1.6 (or whatever its name)

* We can't use the same debugger in our IDE to step through server 
side JavaScript code

Right.


* No IDE support for JavaScript
There's a JS plugin in Eclipse webtools and the amazing JSEclipse [4] 
that does autocompletion of function and argument names, plus tooltips 
and all that stuff. It even accepts additional completion description 
files that we could generate automatically from the API that we expose 
to the JS engine.



* It's another language to have to learn

Yeah, but a language that many people already now.

The testing framework for JavaScript is easily overcome.  We could 
create something to get that working.  In Java 6 (still being worked 
out) JavaScript is supposed to be embedded into the core, so when the 
IDEs tool for Java 6, my objections involving IDE and debugger will go 
away--but that is a ways off still.  Which leaves us with the API con 
and the learning con.


I will stick to my guns for my belief that JavaScript will fail in its 
mission to bring "less technical" people to work on the server side.  
Less technical people need all the handholding they can get, so 
without IDE support and a well defined API they won't know what to 
do.  That does not mean that JavaScript is evil, or that it doesn't 
have a place on the server or in Cocoon.  I just think we are kidding 
ourselves if we think it will allow less technical people to do a 
programmer's job.


Again, I have seen semi-technical people doing great things with JS. Not 
all the bells and whistles of the full J2EE stack, but some fairly 
advanced stuff they could never have done with only the Java API (nor 
PHP, btw).


So the flow controller is really a place (and the *only* one actually) 
where I value having two implementations, one in Java and one in JS. 
However, these two implementations should really be a very thin layer on 
top of a common controller infrastructure, both to reduce the effort and 
ensure long-term consistency.



What's your preference for the vision?

[ ] All web apps written in JavaScript
[ ] All web apps written in pure Java
[X] Mix and match (not as simple, but is status quo with today)


Sylvain

[1] http://www.crockford.com/JSON/
[2] http://archive.dojotoolkit.org/nightly/testtools/
[3] http://www.edwardh.com/jsunit/
[4] http://www.interaktonline.com/Products/Eclipse/JSEclipse/Overview/

--
Sylvain WallezAnyware Technologies
http://bluxte.net http://www.anyware-tech.com
Apache Software Foundation Member Research & Technology Director



Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Berin Loritsch

Ross Gardler wrote:


Berin Loritsch wrote:

I would argue that what you are talking about is a domain specific 
language in the guise of configuration (just like your hibernate 
descriptors and ant scripts).



Sometimes, DSL's bring many benefits, just consider the sitemap.

Do we want to know more or is this a step too far at this stage of 
discussion? I'm aware that t could go off on a horrible tangent and 
we'll never find the real vision, it may be better for me to bring 
this up again at a more appropriate time, after all its an 
implementation detail.



I think that is enough for this part of the discussion.  I'm just trying 
to help us get aligned at the basic, core level.  Nothing would prevent 
what you want to do in Cocoon.




Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Ross Gardler

Berin Loritsch wrote:

Ralph Goers wrote:

None of these.  I have a vision where the business services are 
implemented in Java, the web application is defined in a stateful flow 
controller (xml config) and the views are generated using pipelines 
with standard components.  So my answer is - No programming language 
on the server, just configuration.


This is what I was getting at with my wish to see apps defined in terms 
of "given this type of input I want this type of output".



Shudder.

That could be a nice add on to Cocoon.  Perhaps a BPL (Business Process 
Language, an XML standard for what you are talking about) application.


In my prototype of such a system I evaluated all the BPL's of the time 
(and have since updated this again). I rejected them all as being far 
too complex, verbose and too much like a full blown programming language.


What I ended up using was XML Pipelines, a very simple language that
covers far more of the required workflows than any of the specific BPL's

Why is this relevant here?

You would be amazed at how many similarities there are between the 
solution I developed and Cocoon (that's why I was drawn to Cocoon in the 
first place).


I would argue that what you are talking about is a domain specific 
language in the guise of configuration (just like your hibernate 
descriptors and ant scripts).


Sometimes, DSL's bring many benefits, just consider the sitemap.

Do we want to know more or is this a step too far at this stage of 
discussion? I'm aware that t could go off on a horrible tangent and 
we'll never find the real vision, it may be better for me to bring this 
up again at a more appropriate time, after all its an implementation detail.


Ross



Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Ralph Goers

Berin Loritsch wrote:


Ralph Goers wrote:

None of these.  I have a vision where the business services are 
implemented in Java, the web application is defined in a stateful 
flow controller (xml config) and the views are generated using 
pipelines with standard components.  So my answer is - No programming 
language on the server, just configuration.




Shudder.

That could be a nice add on to Cocoon.  Perhaps a BPL (Business 
Process Language, an XML standard for what you are talking about) 
application.


I would argue that what you are talking about is a domain specific 
language in the guise of configuration (just like your hibernate 
descriptors and ant scripts).


I'm just talking about using Spring Webflow being called from a JavaFlow 
class.  For my employer I have already written a generic (Cocoon) action 
that can call any business service that is configured, as long as the 
business service follows some simple rules about its input and output. 
Converting that to a Webflow action shouldn't be too much trouble.


Ralph


Re: [Vision] Knowing When We are Done

2005-12-07 Thread Vadim Gritsenko

Berin:

I envision a Cocoon which takes its principle strengths in  
separation of concerns to make developing web applications  easier.  
Modern web applications provide machine-to-machine  communications 
via web services and email as well as various  views into the data.  
I envision a Cocoon that makes Java look  attractive again, proving 
that it is suited for the rapidly  changing web environment.  I 
envision a Cocoon which avoids  configuration where it is 
unnecessary, and instead employs easy  to understand conventions.  I 
envision a Cocon that is able to be  extended using standard Java 
mechanisms such as the JAR services  approach.  I envision a Cocoon 
where I only have to learn Java  and XML to be affective.  I see a 
Cocoon where testing is  embraced, encouraged, and made easy.  I see 
a Cocoon where any  errors/exceptions tell me exactly where the 
problem lies, down to  the source code line--even if that source is 
not Java code.  I  see a Cocoon where the Sitemap is not the 
preferred way to map  URLs to generating content.  I see a cocoon 
where convention  dictates the pipeline.


A note about blocks:  while they *can* be helpful, they are not  
central to my vision.  I am open to them, and if they are a part  of 
Cocoon's future then the following applies: "I see a cocoon  where 
communities can share solutions packaged up in blocks to be  reused 
in other applications".  I'm thinking solutions like user  
authentication, portal support, or other generic solutions.


Sylvain:

I envision a Cocoon where I can use the power of the pipeline  engine 
in almost every environment where there is some XML data to  be 
processed. I envision a Cocoon where people can use a single  unified 
scripting language for both the client and the server. I  envision a 
Cocoon where the expression used to access a given data  is the same 
everywhere. I envision a Cocoon where any change to a  source file, 
even Java, is instantly reflected in my application.


Ross:

I envision a transparent integration of remote resources. I  envision 
a transparent integration of dynamic and static resources.  I envision 
being able to build a Cocoon application by saying  "given these input 
types, I want this output type" and to have the  resulting application 
automatically tested against my test inputs.


Torsten:

Plus I envision to have good testcase coverage for the whole system.  I 
envision to have a clean core that shines through simplicity. I  
envision a non-viral component handling (One word:  AbstractLogEnabled). 
POJOs and factories where feasible. I envision  being able to drop block 
jar into a folder and extend my cocoon's  functionality without 
configuring or doing anything else. (Maybe even  at runtime.) I envision 
a cocoon where flow is not a 2nd class  citizen. I envision a cocoon 
where your components like caches might  persist. I envision log 
messages that are also understandable when  you are not a core 
developer. I envision a cocoon where you have to  write less.


Vadim:

I envision Cocoon where components configurations are consistent (and easy to 
guess), with sensible defaults. I envision good set of test cases running 
nightly which flag any regressions early and those regressions are resolved. 
Solid core with clean interfaces between layers (pipeline engine - sitemap 
machinery - entry points/environments). Easy to read and maintain core 
implementation. Single expression language throughout with unified object model. 
Solidifying existing functionality is prioritized over expanding into new 
territories with quickly hacked-together code. Newly hacked code is prioritized 
to first get it consistent with overall architecture, then functioning right, 
and only then gets bells & whistles. Released CForms.



Vadim

PS Last one is a tease :)


Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Vadim Gritsenko

Berin Loritsch wrote:

What's your preference for the vision?

[ ] All web apps written in JavaScript
[ ] All web apps written in pure Java
[X] Mix and match (not as simple, but is status quo with today)


Vadim


Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Berin Loritsch

Ralph Goers wrote:

None of these.  I have a vision where the business services are 
implemented in Java, the web application is defined in a stateful flow 
controller (xml config) and the views are generated using pipelines 
with standard components.  So my answer is - No programming language 
on the server, just configuration.



Shudder.

That could be a nice add on to Cocoon.  Perhaps a BPL (Business Process 
Language, an XML standard for what you are talking about) application.


I would argue that what you are talking about is a domain specific 
language in the guise of configuration (just like your hibernate 
descriptors and ant scripts).




Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Berin Loritsch

hepabolu wrote:


Berin Loritsch wrote:


What's your preference for the vision?

[ ] All web apps written in JavaScript
[ ] All web apps written in pure Java
[X] Mix and match (not as simple, but is status quo with today)



With Ajax and other bells and whistles on the client side, there will 
always be javascript.



I'm focused on the server side.  I'm not even contesting the client side 
use of javascript.




Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Ralph Goers
None of these.  I have a vision where the business services are 
implemented in Java, the web application is defined in a stateful flow 
controller (xml config) and the views are generated using pipelines with 
standard components.  So my answer is - No programming language on the 
server, just configuration.


Berin Loritsch wrote:


Berin Loritsch wrote:



What's your preference for the vision?

[ ] All web apps written in JavaScript
[X] All web apps written in pure Java
[ ] Mix and match (not as simple, but is status quo with today)







Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread hepabolu

Berin Loritsch wrote:

What's your preference for the vision?

[ ] All web apps written in JavaScript
[ ] All web apps written in pure Java
[X] Mix and match (not as simple, but is status quo with today)


With Ajax and other bells and whistles on the client side, there will 
always be javascript.


Bye, Helma



Re: An entirely new beast

2005-12-07 Thread Vadim Gritsenko

Sylvain Wallez wrote:
In the meantime, what about simply "CoNG", for "Cocoon New Generation". 
This name isn't that nice, which will make us want to find something 
else, but solves the immediate need of having a word to designate this 
new thing without fighting about version numbers, separate projects, my 
name is nicer than yours, etc.


Cocoon NG is nice, even too nice. Cocoon NT or Cocoon XP are much better. No 
chance that it could be released without renaming.


Vadim

(:-P for humor impaired)


Re: [Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Berin Loritsch

Berin Loritsch wrote:



What's your preference for the vision?

[ ] All web apps written in JavaScript
[X] All web apps written in pure Java
[ ] Mix and match (not as simple, but is status quo with today)







[Poll] We need to align on one point (was Re: [Vision] Knowing When We are Done)

2005-12-07 Thread Berin Loritsch
In the exchange below I did some creative snipping to emphasize where we 
are not 100% aligned on vision.  Below I will bring out my points, 
knowing that I'm not the guy who sets the tone for Cocoon.


Torsten Curdt wrote:


Berin:

... I envision a Cocoon which takes its principle strengths in  
separation of concerns to make developing web applications  easier. 
... I envision a Cocoon where I only have to learn Java  and XML to 
be affective. ...




Sylvain:

... I envision a Cocoon where people can use a single  unified 
scripting language for both the client and the server. ...




Torsten:

... I envision a cocoon where flow is not a 2nd class  citizen.



The conflict in vision is actually between Sylvain and I.  OK, conflict 
is a strong word, more like we are not on the same page.  Both Sylvain 
and I are aligned with Torsten, but we most likely have different ideas 
on how to get there.


Bottom line: I am in favor of Java Flow, and avoiding embedding any 
scripting languages in the core.  If you want to add a scripting 
language front end, I would suggest it be an add-on.  Why?  Because it 
both simplifies the design, and it minimizes the number of things the 
user (in my experience it is always a Java developer) has to learn 
before they can be effective.


I can infer from Sylvain's vision that he sees value in using JavaScript 
on the server as well as on the cient.  And why not?  We have the 
solution already in place.


Now, the Pros of using JavaScript that I can see are as follows:

* Common syntax on server and client
* Easy to use Java objects in JavaScript code
* Easy to add support for continuations

The cons I see are as follows:

* API depends on bound objects (not consistent between client and server)
* No testing framework for JavaScript Code
* Requires embedding a JavaScript runtime in the server
* We can't use the same debugger in our IDE to step through server side 
JavaScript code

* No IDE support for JavaScript
* It's another language to have to learn


The testing framework for JavaScript is easily overcome.  We could 
create something to get that working.  In Java 6 (still being worked 
out) JavaScript is supposed to be embedded into the core, so when the 
IDEs tool for Java 6, my objections involving IDE and debugger will go 
away--but that is a ways off still.  Which leaves us with the API con 
and the learning con.


I will stick to my guns for my belief that JavaScript will fail in its 
mission to bring "less technical" people to work on the server side.  
Less technical people need all the handholding they can get, so without 
IDE support and a well defined API they won't know what to do.  That 
does not mean that JavaScript is evil, or that it doesn't have a place 
on the server or in Cocoon.  I just think we are kidding ourselves if we 
think it will allow less technical people to do a programmer's job.


Now, my chief goal and my chief vision for Cocoon is to simplify the 
number of concepts a user has to learn before they are effective with 
Cocoon.  That might mean that we provide JavaScript as the only way to 
interact with the core.  All web applications would be written in 
JavaScript from control to helper functions.  Or all web applications 
would be written in Java from control to helper functions.  It is 
incredibly awkward to mix and match as the default way to do things.  It 
is difficult to explain when and where to use which language.  Now, for 
advanced users who don't mind the mix and match, I have no problem with 
having tutorials on how to do that properly.


What's your preference for the vision?

[ ] All web apps written in JavaScript
[ ] All web apps written in pure Java
[ ] Mix and match (not as simple, but is status quo with today)



Re: [Vision] Knowing When We are Done

2005-12-07 Thread Ugo Cei


Il giorno 07/dic/05, alle ore 10:13, Sylvain Wallez ha scritto:

I was expecting you to also add "I envision a Cocoon where all  
exceptions would be unckecked" :-)


Ça va sans dire. Oh, by the way, how do you expect to be able to  
distribute Cocoon in France now that they are going to outlaw Open  
Source software? ;-)


Ugo

Re: Cocoon 2.2 - Build and deployment with Maven2

2005-12-07 Thread Marc Portier


Reinhard Poetz wrote:
> Today, Jorg and I had a long chat about this. In short, we failed to
> find a solution that works with Maven 2 as it is today. The problem is
> that Cocoon block requirements have a different purpose than Maven 2
> dependencies. Cocoon block requirements desribe what a block needs to
> run while Maven 2 dependencies describe what a project needs to compile.
> Additionally we want to describe our dependencies as contracts and not
> as direct dependencies to a JAR.
> 

how is that different?

I would guess this just means your 'contract' is available in a separate
jar/artifact from your implementation?

is that a constraint that is hard to keep up with?

-marc= (only taking first steps in the maven/block work, so seeking no
more then understanding)
-- 
Marc Portierhttp://outerthought.org/
Outerthought - Open Source, Java & XML Competence Support Center
Read my weblog athttp://blogs.cocoondev.org/mpo/
[EMAIL PROTECTED]  [EMAIL PROTECTED]


Re: An entirely new beast

2005-12-07 Thread Daniel Fagerstrom

Upayavira wrote:
...


So, what I'd propose is we choose another name, and consider it to be a
new subproject of Cocoon. A "new, exciting web development framework
from the people that brought you Apache Cocoon".
 

Right, let us stay above the boring tech talk and focus on finding a new 
name that symbolizes in an accurate and yet engaging way our common, 
deeply felt need for moving beyond the current frustration, towards a 
new, different, bright and sexy future.



And, the existing Cocoon carries on as long as people want and need it.
Maybe 3.0 could still be the OSGi version. It may well still bring huge
benefits to those using the current generation of Cocoon.
 

Great, why choose between focusing on 2.1.x, 2.2, our previous idea 
about 3.0 and the new vision. Lets just have it all.

...


(P.S. If people do agree, I'd say please refrain from providing possible
names at the moment. We can discuss that later. For now, let's see if
people agree with what I am suggesting).
 

I agree, still I can't refrain from suggesting Cocoon Raba Hiff, 
http://asplund.arch.kth.se/~a96_osa/bonk/ptoday.html, as a hommage to a 
great predecesor.


Let us together strive for maximizing the dev-list/cvs-list volume ratio.

/Daniel

[I'm deeply sorry, the voices in my head took control over my writing 
for a short while]




Re: [Vision] Knowing When We are Done

2005-12-07 Thread Mats Norén

Ross Gardler wrote:

Bertrand Delacretaz wrote:


Le 7 déc. 05, à 09:10, Ross Gardler a écrit :

...I envision being able to build a Cocoon application by saying 
"given these input types, I want this output type" and to have the 
resulting application automatically tested against my test inputs...




Not sure if I understand what you mean, could you give an example?



Most businesses are made up of common business processes. The odd one 
will be unique to that business, but most are common. In the case of the 
unique practices the software needs to be customised, but in the case of 
common practices an "off-the-shelf" solution is sufficient.


Each common practice has a set of inputs, a set of intermediate states 
and a set of outputs. If the new Cocoon provides a series of components 
for transforming from an input to an ouput we can use these components 
to build complete applications.


Here's a simple example:

Inputs:
- purchase order

Intermediate Docs:
- customer details
- credit approval
- stock level

Required outputs:
- Invoice
- Packing slip

It is possible to describe this process as a series of components, i.e. 
to get from a "purchase order" document to a "customer details" document 
use component ABC, to get from a "purchase order" to a "credit approcal" 
use component XYZ etc.


It is possible to automate the discovery of these components and thus to 
automatically configure an application to move from document A to 
document B.


This seem a lot like the concepts of an ESB, someone mentioned 
ServiceMix [www.servicemix.org] in a recent thread. It's an interesting 
vision but is Cocoon NG really going to compete in that arena?


Mats


Re: [Vision] Knowing When We are Done

2005-12-07 Thread Ross Gardler

Bertrand Delacretaz wrote:

Le 7 déc. 05, à 09:10, Ross Gardler a écrit :

...I envision being able to build a Cocoon application by saying 
"given these input types, I want this output type" and to have the 
resulting application automatically tested against my test inputs...



Not sure if I understand what you mean, could you give an example?


Most businesses are made up of common business processes. The odd one 
will be unique to that business, but most are common. In the case of the 
unique practices the software needs to be customised, but in the case of 
common practices an "off-the-shelf" solution is sufficient.


Each common practice has a set of inputs, a set of intermediate states 
and a set of outputs. If the new Cocoon provides a series of components 
for transforming from an input to an ouput we can use these components 
to build complete applications.


Here's a simple example:

Inputs:
- purchase order

Intermediate Docs:
- customer details
- credit approval
- stock level

Required outputs:
- Invoice
- Packing slip

It is possible to describe this process as a series of components, i.e. 
to get from a "purchase order" document to a "customer details" document 
use component ABC, to get from a "purchase order" to a "credit approcal" 
use component XYZ etc.


It is possible to automate the discovery of these components and thus to 
automatically configure an application to move from document A to 
document B.


This latter part is, of course very complex and hard to do. I have a 
prototype, written for my PhD about 4 years ago, it's not Cocoon based, 
but has many parallels with both Cocoon and recent discussions regarding 
making Cocoon much easier to use (some info at http://www.saafe.org)


I'm not suggesting we tackle this latter part today. But as part of the 
long term vision it may be interesting.


Ross




Re: An entirely new beast

2005-12-07 Thread Sylvain Wallez

Upayavira wrote:

I've been thinking more about Sylvain's proposal and ideas. And would
like to suggest a way to look at it and see how it fits into the context
of what we already have.

Sylvain is proposing something different, something that is likely to be
almost entirely incompatible with the existing Cocoon. If it is almost
entirely incompatible, how can we think of it as in some way being a
_continuation_ of what we already have?

This, it is _not_ Cocoon 3.0. It is something else.

Thus, I agree with Sylvain that it should have a new name, but think
that Raccoon is a bad one, as it is a play on Cocoon and could never
really be the project's real name. Imagine it, "powered by Apache Cocoon
Raccoon". Hmm.

So, what I'd propose is we choose another name, and consider it to be a
new subproject of Cocoon. A "new, exciting web development framework
from the people that brought you Apache Cocoon".

And, the existing Cocoon carries on as long as people want and need it.
Maybe 3.0 could still be the OSGi version. It may well still bring huge
benefits to those using the current generation of Cocoon.

Thoughts? (Other than "oh no, not another naming discussion!")

Regards, Upayavira

(P.S. If people do agree, I'd say please refrain from providing possible
names at the moment. We can discuss that later. For now, let's see if
people agree with what I am suggesting).
  


The initial RT was more about "enhancements", i.e. I did not write 
explicitely that the amount of changes required to implement them would 
lead to a large or even complete rewrite, even if I was personally 
convinced of it. I wanted to test the waters and see how people would react.


Now it happened that many people agreed that some deep changes were 
needed, and that what I proposed was going in the right direction. While 
some people consider that a revolution is not the way to go, those that 
do agree on the stated goals of simplification, layering, improved 
consistency, etc, and a common vision is currently being built.


So yes, this is something different. Just like Cocoon 2 was also 
different from Cocoon 1. And it will be incompatible with the current 
Cocoon, even if it uses many of its core principles. So do we need a new 
name or a major version number? As I already said, Cocoon suffers from 
its past as a publication framework, and most of the people that never 
used it still consider it so, when we all know that it's really much 
more than this.


So a new name is a way to say to the masses that it's definitely no more 
"just" a publication framework. Now we should not denigrate the current 
Cocoon nor our history. That was the idea behind "Raccoon": used alone, 
it shows its filiation. But it's right that "Cocoon Racoon" really 
sounds awkward.


So as we don't know yet if it will be "Apache Cocoon 3.0", "Apache 
Cocoon FooBar" or "Apache FooBar", let's give it a code name and see 
along the road how we want to name it. Doing a global search/replace to 
change a root package name is an easy thing.


In the meantime, what about simply "CoNG", for "Cocoon New Generation". 
This name isn't that nice, which will make us want to find something 
else, but solves the immediate need of having a word to designate this 
new thing without fighting about version numbers, separate projects, my 
name is nicer than yours, etc.


Sylvain

--
Sylvain WallezAnyware Technologies
http://bluxte.net http://www.anyware-tech.com
Apache Software Foundation Member Research & Technology Director



Re: [Vision] Knowing When We are Done

2005-12-07 Thread Sylvain Wallez

Ugo Cei wrote:


Il giorno 07/dic/05, alle ore 09:40, Torsten Curdt ha scritto:

Plus I envision to have good testcase coverage for the whole system. 
I envision to have a clean core that shines through simplicity. I 
envision a non-viral component handling (One word: 
AbstractLogEnabled). POJOs and factories where feasible. I envision 
being


A-ha! This is a longtime favorite of mine. AbstractLogEnabled must 
DIE, DIE, DIE! ;-)


I was expecting you to also add "I envision a Cocoon where all 
exceptions would be unckecked" :-)


Sylvain

--
Sylvain WallezAnyware Technologies
http://bluxte.net http://www.anyware-tech.com
Apache Software Foundation Member Research & Technology Director



Re: [Vision] Knowing When We are Done

2005-12-07 Thread Ugo Cei


Il giorno 07/dic/05, alle ore 09:40, Torsten Curdt ha scritto:

Plus I envision to have good testcase coverage for the whole  
system. I envision to have a clean core that shines through  
simplicity. I envision a non-viral component handling (One word:  
AbstractLogEnabled). POJOs and factories where feasible. I envision  
being


A-ha! This is a longtime favorite of mine. AbstractLogEnabled must  
DIE, DIE, DIE! ;-)


Ugo

--
Ugo Cei
Tech Blog: http://agylen.com/
Open Source Zone: http://oszone.org/
Wine & Food Blog: http://www.divinocibo.it/




Re: [Vision] Knowing When We are Done

2005-12-07 Thread Torsten Curdt

Berin:

I envision a Cocoon which takes its principle strengths in  
separation of concerns to make developing web applications  
easier.  Modern web applications provide machine-to-machine  
communications via web services and email as well as various  
views into the data.  I envision a Cocoon that makes Java look  
attractive again, proving that it is suited for the rapidly  
changing web environment.  I envision a Cocoon which avoids  
configuration where it is unnecessary, and instead employs easy  
to understand conventions.  I envision a Cocon that is able to be  
extended using standard Java mechanisms such as the JAR services  
approach.  I envision a Cocoon where I only have to learn Java  
and XML to be affective.  I see a Cocoon where testing is  
embraced, encouraged, and made easy.  I see a Cocoon where any  
errors/exceptions tell me exactly where the problem lies, down to  
the source code line--even if that source is not Java code.  I  
see a Cocoon where the Sitemap is not the preferred way to map  
URLs to generating content.  I see a cocoon where convention  
dictates the pipeline.


A note about blocks:  while they *can* be helpful, they are not  
central to my vision.  I am open to them, and if they are a part  
of Cocoon's future then the following applies: "I see a cocoon  
where communities can share solutions packaged up in blocks to be  
reused in other applications".  I'm thinking solutions like user  
authentication, portal support, or other generic solutions.


Sylvain:

I envision a Cocoon where I can use the power of the pipeline  
engine in almost every environment where there is some XML data to  
be processed. I envision a Cocoon where people can use a single  
unified scripting language for both the client and the server. I  
envision a Cocoon where the expression used to access a given data  
is the same everywhere. I envision a Cocoon where any change to a  
source file, even Java, is instantly reflected in my application.


Ross:

I envision a transparent integration of remote resources. I  
envision a transparent integration of dynamic and static resources.  
I envision being able to build a Cocoon application by saying  
"given these input types, I want this output type" and to have the  
resulting application automatically tested against my test inputs.


Torsten:

Plus I envision to have good testcase coverage for the whole system.  
I envision to have a clean core that shines through simplicity. I  
envision a non-viral component handling (One word:  
AbstractLogEnabled). POJOs and factories where feasible. I envision  
being able to drop block jar into a folder and extend my cocoon's  
functionality without configuring or doing anything else. (Maybe even  
at runtime.) I envision a cocoon where flow is not a 2nd class  
citizen. I envision a cocoon where your components like caches might  
persist. I envision log messages that are also understandable when  
you are not a core developer. I envision a cocoon where you have to  
write less.


cheers
--
Torsten


PGP.sig
Description: This is a digitally signed message part


Re: [Vision] Knowing When We are Done

2005-12-07 Thread Bertrand Delacretaz

Le 7 déc. 05, à 09:10, Ross Gardler a écrit :
...I envision being able to build a Cocoon application by saying 
"given these input types, I want this output type" and to have the 
resulting application automatically tested against my test inputs...


Not sure if I understand what you mean, could you give an example?

-Bertrand


smime.p7s
Description: S/MIME cryptographic signature


Re: [Vision] Knowing When We are Done

2005-12-07 Thread Ross Gardler

Sylvain Wallez wrote:

Berin Loritsch wrote:

In all the talks of redesign or not, there has been a recurring 
question as to the vision.  Sylvain has outlined some things that he 
would like to see, but they really don't constitute a vision.  They 
are a nice list of improvements, but they aren't a vision.  In my 
experience the best visions really don't have to do with features and 
improvements, but with what we expect to be able to do with Cocoon.  
We need to be able to put our vision statement in one or two 
paragraphs, and it needs to convey a little more than technology.  
Visions contain emotional content as well.


There are two kinds of visions.  One is the kind that you use to 
attract users, "Oh, that's what I need and they approach things the 
way I expect".  That's the kind that ends up on the front page.  Then 
there's the kind of vision that explains how you think something 
should be done.  Kind of like a how-to that describes what _should_ be 
instead of what is the case.  It has to be something exciting, 
something that people can get behind.


Now, whether we are talking about evolutionary change or revolutionary 
change, we need to have a common vision.  How else will we ensure the 
transition goes as smoothly as possible?  Good foundational principles 
of modern software development are just side issues.  Let's take a 
look at what we want Cocoon to be.  Below is my vision, which I hope 
starts discussion.  We can start consolditing the common points once 
people post their visions.  Let's gather the information, and then see 
if we can look at some commonalities and think a little outside the 
box to make as many of us happy as is practical.



Berin's Vision


I envision a Cocoon which takes its principle strengths in separation 
of concerns to make developing web applications easier.  Modern web 
applications provide machine-to-machine communications via web 
services and email as well as various views into the data.  I envision 
a Cocoon that makes Java look attractive again, proving that it is 
suited for the rapidly changing web environment.  I envision a Cocoon 
which avoids configuration where it is unnecessary, and instead 
employs easy to understand conventions.  I envision a Cocon that is 
able to be extended using standard Java mechanisms such as the JAR 
services approach.  I envision a Cocoon where I only have to learn 
Java and XML to be affective.  I see a Cocoon where testing is 
embraced, encouraged, and made easy.  I see a Cocoon where any 
errors/exceptions tell me exactly where the problem lies, down to the 
source code line--even if that source is not Java code.  I see a 
Cocoon where the Sitemap is not the preferred way to map URLs to 
generating content.  I see a cocoon where convention dictates the 
pipeline.


A note about blocks:  while they *can* be helpful, they are not 
central to my vision.  I am open to them, and if they are a part of 
Cocoon's future then the following applies: "I see a cocoon where 
communities can share solutions packaged up in blocks to be reused in 
other applications".  I'm thinking solutions like user authentication, 
portal support, or other generic solutions.


-

That's my vision.  What's yours?  How much overlap is there?  Let's 
start this discussion, I think we will be pleasantly surprised how 
close many of us are with where we want Cocoon to go.



Oh yes, we are close.

To all the above, add the following: I envision a Cocoon where I can use 
the power of the pipeline engine in almost every environment where there 
is some XML data to be processed. I envision a Cocoon where people can 
use a single unified scripting language for both the client and the 
server. I envision a Cocoon where the expression used to access a given 
data is the same everywhere. I envision a Cocoon where any change to a 
source file, even Java, is instantly reflected in my application.


Whilst I agree with everything above I feel they are too focused on the 
developer side of things. Here are a couple of additions from the 
perspective of the end user:


I envision a transparent integration of remote resources. I envision a 
transparent integration of dynamic and static resources. I envision 
being able to build a Cocoon application by saying "given these input 
types, I want this output type" and to have the resulting application 
automatically tested against my test inputs.


Ross


Re: dealing with log messages from ehcache

2005-12-07 Thread Torsten Curdt

That certainly does help to explain the difference
in log-levels. Thanks Carsten.

Someone should document that :-)

The original problem still remains. How does Cocoon
manage to get logkit to handle the ehcache messages,
whereas with Forrest they come to the console?


IIRC the integration with JCL was broken and Sylvain
fixed it in trunk.

cheers
--
Torsten



PGP.sig
Description: This is a digitally signed message part