Re: Use Maven 2 for the generation of the Cocoon documentation

2006-03-07 Thread Reinhard Poetz

Bruno Dumon wrote:


OTOH, having the docs
split up between a lot of little maven-sites might lessen the overview.


Because of the nature of Daisy this shouldn't become a problem:

 - we can have one navigation document which is a collection of all
   block navigation docs
 - we have Daisy books
 - if that's not enough, we can refer to the same document from different
   navigation docs

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


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

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






___ 
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de


Re: Status of block development

2006-03-07 Thread Jean-Baptiste Quenot
* Reinhard Poetz:
 For those of you, who think that blocks will never get finished - here a 
 short list on our achievments so far:
 
  - splitting up of the monolytic Cocoon core has started by Daniel's
refactorings
  - we use Spring as component framework and finally got rid of ECM, Avalon, 
 etc.
  - sitemap blocks are working
  - block deployment is working
  - trunk is mavenized
  - virtual sitemap components
  - we defined the directory structure of blocks
 
  - ... and probably I've forgotten this or that important point ;-)

Thanks for this explanation, I have a few questions though.

  - [cocoon-deployer-webapp-sample] is a very simple example. Here we need
something more useful. We have to identify blocks that we want
to show. I suggest
# cforms + samples
# ctemplate + samples
# auth + samples
# session-fw + samples

Don't you think we should provide all stable and not deprecated blocks?

Except cforms all these blocks are not shared between 2.1 and changing
cforms shouldn't be a big problem as the cforms directories are
references from 2.1 on a very detailed level. Right?

Can you elaborate what changes are required for CForms?

 * I introduced the new Maven goals
   - cocoon:deploy and
   - cocoon:deploy-war
 
 Both are based on the Maven war plugin. A demo can be found in 
 [cocoon-deployer-webapp-sample]. As you can see, 
 deployment is based on cocoon-deploy.xml. This file describes which blocks 
 you want to deploy and how they are 
 configured. These blocks are deployed to the webapplication.

What (or where) is the schema of this file?  What component is
using this file?  Why is there redundancy with pom.xml, both are
referencing cocoon-default.  What is cocoon-default?

When I « mvn install » in
cocoon-block-deployer/cocoon-deployer-webapp-sample, the generated
webapp in target/demo does not contain sitemaps and other
resources, only web.xml and jars, am I missing something?

 Before block deployment, the normal web app creation of the war plugin takes 
 place which mainly consists of copying 
 files from src/main/webapp to target/[finalName].

How to achieve this step?  It seems it is not done automatically.
-- 
Jean-Baptiste Quenot
http://caraldi.com/jbq/


Re: Use Maven 2 for the generation of the Cocoon documentation

2006-03-07 Thread Ross Gardler

Bruno Dumon wrote:

On Mon, 2006-03-06 at 18:39 +0100, Reinhard Poetz wrote:


hepabolu wrote:


Finally, adding the proposed plugin can always be added later without 
loosing the effort of the current setup.


ok, that's right. Anyway, I can't do it myself now but if somebody is 
interested, I can help. Maybe some of the Daisy gurus here can comment on the 
idea itself?





It shouldn't be too hard. If it is just for publishing, you don't even
need the Daisy client libraries, being able to do a HTTP request is
enough. 


Actually, I should correct my previous statement the Forrest plugin uses 
the http API not the Java client API. No need for the Java API at this 
stage.



I'm not sure what the difficulties are that Ross refers too in
reusing the navigation documents. A basic plugin can probably be created
in a day (by an experienced Java/XSLT person).


Actually, my comment was misleading, sorry.

The difficulties are not with Daisy itself, rather with the fact that 
we need(e) to maintain the existing directory structures of the 
documents and the Daisy nav system didn't work in the same way as the 
old nav system.


With the 2.2 docs there is no legacy structure to maintain so it will be 
much easier.


Ross


Re: Use Maven 2 for the generation of the Cocoon documentation

2006-03-07 Thread Bruno Dumon
On Tue, 2006-03-07 at 09:06 +0100, Reinhard Poetz wrote:
 Bruno Dumon wrote:
 
  OTOH, having the docs
  split up between a lot of little maven-sites might lessen the overview.
 
 Because of the nature of Daisy this shouldn't become a problem:
 
   - we can have one navigation document which is a collection of all
 block navigation docs
   - we have Daisy books
   - if that's not enough, we can refer to the same document from different
 navigation docs

Yes indeed, we can republish the same content in different ways.

-- 
Bruno Dumon http://outerthought.org/
Outerthought - Open Source, Java  XML Competence Support Center
[EMAIL PROTECTED]  [EMAIL PROTECTED]



[jira] Assigned: (COCOON-1793) [PATCH] Enum selection list with apache enum support and null-text

2006-03-07 Thread Ugo Cei (JIRA)
 [ http://issues.apache.org/jira/browse/COCOON-1793?page=all ]

Ugo Cei reassigned COCOON-1793:
---

Assign To: Ugo Cei

 [PATCH] Enum selection list with apache enum support and null-text
 --

  Key: COCOON-1793
  URL: http://issues.apache.org/jira/browse/COCOON-1793
  Project: Cocoon
 Type: Improvement
   Components: Blocks: Forms
 Versions: 2.1.9-dev (current SVN)
 Reporter: Simone Gianni
 Assignee: Ugo Cei
  Attachments: enumselectionlist-samples.diff, enumselectionlist.diff

 Added support for apache enum in the EnumSelectionList. This will grant 
 selection list items order on those JREs (expecially IBM, used by WebSphere) 
 that will honor litteraly the Class.getDeclaredFields() javadocs and return 
 elements in random order. This also adds the ability to implement the 
 getEnumList method in the enum classes and implement a custom order. In case 
 it isn't possible to retrieve a valid iterator for the apache enum, then the 
 common way will be used.
 Since i felt the lack of it, i also added a null-text=i18nkey so that it's 
 now possible to specify a label for the null element when the selection list 
 is nullable=true. 
 The second patch updates the samples adding a PreferredContact apache enum to 
 the Contact bean, the form2 files (both for bean and xml binding) and 
 messages, to demostrate the usage of both apache enum and the new null-text.

-- 
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-1793) [PATCH] Enum selection list with apache enum support and null-text

2006-03-07 Thread Ugo Cei (JIRA)
[ 
http://issues.apache.org/jira/browse/COCOON-1793?page=comments#action_12369188 
] 

Ugo Cei commented on COCOON-1793:
-

Looks like you forgot to add the PreferredContact class to your patch (forgot 
to svn add, maybe?).

 [PATCH] Enum selection list with apache enum support and null-text
 --

  Key: COCOON-1793
  URL: http://issues.apache.org/jira/browse/COCOON-1793
  Project: Cocoon
 Type: Improvement
   Components: Blocks: Forms
 Versions: 2.1.9-dev (current SVN)
 Reporter: Simone Gianni
  Attachments: enumselectionlist-samples.diff, enumselectionlist.diff

 Added support for apache enum in the EnumSelectionList. This will grant 
 selection list items order on those JREs (expecially IBM, used by WebSphere) 
 that will honor litteraly the Class.getDeclaredFields() javadocs and return 
 elements in random order. This also adds the ability to implement the 
 getEnumList method in the enum classes and implement a custom order. In case 
 it isn't possible to retrieve a valid iterator for the apache enum, then the 
 common way will be used.
 Since i felt the lack of it, i also added a null-text=i18nkey so that it's 
 now possible to specify a label for the null element when the selection list 
 is nullable=true. 
 The second patch updates the samples adding a PreferredContact apache enum to 
 the Contact bean, the form2 files (both for bean and xml binding) and 
 messages, to demostrate the usage of both apache enum and the new null-text.

-- 
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-1793) [PATCH] Enum selection list with apache enum support and null-text

2006-03-07 Thread Simone Gianni (JIRA)
 [ http://issues.apache.org/jira/browse/COCOON-1793?page=all ]

Simone Gianni updated COCOON-1793:
--

Attachment: enumselectionlist-samples2.diff

Yeah, right, forgot svn add :) this is the patch for it.

 [PATCH] Enum selection list with apache enum support and null-text
 --

  Key: COCOON-1793
  URL: http://issues.apache.org/jira/browse/COCOON-1793
  Project: Cocoon
 Type: Improvement
   Components: Blocks: Forms
 Versions: 2.1.9-dev (current SVN)
 Reporter: Simone Gianni
 Assignee: Ugo Cei
  Attachments: enumselectionlist-samples.diff, 
 enumselectionlist-samples2.diff, enumselectionlist.diff

 Added support for apache enum in the EnumSelectionList. This will grant 
 selection list items order on those JREs (expecially IBM, used by WebSphere) 
 that will honor litteraly the Class.getDeclaredFields() javadocs and return 
 elements in random order. This also adds the ability to implement the 
 getEnumList method in the enum classes and implement a custom order. In case 
 it isn't possible to retrieve a valid iterator for the apache enum, then the 
 common way will be used.
 Since i felt the lack of it, i also added a null-text=i18nkey so that it's 
 now possible to specify a label for the null element when the selection list 
 is nullable=true. 
 The second patch updates the samples adding a PreferredContact apache enum to 
 the Contact bean, the form2 files (both for bean and xml binding) and 
 messages, to demostrate the usage of both apache enum and the new null-text.

-- 
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] Closed: (COCOON-1793) [PATCH] Enum selection list with apache enum support and null-text

2006-03-07 Thread Ugo Cei (JIRA)
 [ http://issues.apache.org/jira/browse/COCOON-1793?page=all ]
 
Ugo Cei closed COCOON-1793:
---

Fix Version: 2.1.9-dev (current SVN)
 Resolution: Fixed

Applied. Please cross-check.

 [PATCH] Enum selection list with apache enum support and null-text
 --

  Key: COCOON-1793
  URL: http://issues.apache.org/jira/browse/COCOON-1793
  Project: Cocoon
 Type: Improvement
   Components: Blocks: Forms
 Versions: 2.1.9-dev (current SVN)
 Reporter: Simone Gianni
 Assignee: Ugo Cei
  Fix For: 2.1.9-dev (current SVN)
  Attachments: enumselectionlist-samples.diff, 
 enumselectionlist-samples2.diff, enumselectionlist.diff

 Added support for apache enum in the EnumSelectionList. This will grant 
 selection list items order on those JREs (expecially IBM, used by WebSphere) 
 that will honor litteraly the Class.getDeclaredFields() javadocs and return 
 elements in random order. This also adds the ability to implement the 
 getEnumList method in the enum classes and implement a custom order. In case 
 it isn't possible to retrieve a valid iterator for the apache enum, then the 
 common way will be used.
 Since i felt the lack of it, i also added a null-text=i18nkey so that it's 
 now possible to specify a label for the null element when the selection list 
 is nullable=true. 
 The second patch updates the samples adding a PreferredContact apache enum to 
 the Contact bean, the form2 files (both for bean and xml binding) and 
 messages, to demostrate the usage of both apache enum and the new null-text.

-- 
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-1707) Allow configuration of initial context in LDAPTransformer

2006-03-07 Thread Jean-Baptiste Quenot (JIRA)
 [ http://issues.apache.org/jira/browse/COCOON-1707?page=all ]

Jean-Baptiste Quenot updated COCOON-1707:
-

Attachment: 20060307-cocoon-ldaptr

Proposed patch

 Allow configuration of initial context in LDAPTransformer
 -

  Key: COCOON-1707
  URL: http://issues.apache.org/jira/browse/COCOON-1707
  Project: Cocoon
 Type: Improvement
   Components: Blocks: Naming
 Reporter: Jean-Baptiste Quenot
 Assignee: Jean-Baptiste Quenot
 Priority: Minor
  Attachments: 20051212-naming-LDAPTransformer, 20060307-cocoon-ldaptr

 LDAPTransformer does not currently provide a way to specify the attributes in 
 the initial context.
 Credit goes to Sébastien Grimault [EMAIL PROTECTED]

-- 
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-1707) Allow configuration of initial context in LDAPTransformer

2006-03-07 Thread Jean-Baptiste Quenot (JIRA)
 [ http://issues.apache.org/jira/browse/COCOON-1707?page=all ]

Jean-Baptiste Quenot updated COCOON-1707:
-

Attachment: (was: 20060307-cocoon-ldaptr)

 Allow configuration of initial context in LDAPTransformer
 -

  Key: COCOON-1707
  URL: http://issues.apache.org/jira/browse/COCOON-1707
  Project: Cocoon
 Type: Improvement
   Components: Blocks: Naming
 Reporter: Jean-Baptiste Quenot
 Assignee: Jean-Baptiste Quenot
 Priority: Minor
  Attachments: 20051212-naming-LDAPTransformer, 20060307-cocoon-ldaptr

 LDAPTransformer does not currently provide a way to specify the attributes in 
 the initial context.
 Credit goes to Sébastien Grimault [EMAIL PROTECTED]

-- 
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-1707) Allow configuration of initial context in LDAPTransformer

2006-03-07 Thread Jean-Baptiste Quenot (JIRA)
 [ http://issues.apache.org/jira/browse/COCOON-1707?page=all ]

Jean-Baptiste Quenot updated COCOON-1707:
-

Attachment: 20060307-cocoon-ldaptr

Updated patch

 Allow configuration of initial context in LDAPTransformer
 -

  Key: COCOON-1707
  URL: http://issues.apache.org/jira/browse/COCOON-1707
  Project: Cocoon
 Type: Improvement
   Components: Blocks: Naming
 Reporter: Jean-Baptiste Quenot
 Assignee: Jean-Baptiste Quenot
 Priority: Minor
  Attachments: 20051212-naming-LDAPTransformer, 20060307-cocoon-ldaptr

 LDAPTransformer does not currently provide a way to specify the attributes in 
 the initial context.
 Credit goes to Sébastien Grimault [EMAIL PROTECTED]

-- 
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-1794) [PATCH] Propagation of namespaces to a repeaters child bindings and implementation of a move-node binding

2006-03-07 Thread Suzan Foster (JIRA)
[PATCH] Propagation of namespaces to a repeaters child bindings and 
implementation of a move-node binding
-

 Key: COCOON-1794
 URL: http://issues.apache.org/jira/browse/COCOON-1794
 Project: Cocoon
Type: Bug
  Components: Blocks: Forms  
Versions: 2.1.8, 2.1.9-dev (current SVN)
Reporter: Suzan Foster
 Attachments: repeater-binding-patch.txt

This patch corrects the following issues:
- Namespaced back-end XML model not correctly binding to the repeaters child 
widgets.
- Nodes bound to row widgets not being reordered according to row position on 
save.

Files affected:
- JXPathBindingBase:
  - member applyLeniency changed from private to protected.
  - member applyNSDeclarations changed from private to protected.

- RepeaterJXPathBinding:
  - constructor changed for passing a binding for moveRow.
  - applyLeniency and applyNSDeclarations applied to created relative contexts.
  - member moveRowBinding added.
  - method getMoveRowBinding added.
  - doSave changed to incorporate the use of moveRowBinding.

- RepeaterJXPathBindingBuilder:
  - buildBinding changed to incorporate the construction of moveRowBinding.

Files added:
- MoveNodeJXPathBinding.
- MoveNodeJXPathBindingBuilder.

-- 
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: Status of block development

2006-03-07 Thread Reinhard Poetz

Jean-Baptiste Quenot wrote:

* Reinhard Poetz:



- [cocoon-deployer-webapp-sample] is a very simple example. Here we need
  something more useful. We have to identify blocks that we want
  to show. I suggest
  # cforms + samples
  # ctemplate + samples
  # auth + samples
  # session-fw + samples



Don't you think we should provide all stable and not deprecated blocks?


yes, but IMO not in the first run. We only have very little experience with the 
complete blocks idea and therefore we should work incrementally. (e.g. if the 
block.xml is changing, you have to update it for *all* blocks and it's a 
difference if you do it for a handful or for 100+ files)



  Except cforms all these blocks are not shared between 2.1 and changing
  cforms shouldn't be a big problem as the cforms directories are
  references from 2.1 on a very detailed level. Right?



Can you elaborate what changes are required for CForms?


The directory structure of blocks is different. See 
http://svn.apache.org/repos/asf/cocoon/trunk/cocoon-block-deployer/cocoon-deployer-plugin-demo/src/ 
  which already uses the new one. In the archives you find some threads about 
the reasons that led to it.





* I introduced the new Maven goals
 - cocoon:deploy and
 - cocoon:deploy-war

Both are based on the Maven war plugin. A demo can be found in [cocoon-deployer-webapp-sample]. As you can see, 
deployment is based on cocoon-deploy.xml. This file describes which blocks you want to deploy and how they are 
configured. These blocks are deployed to the webapplication.



What (or where) is the schema of this file?  


http://svn.apache.org/repos/asf/cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/main/resources/xsd/deploy-schema-1.0.xsd



What component is
using this file?  


the block-deployer 
(http://svn.apache.org/repos/asf/cocoon/trunk/cocoon-block-deployer)



Why is there redundancy with pom.xml, both are
referencing cocoon-default.  What is cocoon-default?


pom.xml describes which artifacts are required to build a project. The 
difference is, that block.xml describes which requirements in the form of other 
blocks a block has but *doesn't* say anything about conrecte implementations.


In cocoon-deploy.xml you can define which _concrete_ blocks that *you* in the 
role of the deployer want to use to satisfy a requirement.


ad cocoon-default: this is a collection of blocks that are necessary to get a 
minimal Cocoon. As this will be under heavy refactoring for some time (e.g. 
cocoon-core will be split up in more parts), I introduced this module to make 
the dependencies of depending blocks more stable.



When I « mvn install » i
cocoon-block-deployer/cocoon-deployer-webapp-sample, the generated
webapp in target/demo does not contain sitemaps and other
resources, only web.xml and jars, am I missing something?


No :-)
Have a look into WEB-INF/web.xml. It uses the BlocksManager as servlet, or IOW 
as entry point into the Cocoon world. The BlocksManager sets up Cocoon by using 
all the deployed blocks. The sitemaps that you're missing can be found in the 
block directories (/blocks/[block]/COB-INF/sitemap.xmap). There is no such a 
thing as a root sitemap anymore.


The configuration file of the BlocksManager is /WEB-INF/wiring.xml. It is 
generated by the block deployer and contains all deployed blocks. A sitemap 
block (= a block that has a COB-INF directory and a sitemap) can be mounted to 
the managed URI-space. If a request hits the servlet (BlocksManager), it looks 
first if a block is mounted to the requested path and if yes, it delegates 
processing to the block's controller (currently we only have the sitemap as 
implementation, but here we have room for other ways)


Before block deployment, the normal web app creation of the war plugin takes place which mainly consists of copying 
files from src/main/webapp to target/[finalName].


How to achieve this step?  It seems it is not done automatically.


hmm, it works for me. The plugin would copy any content from within 
./src/main/webapp to ./target/demo but ATM the only file that is copied is 
web.xml (from ./src/main/webapp/WEB-INF/web.xml).


I did

mvn clean cocoon:deploy jetty6:run

and then I entered

http://localhost:/p1/test and
http://localhost:/p2/test

If I find some time today, I will extend the sample webapp by some more blocks.

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


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

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






___ 
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de




[jira] Commented: (COCOON-1794) [PATCH] Propagation of namespaces to a repeaters child bindings and implementation of a move-node binding

2006-03-07 Thread Max Pfingsthorn (JIRA)
[ 
http://issues.apache.org/jira/browse/COCOON-1794?page=comments#action_12369260 
] 

Max Pfingsthorn commented on COCOON-1794:
-

This is an interesting topic. However, retrospectively moving the rows around 
doesn't seem to be the best way to solve this. Instead, the 
InsertNodeJXPathBinding should know to insert a node after another (or before). 
I'm having a look into it right now as we have the same problem.
Additionally, we should try to stay backward compatible with the repeater 
definition and we shouldn't break being able to bind to beans. Keeping it 
consistent between XML and JavaBeans bindings might be a problem as beans don't 
support moving children around after they are added. And requiring a move 
binding which doesn't exist for beans of course makes the repeater unusable for 
that case.

I would put some XML specific code in to the RepeaterJXPathBinding if the 
insertBinding is a InsertNodeJXPathBinding. That way, we can ensure the 
relative AND absolute positioning of the XML elements created by the binding.

By absolute I mean this: We often use the repeater without an enclosing context 
for each row. New rows will always end up in the end of the document (or 
enclosing element), not after the bulk of other rows, which can be a big 
problem if you need to validate the resulting xml.

So, I'll be working on some specific hacks to make this work for XML and not 
break it for beans without influencing the configs.

 [PATCH] Propagation of namespaces to a repeaters child bindings and 
 implementation of a move-node binding
 -

  Key: COCOON-1794
  URL: http://issues.apache.org/jira/browse/COCOON-1794
  Project: Cocoon
 Type: Bug
   Components: Blocks: Forms
 Versions: 2.1.8, 2.1.9-dev (current SVN)
 Reporter: Suzan Foster
  Attachments: repeater-binding-patch.txt

 This patch corrects the following issues:
 - Namespaced back-end XML model not correctly binding to the repeaters child 
 widgets.
 - Nodes bound to row widgets not being reordered according to row position on 
 save.
 Files affected:
 - JXPathBindingBase:
   - member applyLeniency changed from private to protected.
   - member applyNSDeclarations changed from private to protected.
 - RepeaterJXPathBinding:
   - constructor changed for passing a binding for moveRow.
   - applyLeniency and applyNSDeclarations applied to created relative 
 contexts.
   - member moveRowBinding added.
   - method getMoveRowBinding added.
   - doSave changed to incorporate the use of moveRowBinding.
 - RepeaterJXPathBindingBuilder:
   - buildBinding changed to incorporate the construction of moveRowBinding.
 Files added:
 - MoveNodeJXPathBinding.
 - MoveNodeJXPathBindingBuilder.

-- 
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: Status of block development

2006-03-07 Thread Reinhard Poetz

Jean-Baptiste Quenot wrote:

snip/


In cocoon-deploy.xml you can define which _concrete_ blocks that
*you*  in the  role of  the deployer  want to  use to  satisfy a
requirement.



So if we write an Eclipse  plugin to configure deployment, we will
have to  edit both  cocoon-deploy.xml and pom.xml?   


No, fortunatly not. cocoon-deployer-webapp-sample/pom.xml only has a dependency 
on cocoon-default to make the Jetty plugin happy. For some reason the servlet 
needs to be in the Maven classpath when the plugin is executed.


If you're working on a *single block*, you can use *cocoon:simple-deploy* which 
doesn't need a cocoon-deploy.xml. Checkout the first block tutorial to learn more.



Just curious,
is  it  possible  to  skip  cocoon-deploy.xml  if  we  don't  have
polymorphism nor  inheritance?  


I don't think so as there are more differences between dependencies in Cocoon 
and Maven 2. We additionally want to


 - give a dependency an ID (needed for the block protocol)
 - want to set properties at deployment time
 - want to deploy one block several times (e.g. to different mount-points
   or with different parameters)
 - point to paths instead of artifacts (for RAD)

Any of these points is supported by Maven. Maybe we can work on getting our 
wishes fullfilled by the Maven community in the long run, but I don't have the 
energy to do it right now and as said, we have to learn more about what we need 
before we ask to change a released contract like pom.xml IMHO.



Do  we necessarily  need something
more than the Maven infrastructure at the moment?


IMHO yes. I don't know if *we* need it. I just can speak for myself when I say 
that *I* need it (see the reasons about + block polymorphism is a must for my 
use cases). I've been patient enough for more than 2 years to get real blocks 
and I don't want to cut the concept just because we need another 2 months to 
become 'feature complete' or because Maven is different.


skip/

And it's quick!  Thanks for your work.


Thanks for testing!

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


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

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






___ 
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de


Problems with tree buiilder

2006-03-07 Thread Reinhard Poetz
I updated SVN and tried to run the block deployment samples 
(cocoon-deployer-webapp-sample or cocoon-deployer-plugin-demo) and get the 
following stacktrace:


25336 [BoundedThreadPool0-1] WARN org.mortbay.log - /p1/test
org.apache.avalon.framework.configuration.ConfigurationException: Could not load 
TreeBuilder configuration from resource

://org/apache/cocoon/components/treeprocessor/sitemap-language.xml
at 
org.apache.cocoon.components.treeprocessor.sitemap.SitemapLanguage.build(SitemapLanguage.java:423)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:324)
at 
org.apache.cocoon.core.container.handler.PoolableComponentHandler$ProxyHandler.invoke(PoolableComponentHandle

r.java:155)
at $Proxy1.build(Unknown Source)
at 
org.apache.cocoon.components.treeprocessor.TreeProcessor.buildConcreteProcessor(TreeProcessor.java:405)
at 
org.apache.cocoon.components.treeprocessor.TreeProcessor.setupConcreteProcessor(TreeProcessor.java:340)
at 
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:241)
at 
org.apache.cocoon.sitemap.SitemapServlet.service(SitemapServlet.java:161)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
at 
org.apache.cocoon.blocks.servlet.BlockManager.service(BlockManager.java:158)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
at 
org.apache.cocoon.blocks.BlocksContext$PathDispatcher.forward(BlocksContext.java:178)
at 
org.apache.cocoon.blocks.servlet.BlocksManager.service(BlocksManager.java:233)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423)
at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:350)
at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:195)
at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:164)

at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:536)
at org.mortbay.jetty.Server.handle(Server.java:309)
at org.mortbay.jetty.Server.handle(Server.java:285)
at org.mortbay.jetty.HttpConnection.doHandler(HttpConnection.java:364)
at org.mortbay.jetty.HttpConnection.access$1600(HttpConnection.java:46)
at 
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:612)

at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:485)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:194)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:298)
at 
org.mortbay.jetty.nio.SelectChannelConnector$HttpEndPoint.run(SelectChannelConnector.java:710)
at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:412)

Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.get(ArrayList.java:326)
at 
org.apache.cocoon.environment.internal.EnvironmentHelper.getSitemapServiceManager(EnvironmentHelper.java:396)


at 
org.apache.cocoon.components.source.CocoonSourceResolver.getComponentLocator(CocoonSourceResolver.java:212)
at 
org.apache.cocoon.components.source.CocoonSourceResolver.resolveURI(CocoonSourceResolver.java:140)
at 
org.apache.cocoon.components.source.CocoonSourceResolver.resolveURI(CocoonSourceResolver.java:181)
at 
org.apache.cocoon.components.treeprocessor.sitemap.SitemapLanguage.build(SitemapLanguage.java:414)

... 31 more


Any ideas?

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


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

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






___ 
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de


FOP 0.91 Serializer

2006-03-07 Thread Alexander Lochschmied
Hello everybody,

to get Apache FOP 0.91 beta working with Cocoon, a new Serializer is
necessary (the FOP API changed considerably). I wrote a very simple but
working Serializer and hope that helps a little for future releases of
Cocoon. The Serializer doesn't accept any configuration except 'mime-type'
yet.

Best regards,
Alexander

 snip 
package org.apache.cocoon.serialization;

import org.apache.fop.apps.Fop;
import java.io.OutputStream;
import java.io.Serializable;
import javax.xml.parsers.SAXParserFactory;
import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.logger.Logger;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.cocoon.caching.CacheableProcessingComponent;
import org.apache.excalibur.source.SourceValidity;
import org.apache.fop.apps.FOUserAgent;
import org.xml.sax.helpers.DefaultHandler;

public class FOP091Serializer
extends AbstractSerializer
implements
Configurable, CacheableProcessingComponent, Serviceable/*, Disposable */ {
protected Logger  logger;
protected String  mimetype;
protected boolean setContentLength  = true;
protected FOUserAgent userAgent = null;
protected Fop fop   = null;
protected ServiceManager  manager;
protected javax.xml.transform.stream.StreamResult res = null;

public void service( ServiceManager manager )
throws ServiceException {
this.manager = manager;
}

public void configure( Configuration conf )
throws ConfigurationException { 
this.logger = getLogger().getChildLogger( fop );

this.setContentLength =
conf.getChild( set-content-length
).getValueAsBoolean( true );

String configUrl = 
conf.getChild( user-config ).getValue( null );


this.mimetype = conf.getAttribute( mime-type );

// TODO get and use user configuration
// TODO get and use user's renderer definition, ...

}

public String getMimeType() {
return this.mimetype;
}   

public void setOutputStream( OutputStream o ) {
DefaultHandler dh = null;

fop = new Fop( this.mimetype );

fop.setOutputStream( o );

SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setNamespaceAware( true );

try {
dh = fop.getDefaultHandler();
setContentHandler( dh );
} catch( Exception ex) {
; // TODO FIXME
}
}

public Serializable getKey() {
return 0;
}

public SourceValidity getValidity() {
return null; //NOPValidity.SHARED_INSTANCE;
}

public void recycle() {
super.recycle();
this.userAgent = null;
this.fop = null;
}

public boolean shouldSetContentLength() {
return this.setContentLength;
}
}
 snip 



Re: FOP 0.91 Serializer

2006-03-07 Thread Joerg Heinicke
Please add it to our issue tracker Jira at 
https://issues.apache.org/jira/browse/COCOON for organizational and 
especially legal reasons.


Thanks.

Jörg

On 07.03.2006 19:52, Alexander Lochschmied wrote:

Hello everybody,

to get Apache FOP 0.91 beta working with Cocoon, a new Serializer is
necessary (the FOP API changed considerably). I wrote a very simple but
working Serializer and hope that helps a little for future releases of
Cocoon. The Serializer doesn't accept any configuration except 'mime-type'
yet.

Best regards,
Alexander




[jira] Commented: (COCOON-1794) [PATCH] Propagation of namespaces to a repeaters child bindings and implementation of a move-node binding

2006-03-07 Thread Suzan Foster (JIRA)
[ 
http://issues.apache.org/jira/browse/COCOON-1794?page=comments#action_12369295 
] 

Suzan Foster commented on COCOON-1794:
--

I don't think the InsertNodeJXPathBinding is the correct place to implement 
positioning. Positioning doesn't imply insertion as an existing row can be 
freely repositioned. This means that it is perfectly sane to have a repeater 
which doesn't define an insertion method but does define a positioning method. 
The proposal is exactly the same approach as used for both on-insert-row and 
on-delete-row, so seemd the most logical to implement.

 [PATCH] Propagation of namespaces to a repeaters child bindings and 
 implementation of a move-node binding
 -

  Key: COCOON-1794
  URL: http://issues.apache.org/jira/browse/COCOON-1794
  Project: Cocoon
 Type: Bug
   Components: Blocks: Forms
 Versions: 2.1.8, 2.1.9-dev (current SVN)
 Reporter: Suzan Foster
  Attachments: repeater-binding-patch.txt

 This patch corrects the following issues:
 - Namespaced back-end XML model not correctly binding to the repeaters child 
 widgets.
 - Nodes bound to row widgets not being reordered according to row position on 
 save.
 Files affected:
 - JXPathBindingBase:
   - member applyLeniency changed from private to protected.
   - member applyNSDeclarations changed from private to protected.
 - RepeaterJXPathBinding:
   - constructor changed for passing a binding for moveRow.
   - applyLeniency and applyNSDeclarations applied to created relative 
 contexts.
   - member moveRowBinding added.
   - method getMoveRowBinding added.
   - doSave changed to incorporate the use of moveRowBinding.
 - RepeaterJXPathBindingBuilder:
   - buildBinding changed to incorporate the construction of moveRowBinding.
 Files added:
 - MoveNodeJXPathBinding.
 - MoveNodeJXPathBindingBuilder.

-- 
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: Problems with tree buiilder

2006-03-07 Thread Carsten Ziegeler
Reinhard Poetz wrote:
 I updated SVN and tried to run the block deployment samples 
 (cocoon-deployer-webapp-sample or cocoon-deployer-plugin-demo) and get the 
 following stacktrace:
 
 
 Any ideas?
 
Yupp :) This is due to a change I did last week; the change is not
finished as I wanted to discuss possible solutions first here in the
list but didn't have time yet...
Now, the problem is that the code is trying to get the current bean
factory of the sitemap while the sitemap is constructed. With the old
core, we have a fallback with the Cocoon class which calls the
enterEnvironment() method. I guess in the case of the blocks-fw you
don't have this fallback. So the workaround should be to call
enterEnvironment somewhere and but the root processor with the root bean
factory on the stack.

The problem I wanted to discuss is where to store the current bean
factory. Currently I added a getBeanFactory() method to the Processor
interface, allowing each and every processor to have an own bean factory.
An alternative would be to have this outside the processor and have a
processor manager kind of a class which stores the corresponding bean
factory for a processor (if it has one).

I think both solutions make sense. While the first one is easier to
implement, the second one is cleaner as it separates the concerns better.
So which way do we want to proceed? Or is there a better option?

With these changes I'm trying to reduce the impact of the internal
pipeline handling as much as possible. In the optimum case we are able
to remove the environment stack handling completly or at least make it
as small as possible.

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