Re: CForms stabilization tasks (was Re: Marking cforms stable in 2.1.8)

2005-06-10 Thread Leszek Gawron

Sylvain Wallez wrote:

Paul Crabtree wrote:


Hi, i've just finished quite a large cocoon site using 2.1.7 with
Forms V3. We choose this version for two reasons:

1. At the time i couldnt find much info on the different versions or
why they were there so assumed V3 meant it was more mature and the
latest.
 



Well, yes, the latest, but the youngest and therefore not the more 
mature :-)



2. showForm() in V3 offers the ability to send viewData


V1 does also

and declare a function for execution after the form has been shown 
each time.




V1 does also, allowing two functions to handle the iterative nature of 
showForm: one after the page has been displayed (for cleanup) and one 
when the browser submits the form (for restoring).



V2
allows a function but no viewData and V1 allows viewData but no
function (i think). We therefore felt V3 had a richer, more flexible
JS API and we thought we were going to need the function and viewData
for our project.
 



Ok. So the good news is that V1 does all what you need and more !
IIRC only one implementation handles javascript event handlers 
(form.widget.onValueChanged = function() { } or something ). I do not 
have a cocoon checkout on this station so I cannot check. Is it still so?


--
Leszek Gawron  [EMAIL PROTECTED]
Project ManagerMobileBox sp. z o.o.
+48 (61) 855 06 67  http://www.mobilebox.pl
mobile: +48 (501) 720 812   fax: +48 (61) 853 29 65


smime.p7s
Description: S/MIME Cryptographic Signature


Re: CForms stabilization tasks (was Re: Marking cforms stable in 2.1.8)

2005-06-10 Thread Sylvain Wallez

Reinhard Poetz wrote:


Sylvain Wallez wrote:

I personally don't use v2 nor v3. People using it are invited to 
speak up!



You answered the question in your summary of the last year GT 
Hackathon discussion about cforms 
(http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=109774752401800&w=2) 
yourself:


[...]
- don't use JS wrapping classes for widgets: they introduce 
yet-another-API which is sometimes confusing.
- update the widgets' java public API so that it's more 
"Rhino-friendly" (check JavaBean conformance and add accessors where 
needed)



So this speaks for a removal of form.model...


- implement an equivalent to the bookmark feature of V2, by a function
property of the form that gets called at each request roundtrip



Done: see cleanupHook and restoreHook in Form.js


- add helper methods to the Form class to create event listeners from JS
functions



Can be done quickly, and doesn't prevent marking state stable as it will 
be an addition


- restrict the "cocoon" object that's available in the event handlers 
so that it does not provide response-related methods (sendPage etc)



To be done.

Sylvain

--
Sylvain WallezAnyware Technologies
http://apache.org/~sylvainhttp://anyware-tech.com
Apache Software Foundation Member Research & Technology Director



Re: CForms stabilization tasks (was Re: Marking cforms stable in 2.1.8)

2005-06-10 Thread Sylvain Wallez

Paul Crabtree wrote:


Hi, i've just finished quite a large cocoon site using 2.1.7 with
Forms V3. We choose this version for two reasons:

1. At the time i couldnt find much info on the different versions or
why they were there so assumed V3 meant it was more mature and the
latest.
 



Well, yes, the latest, but the youngest and therefore not the more 
mature :-)



2. showForm() in V3 offers the ability to send viewData


V1 does also


and declare a function for execution after the form has been shown each time.



V1 does also, allowing two functions to handle the iterative nature of 
showForm: one after the page has been displayed (for cleanup) and one 
when the browser submits the form (for restoring).



V2
allows a function but no viewData and V1 allows viewData but no
function (i think). We therefore felt V3 had a richer, more flexible
JS API and we thought we were going to need the function and viewData
for our project.
 



Ok. So the good news is that V1 does all what you need and more !

Sylvain

--
Sylvain WallezAnyware Technologies
http://apache.org/~sylvainhttp://anyware-tech.com
Apache Software Foundation Member Research & Technology Director



Re: CForms stabilization tasks (was Re: Marking cforms stable in 2.1.8)

2005-06-10 Thread Paul Crabtree
Hi, i've just finished quite a large cocoon site using 2.1.7 with
Forms V3. We choose this version for two reasons:

1. At the time i couldnt find much info on the different versions or
why they were there so assumed V3 meant it was more mature and the
latest.

2. showForm() in V3 offers the ability to send viewData and declare a
function for execution after the form has been shown each time. V2
allows a function but no viewData and V1 allows viewData but no
function (i think). We therefore felt V3 had a richer, more flexible
JS API and we thought we were going to need the function and viewData
for our project.

Hope this helps.

Paul



On 6/10/05, Reinhard Poetz <[EMAIL PROTECTED]> wrote:
> Sylvain Wallez wrote:
> 
> > I personally don't use v2 nor v3. People using it are invited to speak up!
> 
> You answered the question in your summary of the last year GT Hackathon
> discussion about cforms
> (http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=109774752401800&w=2) 
> yourself:
> 
> [...]
> - don't use JS wrapping classes for widgets: they introduce
> yet-another-API which is sometimes confusing.
> - update the widgets' java public API so that it's more "Rhino-friendly"
> (check JavaBean conformance and add accessors where needed)
> - implement an equivalent to the bookmark feature of V2, by a function
> property of the form that gets called at each request roundtrip
> - add helper methods to the Form class to create event listeners from JS
> functions
> - restrict the "cocoon" object that's available in the event handlers so
> that it does not provide response-related methods (sendPage etc)
> [...]
> 
> --
> Reinhard Pötz   Independent Consultant, Trainer & (IT)-Coach
> 
> {Software Engineering, Open Source, Web Applications, Apache Cocoon}
> 
> web(log): http://www.poetz.cc
> 
>


Re: CForms stabilization tasks (was Re: Marking cforms stable in 2.1.8)

2005-06-09 Thread Reinhard Poetz

Sylvain Wallez wrote:


I personally don't use v2 nor v3. People using it are invited to speak up!


You answered the question in your summary of the last year GT Hackathon 
discussion about cforms 
(http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=109774752401800&w=2) yourself:


[...]
- don't use JS wrapping classes for widgets: they introduce
yet-another-API which is sometimes confusing.
- update the widgets' java public API so that it's more "Rhino-friendly"
(check JavaBean conformance and add accessors where needed)
- implement an equivalent to the bookmark feature of V2, by a function
property of the form that gets called at each request roundtrip
- add helper methods to the Form class to create event listeners from JS
functions
- restrict the "cocoon" object that's available in the event handlers so
that it does not provide response-related methods (sendPage etc)
[...]

--
Reinhard Pötz   Independent Consultant, Trainer & (IT)-Coach 


{Software Engineering, Open Source, Web Applications, Apache Cocoon}

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



Re: CForms stabilization tasks (was Re: Marking cforms stable in 2.1.8)

2005-06-09 Thread Reinhard Poetz

Mark Lundquist wrote:


On Jun 9, 2005, at 1:48 AM, Sylvain Wallez wrote:

I personally don't use v2 nor v3. People using it are invited to speak 
up!



I have a few Cocoon projects, and I use v2 in all but one of them (the 
oldest one)!


Can you give a short explanation on the reasons for using v2 instead of v1?

--
Reinhard Pötz   Independent Consultant, Trainer & (IT)-Coach 


{Software Engineering, Open Source, Web Applications, Apache Cocoon}

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



Re: CForms stabilization tasks (was Re: Marking cforms stable in 2.1.8)

2005-06-09 Thread Mark Lundquist


On Jun 9, 2005, at 1:48 AM, Sylvain Wallez wrote:

I personally don't use v2 nor v3. People using it are invited to speak 
up!


I have a few Cocoon projects, and I use v2 in all but one of them (the 
oldest one)!


cheers, :-)
—ml—



Re: CForms stabilization tasks (was Re: Marking cforms stable in 2.1.8)

2005-06-09 Thread Leszek Gawron

Sylvain Wallez wrote:

I could give it a shot but I have no deeper knowledge of cocoon.xconf 
syntax in this case. Do we have to make every widget a component? That 
doesn't feel right.




Nono, what I'm talking about is the various subcontainers that exist in 
CForms, such as   and 
 and move one level up the components they define.

A question. Right now it looks like this:

  

  src="org.apache.cocoon.forms.formmodel.FormDefinitionBuilder"/>
  src="org.apache.cocoon.forms.formmodel.FieldDefinitionBuilder"/>
  src="org.apache.cocoon.forms.formmodel.GroupDefinitionBuilder"/>

  

why was widget definition builder selector implemented as 
SimpleServiceSelector and not as DefaultServiceSelector in first place?




So this changes nothing to the architecture and the existing components, 
but will lead to small changes in the configuration.


--
Leszek Gawron  [EMAIL PROTECTED]
IT Manager MobileBox sp. z o.o.
+48 (61) 855 06 67  http://www.mobilebox.pl
mobile: +48 (501) 720 812   fax: +48 (61) 853 29 65


Re: CForms stabilization tasks (was Re: Marking cforms stable in 2.1.8)

2005-06-09 Thread Sylvain Wallez

Leszek Gawron wrote:


Sylvain Wallez wrote:



The main points to achieve stable state are:
1 - remove v2 and v3 apis


I assume there are some features that we would like to port back to 
v1. Could we identify them?



I personally don't use v2 nor v3. People using it are invited to speak up!


2 - decide if we keep "form.model" and its specific JS api


Nearly all of my projects are based on that functionality. Probably 
there are a lot of guys like me out there who found that functionality 
semi-stable.



Hehe, I was expecting such reactions :-)

See my answer to point 3 below regarding this.


3 - make the API more bean and template friendly, as discussed recently


We can omit that for now - this has got nothing to do with public 
interfaces IMO. After the fix in JXTG jx-macros.xml are performant 
enough to release them as stable.



Yes it has to do with public interfaces. For example, having 
Widget.getChildren() returning a Map can allow expressions such as 
"form.children.firstName.value".


And this notation makes IMO form.model far less useful, as it allows a 
compact dotted notation (yes, with an additional "children") without 
hiding the widget API as form.model does.


4 - consider the cforms expression language which is different from 
other ELs used throughout Cocoon (use in fd:assert validator but also 
other less known places)


Can we use Rhino expressions? It would be consistent with binding 
language.



Yes. With the refactored script-friendly API, this allows an overall 
consistency.


5 - flatten the configuration to allow for easier extension with the 
xconf include mechanism in 2.2


I could give it a shot but I have no deeper knowledge of cocoon.xconf 
syntax in this case. Do we have to make every widget a component? That 
doesn't feel right.



Nono, what I'm talking about is the various subcontainers that exist in 
CForms, such as   and 
 and move one level up the components they define.


So this changes nothing to the architecture and the existing components, 
but will lead to small changes in the configuration.


Other pending changes are enhancements and new features rather that 
backwards incompatible changes.


How does this sound?


Fixable quite fast. Is there any official date that we aim to relase 
2.1.8?



None that I know of. ApacheCon is not far and is the occasion to do some 
collective high-bandwidth work. So end of July?


Sylvain

--
Sylvain WallezAnyware Technologies
http://apache.org/~sylvainhttp://anyware-tech.com
Apache Software Foundation Member Research & Technology Director



RE: CForms stabilization tasks (was Re: Marking cforms stable in 2.1.8)

2005-06-09 Thread Bart Molenkamp


> -Oorspronkelijk bericht-
> Van: Leszek Gawron [mailto:[EMAIL PROTECTED]
> 
> > 5 - flatten the configuration to allow for easier extension with the
> > xconf include mechanism in 2.2
> I could give it a shot but I have no deeper knowledge of cocoon.xconf
> syntax in this case. Do we have to make every widget a component? That
> doesn't feel right.
> 

Every widget is created from a WidgetDefinition, and every
WidgetDefinition is build by a WidgetDefinitionBuilder. These builders
are setup as components, and from there it's the builders, and the
definitions that determine how a specific widget should be setup. So not
every widget will be a component. 

I think sylvain means that users can easily add their builders etc (not
just for widgets, but also for bindings, or maybe datatypes, or
convertors, or...) to the forms configuration.

Bart.



Re: CForms stabilization tasks (was Re: Marking cforms stable in 2.1.8)

2005-06-09 Thread Leszek Gawron

Sylvain Wallez wrote:

Ralph Goers wrote:



The bottom line is you cannot have code sitting around forever telling 
people its great but you have to use it at your own risk cause we 
might change it anytime we feel like it.  This has just been going on 
for far too long.  The code is never going to be perfect.




I hear you Ralph. And my impression is that we've become shy about 
modifying this API although it is considering unstable. There are things 
that must be done though, even if as you say the result is never perfect.


The main points to achieve stable state are:
1 - remove v2 and v3 apis
I assume there are some features that we would like to port back to v1. 
Could we identify them?



2 - decide if we keep "form.model" and its specific JS api
Nearly all of my projects are based on that functionality. Probably 
there are a lot of guys like me out there who found that functionality 
semi-stable.



3 - make the API more bean and template friendly, as discussed recently
We can omit that for now - this has got nothing to do with public 
interfaces IMO. After the fix in JXTG jx-macros.xml are performant 
enough to release them as stable.


4 - consider the cforms expression language which is different from 
other ELs used throughout Cocoon (use in fd:assert validator but also 
other less known places)

Can we use Rhino expressions? It would be consistent with binding language.

5 - flatten the configuration to allow for easier extension with the 
xconf include mechanism in 2.2
I could give it a shot but I have no deeper knowledge of cocoon.xconf 
syntax in this case. Do we have to make every widget a component? That 
doesn't feel right.


Other pending changes are enhancements and new features rather that 
backwards incompatible changes.


How does this sound?

Fixable quite fast. Is there any official date that we aim to relase 2.1.8?

--
Leszek Gawron  [EMAIL PROTECTED]
IT Manager MobileBox sp. z o.o.
+48 (61) 855 06 67  http://www.mobilebox.pl
mobile: +48 (501) 720 812   fax: +48 (61) 853 29 65


CForms stabilization tasks (was Re: Marking cforms stable in 2.1.8)

2005-06-08 Thread Sylvain Wallez

Ralph Goers wrote:



The bottom line is you cannot have code sitting around forever telling 
people its great but you have to use it at your own risk cause we 
might change it anytime we feel like it.  This has just been going on 
for far too long.  The code is never going to be perfect.



I hear you Ralph. And my impression is that we've become shy about 
modifying this API although it is considering unstable. There are things 
that must be done though, even if as you say the result is never perfect.


The main points to achieve stable state are:
1 - remove v2 and v3 apis
2 - decide if we keep "form.model" and its specific JS api
3 - make the API more bean and template friendly, as discussed recently
4 - consider the cforms expression language which is different from 
other ELs used throughout Cocoon (use in fd:assert validator but also 
other less known places)
5 - flatten the configuration to allow for easier extension with the 
xconf include mechanism in 2.2


Other pending changes are enhancements and new features rather that 
backwards incompatible changes.


How does this sound?

Sylvain

--
Sylvain WallezAnyware Technologies
http://apache.org/~sylvainhttp://anyware-tech.com
Apache Software Foundation Member Research & Technology Director