[jira] Created: (COCOON-1853) blocks-tobeconverted

2006-05-23 Thread Ben Pope (JIRA)
blocks-tobeconverted


 Key: COCOON-1853
 URL: http://issues.apache.org/jira/browse/COCOON-1853
 Project: Cocoon
Type: Bug

  Components: Blocks: Validation  
Versions: 2.1.10-dev (current SVN)
Reporter: Ben Pope


Moving blocks-tobeconverted, breaks the svn:external in 2.1 dev.

Also, removing WEB-INF also breaks it, and I don't think the samples are quite 
right, either.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Commented: (COCOON-1838) Always use 3-digit version number

2006-05-17 Thread Ben Pope (JIRA)
[ 
http://issues.apache.org/jira/browse/COCOON-1838?page=comments#action_12412136 
] 

Ben Pope commented on COCOON-1838:
--

A while go I had a look at all the pom files, but I wasn't entirely sure how 
they worked with respect to the missing version numbers, you've just clarified 
that.

I have to say that I didn't see any 1 digit version numbers that were not just 
listing other modules, so I think it's fair to close this issue on that basis.

I do recall seeing some 2 digit version numbers, so it migth be worth checking 
for those and fixing them.

 Always use 3-digit version number
 -

  Key: COCOON-1838
  URL: http://issues.apache.org/jira/browse/COCOON-1838
  Project: Cocoon
 Type: Improvement

   Components: - Build System: Maven
 Versions: 2.2-dev (Current SVN)
 Reporter: Ben Pope
 Priority: Trivial
  Attachments: version.patch

 Continuing the theme of Carsten in commit 394739
 (This sits on top of my other patch JIRA 1837, so 1 or two files might fail 
 if that one is not commited)
 License granted to ASF.
 The patch is essentially a search and replace of 
 version1-SNAPSHOT/version and version1.0-SNAPSHOT/version to 
 version1.0.0-SNAPSHOT/version

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



Re: Running Cocoon in OSGi mode

2006-04-24 Thread Ben Pope
On 24/04/06, Reinhard Poetz [EMAIL PROTECTED] wrote:

 I checked in my changes on cocoon-core. This should solve all the reported
 problems. Could you try it again please?

I get a 404 page, but otherwise everything seems to work.

Ben Pope
--
I'm not just a number. To many, I'm known as a string...


[jira] Commented: (COCOON-1838) Always use 3-digit version number

2006-04-18 Thread Ben Pope (JIRA)
[ 
http://issues.apache.org/jira/browse/COCOON-1838?page=comments#action_12375010 
] 

Ben Pope commented on COCOON-1838:
--

Ah, thats a different story... much harder!

There are a few places where there is a missing groupId or version number 
altogether.  Is there a maven tool that can check these things or summarise?

I thought it would be an easy patch, but I'm mistaken, I don;t have the time 
right now to manually check everything, nor do I know if, for example, minimal 
webapp should be 1 or 1.0.0.

 Always use 3-digit version number
 -

  Key: COCOON-1838
  URL: http://issues.apache.org/jira/browse/COCOON-1838
  Project: Cocoon
 Type: Improvement

   Components: - Build System: Maven
 Versions: 2.2-dev (Current SVN)
 Reporter: Ben Pope
 Priority: Trivial
  Attachments: version.patch

 Continuing the theme of Carsten in commit 394739
 (This sits on top of my other patch JIRA 1837, so 1 or two files might fail 
 if that one is not commited)
 License granted to ASF.
 The patch is essentially a search and replace of 
 version1-SNAPSHOT/version and version1.0-SNAPSHOT/version to 
 version1.0.0-SNAPSHOT/version

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Updated: (COCOON-1837) [lcocoon-licenses] New dependancy on cocoon-licensesbreaks trunk because cocoon-licenses is not a module!

2006-04-17 Thread Ben Pope (JIRA)
 [ http://issues.apache.org/jira/browse/COCOON-1837?page=all ]

Ben Pope updated COCOON-1837:
-

Attachment: legal.patch

Corrects the parent artifactId, grants license to ASF.

 [lcocoon-licenses] New dependancy on cocoon-licensesbreaks trunk because 
 cocoon-licenses is not a module!
 -

  Key: COCOON-1837
  URL: http://issues.apache.org/jira/browse/COCOON-1837
  Project: Cocoon
 Type: Bug

   Components: * Cocoon Core
 Versions: 2.2-dev (Current SVN)
 Reporter: Ben Pope
 Priority: Minor
  Attachments: legal.patch, legal.patch

 The new dependancy on cocoon-licenses breaks because cocoon-licenses is not 
 set to be built.
 Patch attached which creates a pom.xml for commons which includes legal, and 
 adds it as a module for the root pom.ml

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Created: (COCOON-1838) Always use 3-digit version number

2006-04-17 Thread Ben Pope (JIRA)
Always use 3-digit version number
-

 Key: COCOON-1838
 URL: http://issues.apache.org/jira/browse/COCOON-1838
 Project: Cocoon
Type: Improvement

  Components: - Build System: Maven  
Versions: 2.2-dev (Current SVN)
Reporter: Ben Pope
Priority: Trivial
 Attachments: version.patch

Continuing the theme of Carsten in commit 394739

(This sits on top of my other patch JIRA 1837, so 1 or two files might fail if 
that one is not commited)

License granted to ASF.

The patch is essentially a search and replace of version1-SNAPSHOT/version 
and version1.0-SNAPSHOT/version to version1.0.0-SNAPSHOT/version

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



Re: upgrade jakarta-bcel ?

2006-04-11 Thread Ben Pope
On 11/04/06, Torsten Curdt [EMAIL PROTECTED] wrote:
  Rebuilt, and it compiled ok.  I also ran the webapp, and nothing
  spurious happened, but I'm not sure where bcel is used, so I don't
  know if that tested it or not.

 ...at least javaflow uses it.
 Thanks for testing!

Glad to be of service.

Ben Pope
--
I'm not just a number. To many, I'm known as a string...


Re: upgrade jakarta-bcel ?

2006-04-10 Thread Ben Pope
On 10/04/06, Antonio Gallardo [EMAIL PROTECTED] wrote:
 Jorg Heymans escribió:
  Hi,
 
  At the moment we are using jakarta-bcel-20040329.jar . Is there any
  reason not to upgrade to a more recent 5.0 or 5.1 ?
 
 Moving to 5.0 or 5.1 means downgrade.

 http://jakarta.apache.org/bcel/news.html

With a little digging around, 5.2RC1 has recently been released:
http://article.gmane.org/gmane.comp.jakarta.bcel.devel/1052

And they're looking for testers, perhaps it is still time to upgrade?

Ben Pope
--
I'm not just a number. To many, I'm known as a string...


Re: upgrade jakarta-bcel ?

2006-04-10 Thread Ben Pope
On 10/04/06, Antonio Gallardo [EMAIL PROTECTED] wrote:
 Ben Pope escribió:
 
  With a little digging around, 5.2RC1 has recently been released:
  http://article.gmane.org/gmane.comp.jakarta.bcel.devel/1052
 
  And they're looking for testers, perhaps it is still time to upgrade?
 
 Thanks for the link. This link points to the Torsten site in apache. I
 will not consider it an official release until it shows up in the bcel
 main site.

 I guess Jorg is trying to solve maven2 dependencies hell. Using this
 newer release will be the same as the current one for his goal.

Understood, I was pointing out that a newer release is on the horizon,
that it might better prepare cocoon for 5.2 when it does arrive, as
well as providing a testing ground for bcel.

Ben Pope
--
I'm not just a number. To many, I'm known as a string...


Re: upgrade jakarta-bcel ?

2006-04-10 Thread Ben Pope
On 10/04/06, Ben Pope [EMAIL PROTECTED] wrote:
 On 10/04/06, Antonio Gallardo [EMAIL PROTECTED] wrote:
  Ben Pope escribió:
  
   With a little digging around, 5.2RC1 has recently been released:
   http://article.gmane.org/gmane.comp.jakarta.bcel.devel/1052
  
   And they're looking for testers, perhaps it is still time to upgrade?
  
  Thanks for the link. This link points to the Torsten site in apache. I
  will not consider it an official release until it shows up in the bcel
  main site.
 
  I guess Jorg is trying to solve maven2 dependencies hell. Using this
  newer release will be the same as the current one for his goal.

 Understood, I was pointing out that a newer release is on the horizon,
 that it might better prepare cocoon for 5.2 when it does arrive, as
 well as providing a testing ground for bcel.

In case you or anybody else is interested, I downloaded
bcel-5.2rc1.zip, extracted bcel-5.2rc1.jar, ran:
mvn install:install-file -DgroupId=jakarta-bcel
-DartifactId=jakarta-bcel -Dversion=5.2rc1 -Dpackaging=jar
-Dfile=./bcel-5.2rc1.jar

Changed: core/cocoon-core/pom.xml:
Index: pom.xml
===
--- pom.xml (revision 393100)
+++ pom.xml (working copy)
@@ -313,7 +313,7 @@
 dependency
   groupIdjakarta-bcel/groupId
   artifactIdjakarta-bcel/artifactId
-  version20040329/version
+  version5.2rc1/version
 /dependency
 dependency
   groupIdorg.springframework/groupId


Rebuilt, and it compiled ok.  I also ran the webapp, and nothing
spurious happened, but I'm not sure where bcel is used, so I don't
know if that tested it or not.

Ben Pope
--
I'm not just a number. To many, I'm known as a string...


Re: upgrade jakarta-bcel ?

2006-04-10 Thread Ben Pope
On 11/04/06, Antonio Gallardo [EMAIL PROTECTED] wrote:
 Thanks Ben.

 FYI, in xalan, bcel is used for xsltc.

So I guess it's used in cached pipelines, and I guess the default
pipeline is cached, so I guess it was tested ;)

Ben Pope
--
I'm not just a number. To many, I'm known as a string...


[2.2] Webapp

2006-03-16 Thread Ben Pope
Hi everybody,

I've just read the simple release plan, and I feel obliged to make
some comments.

I think the main doubts about the stabilty of trunk is that it isn't
possible to get the samples running.  The only way to solve the
problem of the lack of confidence in trunk is to get the samples
working.  Without the samples, I personally find it very hard to try
2.2, let alone get stuck in proper.

At the moment (well, since I started trying out 2.2 about 6 weeks ago,
up until last weekend) I have not been able to get any samples up and
running, despite following the provided instructions, and this is
forms and templates samples, pretty core stuff I'm sure we're all
agreed.

I hear over and over again how easy it would be to create a script
that copies the blocks over, but I can't do it manually with any
success, so even if I could write the Ant Task, M2 Mojo or whatever, I
doubt I'd succeed.  Nobody has written this script yet.

Don't get me wrong, I think the progress so far is great, I love the
idea of OSGi, Spring, blocks and Maven, and everybody has done a great
job.  However, I think something has gone wrong.  There seems to be
lots of people doing their own thing, everybody insists that that what
they have done doesn't break anything, but I can't make it work.  I'm
pretty sure I'm not alone.

I think there needs to be some effort towards getting the samples back
up and running.  I know, it will divert effort away from your own
projects, but at the moment the lack of samples and working test cases
are now making development harder and introducing more and more
problems.

Can the few people that are able, please consider getting these two
things back up and running, I think that is the only way to prevent
others from wanting to branch trunk, go back to ant, and generally shy
away from development on or with 2.2.

How much effort is really required, when you consider how much gain
can be had in terms of additional help and testing, as well as
everybody working towards the same goal?

Thanks for your time.

Ben Pope
--
I'm not just a number. To many, I'm known as a string...


Re: Using trunk

2006-02-25 Thread Ben Pope
On 25/02/06, Carsten Ziegeler [EMAIL PROTECTED] wrote:
 Carsten Ziegeler schrieb:
  Daniel Fagerstrom wrote:
  So the problems this far seem to be that default types not are handled
  in a back compatible ways for component includes and that components are
  not inherited properly to subsitemaps.
 
  Hopefully Carsten have an idea about what is going on.
 
  I'll have a look at it; I guess the included configs contain own
  definitions for sitemap components which simply overwrite the definition
  of the core and thus they overwrite the default components as well.
 
 I've just committed a fix which should solve this issue.

It seems to fix the first bit of it.

As before I've added the following to the pom:
cocoon-template-impl
cocoon-forms-impl
cocoon-ajax-impl
cocoon-forms-sample
cocoon-ajax-sample

There was no mention in Daniels original post of the requirement to copy:
src/gump/module.xml
to
cocoon-webapp/src/main/webapp/samples/blocks

After that, I could navigate to:
http://localhost:/cocoon-webapp/samples/
which redirects me to:
http://localhost:/cocoon-webapp/samples/blocks/main-samples

Where I see the forms and ajax samples pages.  Clicking on the forms link:
http://localhost:/cocoon-webapp/samples/blocks/forms/
I get:
Type 'jx' does not exist for 'map:generate' at
file:/C:/Development/Java/Cocoon%202.2%20new/cocoon-webapp/src/main/webapp/samples/blocks/forms/sitemap.xmap:126:72

So it appears as though components are still not inherited properly
into sub sitemaps.  (I have copied the cocoon-template stuff into the
WEB-INF/xconf and WEB-INF/sitemap-additions directories

Good work on the defaults though.

Also, is it necessary for me to include forms-impl, ajax-impl and
ajax-samples to the webapp pom?  I would expect that ajax-samples
relies on the former two, and that I would only require to add the
ajax-samples to the pom.  It seems that the pom files for each of
these blocks do not yet include their dependancies, or is that
intentional?

Ben Pope
--
I'm not just a number. To many, I'm known as a string...


svn:externals and https

2006-02-05 Thread Ben Pope
Hi,

On my current connection ot the internet, there is a proxy which
messes with http, to such an extent that it breaks svn.  Thats fine, I
can download trunk through https.  However, it fails on the externals,
since they are http.

I can relocate the directory relating to the external on my local
copy, and download it, but as soon as I update the root, it changes it
back to http and fails.

I don't think I can solve this problem locally, or whether it's
possible to get externals through the same protocol as the main trunk.

Does this affect anybody else?

Ben Pope
--
I'm not just a number. To many, I'm known as a string...


Re: svn:externals and https

2006-02-05 Thread Ben Pope
On 05/02/06, Carsten Ziegeler [EMAIL PROTECTED] wrote:
 Ben Pope schrieb:
 
  On my current connection ot the internet, there is a proxy which
  messes with http, to such an extent that it breaks svn.  Thats fine, I
  can download trunk through https.  However, it fails on the externals,
  since they are http.
 
 Actually this can be considered a bug - the externals should use https in
 order to give us committers an easy way to commit.

 Can you please point out the externals which are wrong?

Well, I can only tell you the first one that fails, but I'm sure there
is more than one.
cocoon-archetypes\cocoon-archetype-core\src\main\resources\archetype-resources\src\main\webapp

Cheers,

Ben Pope
--
I'm not just a number. To many, I'm known as a string...



 Btw, I thought we don't want to use externals anyway, so perhaps moving
 the stuff is the correct way.

 Carsten
 --
 Carsten Ziegeler - Open Source Group, SN AG
 http://www.s-und-n.de
 http://www.osoco.org/weblogs/rael/



[jira] Commented: (COCOON-1734) Forms library not honouring cross-referencing classes

2006-01-25 Thread Ben Pope (JIRA)
[ 
http://issues.apache.org/jira/browse/COCOON-1734?page=comments#action_12364020 
] 

Ben Pope commented on COCOON-1734:
--

Sorry, but it looks like your added methods in Binding.java broke a subclass, I 
get a failed compile (on 2.2):

\cocoon-forms\cocoon-forms-impl\src\main\java\org\apache\cocoon\forms\samples\bindings\CustomValueWrapBinding.java:[29,7]
 org.apache.cocoon.forms.samples.bindings.CustomValueWrapBinding is not 
abstract and does not override abstract method 
setEnclosingLibary(org.apache.cocoon.forms.binding.library.Library) in 
org.apache.cocoon.forms.binding.Binding



 Forms library not honouring cross-referencing classes
 -

  Key: COCOON-1734
  URL: http://issues.apache.org/jira/browse/COCOON-1734
  Project: Cocoon
 Type: Bug
   Components: Blocks: Forms
 Versions: 2.1.8, 2.2-dev (Current SVN), 2.1.9-dev (current SVN)
 Reporter: Jean-Baptiste Quenot
 Assignee: Max Pfingsthorn
  Fix For: 2.2-dev (Current SVN), 2.1.9-dev (current SVN)


 See http://marc.theaimsgroup.com/?l=xml-cocoon-devm=112774826126525w=4
 We also encountered a problem with classes: if a library defines several 
 cross-referencing classes (i.e. class A has a fd:new id=B and class 
 B has a fd:new id=A), then the second fd:new fails because it 
 searches in the current form whereas it should search in the originating 
 definition.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Updated: (COCOON-1734) Forms library not honouring cross-referencing classes

2006-01-25 Thread Ben Pope (JIRA)
 [ http://issues.apache.org/jira/browse/COCOON-1734?page=all ]

Ben Pope updated COCOON-1734:
-

Attachment: CustomValueWrapBinding.diff

I don't know if this is in the spirit of your additions, but it makes it 
compile :)

 Forms library not honouring cross-referencing classes
 -

  Key: COCOON-1734
  URL: http://issues.apache.org/jira/browse/COCOON-1734
  Project: Cocoon
 Type: Bug
   Components: Blocks: Forms
 Versions: 2.1.8, 2.2-dev (Current SVN), 2.1.9-dev (current SVN)
 Reporter: Jean-Baptiste Quenot
 Assignee: Max Pfingsthorn
  Fix For: 2.2-dev (Current SVN), 2.1.9-dev (current SVN)
  Attachments: CustomValueWrapBinding.diff

 See http://marc.theaimsgroup.com/?l=xml-cocoon-devm=112774826126525w=4
 We also encountered a problem with classes: if a library defines several 
 cross-referencing classes (i.e. class A has a fd:new id=B and class 
 B has a fd:new id=A), then the second fd:new fails because it 
 searches in the current form whereas it should search in the originating 
 definition.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



Re: M10N

2006-01-15 Thread Ben Pope
On 15/01/06, Daniel Fagerstrom [EMAIL PROTECTED] wrote:
 Ben Pope skrev:
 
  When Building Cocoon Block Deployer
  I get a compile error:
  java.lang.IllegalStateException: basedir src\main\resources\xsd does not 
  exist

 I get the same error, the directory is there but the castor plugin
 doesn't find it. Hopefully Reinhard can give a better answer on what is
 going on.

At least I'm not going mad.

  I then try to create my own block and webapp using the instructions here:
  http://cocoon.zones.apache.org/daisy/documentation/g2/796.html
  and here:
  http://cocoon.zones.apache.org/daisy/documentation/g2/797.html

 These documents descreibe what we want to achieve rather than what we
 have. So you have either to wait, or get involved ;)

OK, understood.  It might take me a while to catch up, but if there's
anything I can do to help I'll try.  I'll have a look; I'll probably
be more useful in the easy, but time consuming, rather than
complicated stuff ;)

  If the current workaround is to wait 'til it works, then thats ok :P

 You are right about the current workaround. We are making good progress,
 so the waiting will hopefully not be to long.

I can see the good progress and it's very interesting.

 Thanks for being eager to use the new stuff.

...I just wish I understood the implementation more so that I could contribute.

Thanks for your response.

Ben Pope
--
I'm not just a number. To many, I'm known as a string...


M10N

2006-01-14 Thread Ben Pope
Hi,

I am currently unable to get the 2.2 trunk working with maven, as
descibed in the docs.  It might just be that it's broken what with all
the refactoring, I dunno.

I've been following this page:
http://cocoon.zones.apache.org/daisy/documentation/g2/756.html

When Building Cocoon Block Deployer
I get a compile error:
java.lang.IllegalStateException: basedir src\main\resources\xsd does not exist

I can compile successfully if I remove both
modulecocoon-deployer/module
modulecocoon-plugins/module
from the top-level pom.xml

OK, that seems to work and I can successfully run jetty6.

I then try to create my own block and webapp using the instructions here:
http://cocoon.zones.apache.org/daisy/documentation/g2/796.html
and here:
http://cocoon.zones.apache.org/daisy/documentation/g2/797.html

But both fail with a file that cannot be downloaded:
Downloading: 
http://repo1.maven.org/maven2/org/apache/cocoon/block/1.0/block-1.0.jar
[WARNING] Unable to get resource from repository central
(http://repo1.maven.org/maven2)
and
Downloading: 
http://repo1.maven.org/maven2/org/apache/cocoon/webapp/1.0/webapp-1.0.jar
[WARNING] Unable to get resource from repository central
(http://repo1.maven.org/maven2)

Are these things known to be broken?  Whats the current workaround?

If the current workaround is to wait 'til it works, then thats ok :P

Thanks for your time,
Ben Pope.


Re: cocoon-refdoc initial code is in the whiteboard

2005-07-09 Thread Ben Pope

Robert Graham wrote:

I grabbed the trunk off of SVN and the whiteboard and tried to build
this, but it failed trying to build the javadocs and I'm not sure why.
I thought someone might be able to enlighten me.I've got 2.1 running
on the same setup and have no trouble building it. I've edited it for
simplicity as best I can:

BUILD FAILED
{COCOONDIR}\docs-build.xml:57: The following error occurred while
executing this line:
{COCOONDIR}\...\blocks-build.xml:641: Javadoc failed:
java.io.IOException: CreateProcess: {DIR}\...\javadoc.exe -J-Xmx192m
-stylesheetfile {DIR}\...\trunk\src\resources\javadoc\javadoc.css
 -windowtitle Cocoon API 2.2.0-dev [July 9 2005] -splitindex -use -d
{DIR}\...\trunk\build\cocoon\javadocs -doctitle Cocoon API
2.2.0-dev  -classpath {DIR}\...\trunk\tools\lib\ant-contrib-0.6.jar;
DIR\...\trunk\tools\lib\ant-junit.jar; etc.


Last I heard, you can't use the ant build to build the docs in trunk, that 
might have chnged by now.  Just disable the docs to get the rest of cocoon 
built.

Ben


Re: Marking cforms stable in 2.1.8

2005-06-09 Thread Ben Pope

Reinhard Poetz wrote:

Ben Pope wrote:

Yes, I agree.  The question still remains as to who's itch is 
irritating enough.  I also agree that if Cocoon is going to have a 
small core, that ultimately will consist of CForms, JXTemplate (or 
CTemplate?) and, well, core, then it needs to marked stable ASAP.  As 
far as I can tell, much work is being done in the templating areas, 
and CForms is hardly inactive.  



That's not true. cForms is one of the most active developed parts in 
Cocoon.


I think you misread what I wrote.  :-)


To me, it looks like all these things will come together for
2.2, I'm not sure there is enough interest out there to get 2.1 stable.

It looks like the major contributors here see problems and/or 
inconsistancies with the core APIs that they would like fixed for 2.2, 
and that seems to be the primary push here.  I see very little talk of 
the direction for 2.1, it seems that it is already history in the 
minds of many commitors, in many respects.


A lot of people, including committers, are using it in many projects, 
mostly 2.1 (I'm probably the only one who is using it based on 2.2). 
Please read Sylvain's mail 
(http://marc.theaimsgroup.com/?l=xml-cocoon-devm=111826132000272w=2) 
which explains very well why we are hesitating to mark the block as stable.


Yeah, I caught that one just after I posted.

The problem is that the work Sylvain describes doesn't help somebody who 
is already knowing and using Cocoon. *I* know why there are three 
different Flowscript APIs and *I* know what I can use of them and what 
not. *I* also don't have a problem to modify the forms.xconf in the 
future if they change, etc.
Somebody who is not that familiar with Cocoon will get lost, sooner or 
later.


Yes, this is what I understood.  Basically it's going to make life easier in 
the end but break existing stuff meanwhile.

Ben


Re: Unsubscribe

2005-06-09 Thread Ben Pope

Kumar, Kiran wrote:

ubsubscribe


You'd do better looking here:
http://cocoon.apache.org/community/mail-lists.html

And sending the mail to:
mailto:[EMAIL PROTECTED]

Ben


Re: Marking cforms stable in 2.1.8

2005-06-08 Thread Ben Pope

Ralph Goers wrote:
The problem is that we are recommending (and have been recommending) 
CForms as our forms framework for a long time.  Even if you haven't 
marked it stable, it already should be, based upon those recommendations.


Yes, in an ideal world the API would be fixed, but it seems this is not a big 
enough itch for anybody, plus the fact that other things need fixing for it to 
happen.

I would prefer that CForms be marked stable unless the necessary work 
can be done in the next 6 weeks.  Just so you know, I will be requiring 
a stable CForms on the next Cocoon release or I will vote -1.


It makes very little sense to mark it stable without it actually being what is 
generally considered (by this community) as stable.

You might as well just throw away all semantics, I doubt there are many people here who want to release something whose API they know will change, and then have to support it. 
With all due respect, you've been around here long enough to know that you have to scratch your own itches or wait for somebody else to.


Ben


Re: Right word for docs: cachability or cacheability

2005-05-01 Thread Ben Pope
Antonio Gallardo wrote:
Hi,
I found a source that contains both words:
cachability and cacheability I wonder wich one is the right. I guess the
second is the right word. Please english native speakers tell me wich is
the right one. In dictionary.com don't contain none of them and googling
returns hits for both. Only that the first word has less hits than the
2nd. If useful, the word context is:
... this might have issues concerning cachability of the generated output ...
Well I don't think it's a word, although it's obvious what it means.
Perhaps:
Note that this might prevent the generated output of this transformer 
from being cached as the caching algorithm...

Although that probably isn't what is meant.  It's not the cachability 
of the output, it can still be cached, but whether the next request 
matches whats in the cache.

Perhaps:
Note that this has implications for the caching of the output of this 
transformer as the caching algorithm...

WDYT?
Ben Pope.


Re: Right word for docs: cachability or cacheability

2005-05-01 Thread Ben Pope
Antonio Gallardo wrote:
Thanks for the reply. This is the code in question:
http://svn.apache.org/viewcvs.cgi/cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/transformation/TraxTransformer.java?view=markup
Used to generate this doc:
http://cocoon.apache.org/2.1/apidocs/org/apache/cocoon/transformation/TraxTransformer.html
Can you send me a patch for a correct english of this? ;-)
Hehe, and I thought it was on the docs website here:
http://cocoon.apache.org/2.1/userdocs/transformers/xslt-transformer.html
The change is slightly different to what I would apply to the docs, I'm 
sure you can all work it out.

Ben Pope.
Index: TraxTransformer.java
===
--- TraxTransformer.java(revision 165470)
+++ TraxTransformer.java(working copy)
@@ -85,8 +85,8 @@
  * /pre
  *
  * The lt;use-request-parametergt; configuration forces the transformer to 
make all
- * request parameters available in the XSLT stylesheet. Note that this might 
have issues
- * concerning cachability of the generated output of this transformer.br
+ * request parameters available in the XSLT stylesheet. Note that this has 
implications
+ * for caching of the generated output of this transformer.br
  * This property is false by default.
  * p
  * The lt;use-cookiesgt; configuration forces the transformer to make all


Re: Right word for docs: cachability or cacheability

2005-05-01 Thread Ben Pope
Antonio Gallardo wrote:
Can you send me a patch for a correct english of this? ;-)
Apologies...
That last patch was imcomplete.
This covers all instances of cach(e)ability, and replaces a br with a p to 
increase clarity.
Ben Pope.
Index: TraxTransformer.java
===
--- TraxTransformer.java(revision 165470)
+++ TraxTransformer.java(working copy)
@@ -85,13 +85,13 @@
  * /pre
  *
  * The lt;use-request-parametergt; configuration forces the transformer to 
make all
- * request parameters available in the XSLT stylesheet. Note that this might 
have issues
- * concerning cachability of the generated output of this transformer.br
+ * request parameters available in the XSLT stylesheet. Note that this has 
implications
+ * for caching of the generated output of this transformer.br
  * This property is false by default.
  * p
  * The lt;use-cookiesgt; configuration forces the transformer to make all
  * cookies from the request available in the XSLT stylesheetas.
- * Note that this might have issues concerning cachability of the generated 
output of this
+ * Note that this has implications for caching of the generated output of this
  * transformer.br
  * This property is false by default.
  * p
@@ -101,10 +101,10 @@
  * session-id-from-cookie, session-id-from-url, session-valid, session-id.br
  * This property is false by default.
  *
- * pNote that these properties might introduces issues concerning
- * cacheability of the generated output of this transformer.br
+ * pNote that these properties have implications for caching of the generated
+ * output of this transformer.
  *
- *
+ * p
  * The lt;xslt-processor-rolegt; configuration allows to specify the TrAX 
processor (defined in
  * the cocoon.xconf) that will be used to obtain the XSLT processor. This 
allows to have
  * several XSLT processors in the configuration (e.g. Xalan, XSTLC, Saxon, 
...) and choose


Re: Sharing sessions.. change to JDK1.5

2005-04-17 Thread Ben Pope
Kumar, Kiran wrote:
From: Torsten Curdt

The only way to do proper synchronization is synchronize all
access ...or use Dough's concurrent utils (which are now
also part of java 1.5)
 but I am in trouble now as I cannot switch to 1.5 until some more time.

 It might take some time to migrate existing applications to 1.5.

 by the way we deploy the java on websphere  AS400
You can use the concurrent utils without going to java 1.5, as far as I 
know... they are packaged with cocoon now.  But they come as standard 
with java 1.5.

Ben


Re: Sharing sessions.. change to JDK1.5

2005-04-17 Thread Ben Pope
Kumar, Kiran wrote:
does any give me an overview of what exactly I need to on using concurrent
utils to create non-shareable DOM objects
We're probably in the wrong place to be discussing general concurrent 
programming issues.

Try here for a basic guide to the concurrent package:
http://java.sun.com/developer/JDCTechTips/2005/tt0216.html#1
I haven't really been following your thread here as it's not really 
presented in an easy-to-read format, so I'm not sure what you require.

If you want to create a non-shareable DOM object don't give the other 
threads access to it!  If you want to protect it from concurrent access, 
whilst allowing multiple threads to access it, at different times, then 
semaphores are probably what you're after.

Ben


Re: Transparent and automatic AJAX support for CForms

2005-04-16 Thread Ben Pope
Sylvain Wallez wrote:
Hi all,
I've been thinking for a few weeks to add AJAX support to CForms. Ajax 
is the current buzzword in the blogosphere since Google maps [1] started 
and the folks at Adaptivepath found this name for the XmlHttpRequest + 
JS + XML combo [2].
snip/
Two days hacking, most of which dedicated to writing client-side JS and 
solving cross-browser compatibility problems and here we are: adding 
ajax=true on ft:form-template turns on the magic.
snip/
I have turned on ajax mode on the following samples:
- http://localhost:/forms-samples/carselector
- http://localhost:/forms-samples/do-dynaRepeater.flow
- http://localhost:/forms-samples/do-datasourceChooser.flow
- http://localhost:/forms-samples/do-taskTree.flow
snip/
Enjoy,
Sylvain
Well I have only just read this mail, and haven't had a chance to look 
at the samples, but it looks pretty useful to me.  I'll look into it soon.

Nice one Silvain... I'm sure there are others that appreciate this effort.
Ben


Re: Transparent and automatic AJAX support for CForms

2005-04-16 Thread Ben Pope
Sylvain Wallez wrote:
Leszek Gawron wrote:
It looks really promising. I was not able to run the samples. Firefox 
has rendered the retrieved list as text (outside selection widget). IE 
just showed javascript error and did nothing.

Doh! I understand why you say promising :-(
I tested it successfully with Firefox 1.0 on MacOS and Windows and IE 6. 
The behaviour you describe with Firefox is what I had to fight a lot 
with: Node.importNode() effectively imports nodes, but that doesn't mean 
they're considered as HTML nodes, in which case only their text is 
displayed.

If you look at the new DOMUtils.importNode() in the new cforms.js, 
you'll see the quirks I used to workaround this weirdness: use .xml 
and .innerHTML properties with IE, and traverse the node tree for 
other browsers. I'm far from being a JS-on-browsers expert, so that may 
for sure not be the most compatible solution.

Is there something printed in Firefox's JS console, and what is the IE 
error?
I.e. says:
Line: 91
Char: 5
Error: Object doesn't support this property or method.
Code: 0
The line in question:
xmlhttp.open(GET, xhr_cars/ + make.value, true);
Perhaps thats make.value with the problem?

Firefox on Windows doesn't say anything, it's quite happy.
Ben


Re: Transparent and automatic AJAX support for CForms

2005-04-16 Thread Ben Pope
Sylvain Wallez wrote:
This is the XHR-powered carselector Ugo added months ago as a first 
experiment. Try the regular carselector, and also dynamic repeater, 
datasource selector and task tree (right column).
I did wonder, as it wasn't what you'd mentioned.
However, Firefox renders carselector fine, and IE is also quite happy.
The carselector uses form submit onChange, and doesn't need Ajax?  I 
also don't see the need for Ajax in the other samples.

I really need to take a closer look at these samples!
I'll stop with the noise until I've had a closer look.
Ben


Re: JX generates weird NameSpace???

2005-04-16 Thread Ben Pope
Sylvain Wallez wrote:
oceatoon wrote:
Hi everyone
Is anybody aware of such a thing as JX generating a weirds namespaces??
head xmlns:[EMAIL PROTECTED]@#=[EMAIL PROTECTED]@#
weird !! and blocking...g
This seems to happen only on a cforms / jx mixed page, I tested simple 
jx is
ok.
 

Fixed. The problem comes from the fact that including macros starts some 
prefix mappings and ends them with no elements inbetween, and this seems 
to confuse Xalan a lot. This was a blocker for Ajax-in-CForms as 
Firefox's parser was failing on error when encountering this namespace.

I added a o.a.c.xml.RedundantNamespacesFilter class that filters the 
output of JXTG to ensure namespaces are not mulitply declared and that 
empty namespaces scopes are filtered out.
Could this be made into a transformer and still used for it's given purpose?
Or perhaps wrap it with a transformer?
Seems to be that would make a pretty useful transformer... much of what 
I output as xhtml has redundant namespaces and fails validation.

I've had a little look at the source, and it seems that it would not 
require much work to have that as a transformer.

I did give it a go, but didn't know what to put in the setup method and 
wound up with a NPE.

Ben


Re: Proposed fix: crazy infinite loop w/ ft:continuation-id

2005-04-01 Thread Ben Pope
Hi,
I saw that approach in the samples, but thought it would be nice to be 
able to navigate the site passing parameters with POST sometimes, so 
instead I came up with this:

map match ...
   map:select type=request-parameter
  map:parameter name=parameter-name value=continuation-id/
 map:when test={request-param:continuation-id}
map:call continuation={request-param:continuation-id}/
 /map:when
 map:otherwise
map:call function...
If the continuation parameter is not present, the test returns null, and 
goes to otherwise, which calls the form handler.  If the parameter 
exists (regardless of whether GET/POST) it calls the continuation.

Just a thought...
Ben Pope.
Eric E. Meyer wrote:
This is how I work with hidden continuation ids since my form posts.
You can select based upon the request:method - continuing only on POST:
   map:select type=oacl-simple
   map:parameter name=value value={request:method}/
   map:when test=GET
   map:call function=functionName
   map:parameter name=searchType
   value={0} /
   /map:call
   /map:when
   map:when test=POST
   map:call
   continuation={request-param:continuation-id}
   /
   /map:when
   /map:select
Regards,
Eric


Re: [CForms] Repeater: why not hashCode for id?

2005-03-30 Thread Ben Pope
Sylvain Wallez wrote:
No, no identity at all! Since you replay the add/move/delete events, you 
just need to be able to remove/add items at specific positions. That 
means that the underlying collection should be a java.util.list or a dom 
Element.

But actually this can be even simpler and we don't need this 
record/replay thing :-)

Have a look at the dynamic template sample [1] and play with 
add/delete/move actions: each row has an ID which indicates the row's 
creation order. In the case of binding, we won't use exactly use this 
ID, but store in rows the position in the original collection as an 
attribute (e.g. load-position).

When the repeater is saved, with this information it's easy to know 
where and how to bind its rows:
- if the load-position attribute exists, we bind to the corresponding 
object in the original collection,
- if the load-position attribute doesn't exist, that means the row is 
newly created, and we therefore create a new object to save it.

Row moves can be managed either by reordering the original collection or 
by creating a new collection to which objects will be added.

I like this more, and this has the potential to kill both the current 
(complicated) repeater binding and also the simple-repeater binding 
which becomes useless :-)

Sylvain
[1] http://localhost:/samples/blocks/forms/do-dynaRepeater.flow
What if the underlying structure can have different (previous) rows 
removed from it between when you load the model and save it back?

Obviously you would usually lock the back end model, but you should only 
need to lock the rows that you have retrieved, and deal with unique IDs 
in a common manner.

If you're just playing back positions and actions over the model, then 
you prevent simultaneous access to the data.  Either that or you just 
push the complications into the users model.

I suppose you could just tag old rows as dead, instead of removing them. 
 And then clean up when nothing is locked.

Having the identity solved this problem.  Or have I missed something?
Ben


Re: [CForms] Repeater: why not hashCode for id?

2005-03-30 Thread Ben Pope
Sylvain Wallez wrote:
Ben Pope wrote:
Sylvain Wallez wrote:
No, no identity at all! Since you replay the add/move/delete events, 
you just need to be able to remove/add items at specific positions. 
That means that the underlying collection should be a java.util.list 
or a dom Element.

But actually this can be even simpler and we don't need this 
record/replay thing :-)

Have a look at the dynamic template sample [1] and play with 
add/delete/move actions: each row has an ID which indicates the row's 
creation order. In the case of binding, we won't use exactly use this 
ID, but store in rows the position in the original collection as an 
attribute (e.g. load-position).

When the repeater is saved, with this information it's easy to know 
where and how to bind its rows:
- if the load-position attribute exists, we bind to the 
corresponding object in the original collection,
- if the load-position attribute doesn't exist, that means the row 
is newly created, and we therefore create a new object to save it.

Row moves can be managed either by reordering the original collection 
or by creating a new collection to which objects will be added.

I like this more, and this has the potential to kill both the current 
(complicated) repeater binding and also the simple-repeater binding 
which becomes useless :-)

Sylvain
[1] http://localhost:/samples/blocks/forms/do-dynaRepeater.flow

What if the underlying structure can have different (previous) rows 
removed from it between when you load the model and save it back?

Obviously you would usually lock the back end model, but you should 
only need to lock the rows that you have retrieved, and deal with 
unique IDs in a common manner.

If you're just playing back positions and actions over the model, then 
you prevent simultaneous access to the data.  Either that or you just 
push the complications into the users model.

I suppose you could just tag old rows as dead, instead of removing 
them.  And then clean up when nothing is locked.

Having the identity solved this problem.  Or have I missed something?

It all depends if you consider the repeater and the underlying 
collection to be part of the application data model or just a 
convenience container to show a set of independent objects to the user.

If it's a application-level collection, then the repeater should be 
considered just the same as finer-grained objects and locked as a whole, 
or checked for concurrent modification to prevent lost update if locking 
isn't an option.
With the identity mapping, as it is now, it's possible to select a 
subset of the children contained within a node:

fruits
   fruit id=0
  nameApple/name
  colourgreen/colour
   /fruit
   fruit id=1
  nameOrange/name
  colourorange/colour
   /fruit
   fruit id=2
  nameMango/name
  colourorange/colour
   /fruit
fb:reapeater parent-path=fruits row-path=fruit[colour='orange'] 
row-path-insert=fruit

So now I can modify orange fruits without locking apple (or any other 
non-orange fruit).  You could easily modify green fruit, as long as the 
id is being tracked.

If I start modifying orange fruit, then you start modifying green fruit 
by deleting apple, then I save the model back, obviously we have a 
problem as the positions are now off-by-one.  So unless the replaying 
can take into account simultaneous accesses, all of the ones that 
happend since the form was loaded (what if using hibernate!), we've lost 
functionality.

If it's just a holder, then only individual rows are bound and saved to 
the underlying storage. Modified rows lead to an update and new rows 
lead to an insert. There is a problem though for deleted rows as the 
repeater does not track rows that have been deleted (and the 
corresponding IDs). But if the repeater is just a dumb container, 
deletion can occur as soon as the users triggers the delete action.

Does this answer your concerns, or did I missed something also?
I'm concerned that functionality has been lost - perhaps it's bad 
practice to bind directly to the back end model.  Perhaps it should be 
discouraged in favour of having the user always deal with an 
intermediate layer which, for example, uses an identity.  So surely by 
simplifying the repeater, you're just pushing the complicated identity 
stuff to the user?

I know that the repeater is a complicated beast as I've been trying to 
modify it for my own purposes.  I'd love for there to be a much easier 
way of dealing with the binding, I just feel that using the identity is 
a very robust way of doing it and it's better to have it in the binding 
framework than the users code.

Thanks for your time,
Ben.


Re: Couple of tests I ran on Cocoon, VMs and JDKs

2005-03-23 Thread Ben Pope
Stefano Mazzocchi wrote:
Pier Fumagalli wrote:
FYI, might be interesting for the Cocooners out there, as that's what 
I've tested.

http://www.betaversion.org/~pier/wiki/display/pier/32+Versus+64

Interesting.
It would also be kinda cool to have some other data in terms of 
concurrency, you are stressing with 10 threads, but it would be 
interesting to see if the 64bit architecture handles load better or 
worse (don't know why, but it's another axis to consider that you 
haven't in your exercise).

yes, I know you might not care :-)
Anybody done any comparisons between Java 1.5 and 1.4.2?
...Since Cocoon now compiles cleanly on 1.5.
Ben


RE: CForms Binding - Cross Referenced Data (duplicate of post on users)

2005-03-14 Thread Ben Pope
Sylvain Wallez wrote:

 Ben Pope wrote:
 
 project
people
   person id=0
  nameMe/name
   /person
   person id=1
  nameYou/name
   /person
   person id=2
  nameHim/name
   /person
/people
rooms
   room id=0
  nameLounge/name
  person idref=0/
  person idref=1/
   /room
   room id=1
  nameKitchen/name
  person idref=2/
   /room
/rooms
 /project
 
 That describes a list of people which are in a particular 
 room, so Me 
 and You are in the Lounge and Him is in the Kitchen.
 
 I want to have a form that displays, for a given room, a list of the 
 people in it.

SNIP /

 Hmm... I hope I'm not the only one to do fancy CForms stuff :-/
 
 Your room repeater links to existing people through their ID 
 but should 
 display their name. This is typically a selection-list with IDs as 
 labels and names as values.

Ahh yes.  That makes sense for name.  My first reaction is how do I easily
add fields such as age, favourite colour etc, and have those bind as well.

If I run a repeater over /rooms/person I want bindings that are equivalent
to:

fb:value id=name path=/project/people/[EMAIL PROTECTED]()/idref]/name
/

fb:value id=age path=/project/people/[EMAIL PROTECTED]()/idref]/age /

Which would only be valid in an xslt, of course.

As mentioned before, I started work on an xref-repeater which would
understand my requirements - it's syntax was something like:

fb:xref-repeater id=people
source-parent-path=/project/[EMAIL PROTECTED]'0']
source-row-path=person
target-parent-path=/project/people
target-row-path=person /

It would then likely need a source-identity and target-identity, or some
other way of specifying the id=idref relationship.

Unfortunately I didn't get very far with it as I don't really understand the
o.a.c.forms.binding package, despite stepping through it in eclipse.

 About the ability to add new names at any level, this looks like a 
 combo-box (editable dropdown). We've hacked such a thing for 
 one of our 
 projects, and basically the idea is to have a single widget 
 be rendered 
 as two inputs.
 
 Say you have
 fd:field id=personref
   fd:selection-list src=cocoon:/person-selection-list/
 /fd:field

That's identical (except names) to something I have to display a
selectionlist of person/names now. 

 The editable combobox renders this as :
 - a dropdown list of name personref with the contents of the 
 selection-list
 - an input of name personref.label.
 
 When the user chooses in the dropdown, the selected value is 
 copied to personref.label.

OK, I'm with you.

 When the user types in the personref.label input, a new 
 option is added 
 to the dropdown, having new as a value, and the typed text as label.

OK.

 On form submit, the flowscript checks if personref equals 
 new and if 
 true creates a new person with the name in the 
 personref.label request 
 parameter and replaces the new value with the newly created id.
 
 Binding can then go on as usual.
 
 This is a bit hacky, but it works :-)

That's excellent, Sylvain.  I'll give it a go later.


CForms Binding - Cross Referenced Data (duplicate of post on users)

2005-03-13 Thread Ben Pope
Hi,

First of, sorry for the post here, but I've asked a few times on users and
not had this solved, so I'm gonna cross my fingers and post here:

This is something I've been struggling with, on and off, for some time now.

Assume I have some data as follows:

project
   people
  person id=0
 nameMe/name
  /person
  person id=1
 nameYou/name
  /person
  person id=2
 nameHim/name
  /person
   /people
   rooms
  room id=0
 nameLounge/name
 person idref=0/
 person idref=1/
  /room
  room id=1
 nameKitchen/name
 person idref=2/
  /room
   /rooms
/project

That describes a list of people which are in a particular room, so Me and
You are in the Lounge and Him is in the Kitchen.

I want to have a form that displays, for a given room, a list of the people
in it.

A repeater is obviously the first choice, but there are a few
counter-intuitive thingsd going on:

I need to be able to modify the name of the person.  Simply running the
repeater over the rooms is not enough.

Adding a row needs to add an rooms/room/person with an idref - I'll then use
client side javascript and XMLHTTP to allow the user to select a person (by
id) to fit in the space, as all the people are predefined.  I do not want to
have the repeater add /people/persons.

I've toyed with a few ideas:

id is passed in as a parameter, and this code is actually in a stylesheet -
but ignore that for now.

fb:repeater id=people parent-path=/project/rooms/[EMAIL PROTECTED]
row-path=/project/people/[EMAIL PROTECTED]/project/rooms/[EMAIL 
PROTECTED]/person/@
idref]

This solution has the result of being perfect for load.  However, when I
save it, it breaks, because I can't have an xpath predicate.  So what do I
set the row-path-insert to?

If I set row-path-insert=/project/people/person and bind the id (which is
fb:identity) in both directions, /project/people/ ends up correct, but
/project/rooms/room/ doesn't get updated.

I've tried
  fb:on-insert-row
 fb:context path=/project/rooms/[EMAIL PROTECTED]'0']
fb:insert-node   person idref=5/
  /fb:insert-node

But then I get a new node in both /rooms/[EMAIL PROTECTED]'0']/ which is 
correct,
and another node created in /project/people/ which is the usual binding for
person and is a copy of the existing one.  This doesn't seem correct to me.

Hmm, I've had a little play with fb:javascript but I don't know what I'm
doing... Ideally I would remove all the /rooms/[EMAIL PROTECTED]'x']/person 
fields
and repopulate with the list of ids in the repeater.  I can't seem to work
out the correct APIs, it always says that such and such method doesn't exist
- can anybody point me in the right direction?

I've toyed with the idea of having two repeaters, and updating one from the
other but it sounds like a recipe for disaster.

Another idea was to have a play around with it in flow, but I suspect I'd
end up with exactly the same problems I have using fb:javascript, with the
disadvantage of distributing the binding code.

Any help is much appreciated, I'm confused by the number of options and
multitude of interfaces.

I can't be the only person working with cross-referenced data!  I'm either
missing something or the repeater just doesn't understand this construct - I
wonder if Sylvain has any ideas on this.

I also started writing my own Repeater (well I copied the existing one,
renamed it, changed some of it's parameters and managed to get Cforms to use
it), but running through with eclipse in debug mode doesn't really throw any
light on the subject - it's all too confusing for me.

Hlp!

Ben


RE: CForms Binding - Cross Referenced Data (duplicate of post on users)

2005-03-13 Thread Ben Pope
Linden H van der (MI) wrote:
 Hi,
 
 Just a quick response. 
 
 What you describe here are two entities: rooms and persons. 
 It is much more common sense to treat them separately, i.e. a 
 list for editing persons (just a repeater) and a list for 
 editing rooms (simple list?) and finally, maybe a doubleList 
 for adding persons to a room.

Quite possibly, but I'm recreating some paper forms and want the user to be
able to enter the information as quicky as possible using my system.

Essentially all the peoples names and ids are predefined (there will no
doubt be a form to enter those people, too), but can be modified at any
point.  More fields will be added to the people using this form (lets say;
age, height, favourite colour).

Unfortunately it has to be done this way.

Thanks for your reply.


Does anybody know how I can use fb:javascript (or flow, if not) to grab each
id specified in the repeater and replace people elements inside of the room
with the appropriate idrefs?

Cheers,

Ben Pope





  -Original Message-
  From: Ben Pope [mailto:[EMAIL PROTECTED]
  Sent: Sunday, 13 March 2005 18:12
  To: dev@cocoon.apache.org
  Subject: CForms Binding - Cross Referenced Data (duplicate 
 of post on 
  users)
  
  
  Hi,
  
  First of, sorry for the post here, but I've asked a few 
 times on users 
  and not had this solved, so I'm gonna cross my fingers and 
 post here:
  
  This is something I've been struggling with, on and off, 
 for some time 
  now.
  
  Assume I have some data as follows:
  
  project
 people
person id=0
   nameMe/name
/person
person id=1
   nameYou/name
/person
person id=2
   nameHim/name
/person
 /people
 rooms
room id=0
   nameLounge/name
   person idref=0/
   person idref=1/
/room
room id=1
   nameKitchen/name
   person idref=2/
/room
 /rooms
  /project
  
  That describes a list of people which are in a particular 
 room, so Me 
  and You are in the Lounge and Him is in the Kitchen.
  
  I want to have a form that displays, for a given room, a 
 list of the 
  people in it.
  
  A repeater is obviously the first choice, but there are a few 
  counter-intuitive thingsd going on:
  
  I need to be able to modify the name of the person.  Simply running 
  the repeater over the rooms is not enough.
  
  Adding a row needs to add an rooms/room/person with an idref
  - I'll then use
  client side javascript and XMLHTTP to allow the user to select a 
  person (by
  id) to fit in the space, as all the people are predefined.  
 I do not 
  want to have the repeater add /people/persons.
  
  I've toyed with a few ideas:
  
  id is passed in as a parameter, and this code is actually in a 
  stylesheet - but ignore that for now.
  
  fb:repeater id=people 
 parent-path=/project/rooms/[EMAIL PROTECTED]
  row-path=/project/people/[EMAIL PROTECTED]/project/rooms/[EMAIL PROTECTED]
  $id}]/person/@
  idref]
  
  This solution has the result of being perfect for load.  
  However, when I
  save it, it breaks, because I can't have an xpath predicate.  
  So what do I
  set the row-path-insert to?
  
  If I set row-path-insert=/project/people/person and bind the id 
  (which is
  fb:identity) in both directions, /project/people/ ends up 
 correct, but 
  /project/rooms/room/ doesn't get updated.
  
  I've tried
fb:on-insert-row
   fb:context path=/project/rooms/[EMAIL PROTECTED]'0']
  fb:insert-node   person idref=5/
/fb:insert-node
  
  But then I get a new node in both /rooms/[EMAIL PROTECTED]'0']/ which is 
  correct, and another node created in /project/people/ which is the 
  usual binding for person and is a copy of the existing one.  This 
  doesn't seem correct to me.
  
  Hmm, I've had a little play with fb:javascript but I don't 
 know what 
  I'm doing... Ideally I would remove all the 
  /rooms/[EMAIL PROTECTED]'x']/person fields and repopulate with the 
 list of ids 
  in the repeater.  I can't seem to work out the correct 
 APIs, it always 
  says that such and such method doesn't exist
  - can anybody point me in the right direction?
  
  I've toyed with the idea of having two repeaters, and updating one 
  from the other but it sounds like a recipe for disaster.
  
  Another idea was to have a play around with it in flow, but 
 I suspect 
  I'd end up with exactly the same problems I have using 
 fb:javascript, 
  with the disadvantage of distributing the binding code.
  
  Any help is much appreciated, I'm confused by the number of options 
  and multitude of interfaces.
  
  I can't be the only person working with cross-referenced data!  I'm 
  either missing something or the repeater just doesn't 
 understand this 
  construct - I wonder if Sylvain has any ideas on this.
  
  I also started writing my own Repeater (well I copied the existing 
  one, renamed it, changed some

RE: CForms Binding - Cross Referenced Data (duplicate of post on users)

2005-03-13 Thread Ben Pope
Mark Lowe wrote:
 I dont think the dream team example covers nested repeaters.. 
 I'll have to suck it and see if this can be done.. this is 
 something I've done in the past with other frameworks and 
 plain servlets and jsp.

It appears as though nested repeaters are covered in Form Model GUI.

However, I kind of need a pair of parallel repeaters :-)  (one for
people/persons with an id, and one for room/persons with an idref)

 Without having tried it yet, if it were the case that cocoon 
 forms cant deal with nested lists/rows then i guess trying to 
 use aggreate fields as child widgets would be worth a go. 
 Pass the people as a tokenized string and then use flow to 
 convert to tokens in save-form.
 During load-form or even on bind you could populate the 
 aggregated field.

You just confused me.  Why would I use aggregate fields?

 I'd probably want my data xml strutured more like
 
 room
  person /
 /room

It is?  Or do you mean forget the cross referencing and have the actual
person, with the name element inside the room?

It's possible.  I've been thinking of various other ways of doing this as
I'm really struggling with the flat-table way of storing this data.  It's
not like more than one room can contain a person simultaneously.

I really would prefer to have this flat structure, but perhaps I will have
to forgo that.

 So the binder would know that there's a nested object inside room. 
 
 I'll have a go when i get time, as i anticipate that this is 
 the sort of thing that crops up a lot. Hopefully nested 
 repeaters are supported.

I think nested repeaters are supported but I'm confused as to their
relevance here.

I don't want to display all rooms at once, I want one room at a time, so
it's not like I need to repeat over the rooms.

Thanks for your time, all insights are welcomed!

Ben Pope






 Mark
 
 On Sun, 13 Mar 2005 20:25:50 +0100, Linden H van der (MI) 
 [EMAIL PROTECTED] wrote:
  You could make a multipage form if necessary.
  
  Also have a look at the samples in the forms block. I think the 
  dreamteam sample and the dynamic repeater sample 
 demonstrate what you 
  are looking for.
  
  HTH.
  
  Bye, Helma
  
  
   -Original Message-
   From: Ben Pope [mailto:[EMAIL PROTECTED]
   Sent: Sunday, 13 March 2005 20:22
   To: dev@cocoon.apache.org
   Subject: RE: CForms Binding - Cross Referenced Data (duplicate of 
   post on users)
  
  
   Linden H van der (MI) wrote:
Hi,
   
Just a quick response.
   
What you describe here are two entities: rooms and persons.
It is much more common sense to treat them separately, 
 i.e. a list 
for editing persons (just a repeater) and a list for 
 editing rooms 
(simple list?) and finally, maybe a doubleList for 
 adding persons 
to a room.
  
   Quite possibly, but I'm recreating some paper forms and want the 
   user to be able to enter the information as quicky as 
 possible using 
   my system.
  
   Essentially all the peoples names and ids are predefined 
 (there will 
   no doubt be a form to enter those people, too), but can 
 be modified 
   at any point.  More fields will be added to the people using this 
   form (lets say; age, height, favourite colour).
  
   Unfortunately it has to be done this way.
  
   Thanks for your reply.
  
  
   Does anybody know how I can use fb:javascript (or flow, if
   not) to grab each
   id specified in the repeater and replace people elements 
 inside of 
   the room with the appropriate idrefs?
  
   Cheers,
  
   Ben Pope
  
  
  
  
  
 -Original Message-
 From: Ben Pope [mailto:[EMAIL PROTECTED]
 Sent: Sunday, 13 March 2005 18:12
 To: dev@cocoon.apache.org
 Subject: CForms Binding - Cross Referenced Data (duplicate
of post on
 users)


 Hi,

 First of, sorry for the post here, but I've asked a few
times on users
 and not had this solved, so I'm gonna cross my fingers and
post here:

 This is something I've been struggling with, on and off,
for some time
 now.

 Assume I have some data as follows:

 project
people
   person id=0
  nameMe/name
   /person
   person id=1
  nameYou/name
   /person
   person id=2
  nameHim/name
   /person
/people
rooms
   room id=0
  nameLounge/name
  person idref=0/
  person idref=1/
   /room
   room id=1
  nameKitchen/name
  person idref=2/
   /room
/rooms
 /project

 That describes a list of people which are in a particular
room, so Me
 and You are in the Lounge and Him is in the Kitchen.

 I want to have a form that displays, for a given room, a
list of the
 people in it.

 A repeater is obviously the first choice, but there are a few 
 counter-intuitive thingsd going

2.1.7-Dev - Commit 156144 - Borked, or am I mad?

2005-03-04 Thread Ben Pope
Hi guys,

Am I going mad, or did this break some of my stuff?

It seems as though some of my forms are being cached now, and the change is
to do with removing stuff from the cache...

If this isn't the case, I apologise for pointing fingers, but I'm sure it
worked a couple of days ago.  I updated today, recompiled and it stopped
working, reverted back and it works again.

Anybody else seeing this behaviour?

I restarted Jetty a couple of times, but it was definitely displaying data
that was no longer in the data file!  And none of my pages seem to change
when I feed in a different parameter.  I still get the same continuation id
embedded in the page.  Even accessed it from a different browser, one that
has never visited said page.

Ben


RE: 2.1.7-Dev - Commit 156144 - Borked, or am I mad?

2005-03-04 Thread Ben Pope
I think I'm mad, so ignore me.

Bit difficult to tell now, didn't realise a build clean just deleted the
webapp directory.

Shame really, as my work was there.

Ben




 -Original Message-
 From: Ben Pope [mailto:[EMAIL PROTECTED] 
 Sent: 04 March 2005 23:39
 To: dev@cocoon.apache.org
 Subject: 2.1.7-Dev - Commit 156144 - Borked, or am I mad?
 
 Hi guys,
 
 Am I going mad, or did this break some of my stuff?
 
 It seems as though some of my forms are being cached now, and 
 the change is to do with removing stuff from the cache...
 
 If this isn't the case, I apologise for pointing fingers, but 
 I'm sure it worked a couple of days ago.  I updated today, 
 recompiled and it stopped working, reverted back and it works again.
 
 Anybody else seeing this behaviour?
 
 I restarted Jetty a couple of times, but it was definitely 
 displaying data that was no longer in the data file!  And 
 none of my pages seem to change when I feed in a different 
 parameter.  I still get the same continuation id embedded in 
 the page.  Even accessed it from a different browser, one 
 that has never visited said page.
 
 Ben
 


RE: Moving blocks

2005-02-18 Thread Ben Pope
 -Original Message-
 From: Reinhard Poetz [mailto:[EMAIL PROTECTED] 
 Sent: 18 February 2005 17:41
 To: dev@cocoon.apache.org
 Subject: Re: Moving blocks
 
 Upayavira wrote:
  Reinhard Poetz wrote:
  
  Could some people pls report back whether there have been any 
  problems on updates? (Escpecially be careful if you had changes in 
  one of the four moved blocks. In this case, sorry for any 
  inconveniences!)
  
  
  Have you tried checking out the external references via http rather 
  than https? Just want to be sure that they'll still work for 
  non-committers using http.
 
 Yes,
 
 svn checkout http://svn.apache.org/repos/asf/cocoon/trunk/src/blocks
 
 worked for me. I guess that people not using https have to 
 accept the certificate once.

That seems to be what just happened.

TortoiseSVM deleted the blocks, and re-added them at the some location, but
I had to accept the certificate.

No major problem.

Ben


Cforms Repeater Binding Cross-Referenced Data

2004-12-31 Thread Ben Pope
Hi,

I'll get straight to the point:

I'm having some difficulty in working out how to bind the following data in
both directions:

project
   people
  person id=0
 nameMe/name
  /person
  person id=1
 nameYou/name
  /person
  person id=2
 nameHe/name
  /person
   /people
   rooms
  room id=0
 nameLounge/name
 person idref=0/
 person idref=1/
  /room
  room id=1
 nameKitchen/name
 person idref=2/
  /room
   /rooms
/project

Hopefully that describes the situation where Me and You are in the
Lounge and He is in the Kitchen.

Now, assume I would like to be able to modify the names of all people in the
Lounge, and would therefore like to have a repeater that is in some sense
repeating over  /project/rooms/[EMAIL PROTECTED]/person  but modifying a subset 
of
the data in the  /project/people/person  branch.

Is this possible with just the repeater?

What would be the best way of doing this?

I am willing to extend/modify/create a repeater that can do this (as I think
this is a useful thing), but have not contributed to cocoon so far and would
probably need prodding in the right direction.

Thanks for your time,
Ben.