Re: Caching jx *without* flow

2006-09-18 Thread Niels van Kampenhout

Leszek Gawron wrote:

Thorsten Scherler wrote:

Hi all, hi Ard,

http://marc.theaimsgroup.com/?l=xml-cocoon-usersm=115194685214066w=2
...
Now, the cached jx would depend on these three parameters. 

Very easy to use, and less error prone than the flow part.

If somebody is interested in the code I will hear 


Yes very interested.
http://svn.apache.org/viewvc?view=revrev=446701
https://issues.apache.org/jira/browse/FOR-931

Can you attach a patch to this issue or commit it to cocoon directly?

Would be awesome.

Do I get it right:

you want to patch JXTG to automatically build up a cache key from cocoon 
parameters?


map:match pattern=foo
  map:generate src=foobar.jx
map:parameter name=foo value=bar/
map:parameter name=bar value=foo/
  /map:generate
  map:serialize/
/map:match

so cocoon:/foo gets cached with something like foo=barbar=foo?

Why need a patch for that? After all you already have jx:cache-key and 
jx:cache-validity.




Since Ard is on holiday until the GetTogether, I'll try to answer this 
question.


The reason is, as Ard said, to make it less error prone. People easily 
make mistakes if they have to build a cachekey string themselves, en 
they also easily forget to actually put the jx:cache-key and 
jx:cache-validity attributes in the JX template. I am talking from 
experience!


It also makes the code more readable/transparent/explicit, because you 
don't need the extra flow step anymore in many cases.


Regards,
Niels



Re: Caching jx *without* flow

2006-09-18 Thread Thorsten Scherler
On Sun, 2006-09-17 at 13:48 +0200, Leszek Gawron wrote:
 Thorsten Scherler wrote:
  Hi all, hi Ard,
  
  http://marc.theaimsgroup.com/?l=xml-cocoon-usersm=115194685214066w=2
  ...
  Now, the cached jx would depend on these three parameters. 
  Very easy to use, and less error prone than the flow part. 
  If somebody is interested in the code I will hear 
  
  Yes very interested. 
  
  http://svn.apache.org/viewvc?view=revrev=446701
  https://issues.apache.org/jira/browse/FOR-931
  
  Can you attach a patch to this issue or commit it to cocoon directly?
  
  Would be awesome.
 Do I get it right:
 
 you want to patch JXTG to automatically build up a cache key from cocoon 
 parameters?
 
 map:match pattern=foo
map:generate src=foobar.jx

that is the normal file generator which is indeed cacheable. I am
talking about map:generate type=jx src=foobar.jx which is not
cacheable (if not changed since the last update of the cocoon in
forrest).

  map:parameter name=foo value=bar/
  map:parameter name=bar value=foo/
/map:generate
map:serialize/
 /map:match
 
 so cocoon:/foo gets cached with something like foo=barbar=foo?
 
 Why need a patch for that? After all you already have jx:cache-key and 
 jx:cache-validity.

Can you explain, I read the mail from Ard (see above marc link) and
understood that one need to patch the jx generator to make it cacheable.
If not can you give an example?

TIA

salu2

 
-- 
thorsten

Together we stand, divided we fall! 
Hey you (Pink Floyd)



Re: Caching jx *without* flow

2006-09-18 Thread Leszek Gawron

Niels van Kampenhout wrote:

Leszek Gawron wrote:

Thorsten Scherler wrote:

Hi all, hi Ard,

http://marc.theaimsgroup.com/?l=xml-cocoon-usersm=115194685214066w=2
...
Now, the cached jx would depend on these three parameters. 

Very easy to use, and less error prone than the flow part.

If somebody is interested in the code I will hear 


Yes very interested.
http://svn.apache.org/viewvc?view=revrev=446701
https://issues.apache.org/jira/browse/FOR-931

Can you attach a patch to this issue or commit it to cocoon directly?

Would be awesome.

Do I get it right:

you want to patch JXTG to automatically build up a cache key from 
cocoon parameters?


map:match pattern=foo
  map:generate src=foobar.jx
map:parameter name=foo value=bar/
map:parameter name=bar value=foo/
  /map:generate
  map:serialize/
/map:match

so cocoon:/foo gets cached with something like foo=barbar=foo?

Why need a patch for that? After all you already have jx:cache-key and 
jx:cache-validity.




Since Ard is on holiday until the GetTogether, I'll try to answer this 
question.


The reason is, as Ard said, to make it less error prone. People easily 
make mistakes if they have to build a cachekey string themselves, en 
they also easily forget to actually put the jx:cache-key and 
jx:cache-validity attributes in the JX template. I am talking from 
experience!


It also makes the code more readable/transparent/explicit, because you 
don't need the extra flow step anymore in many cases.


1. You don't need the extraflow step even right now. jx:cache-key and 
jx:cache-validity works no matter what controller was used.


2. The solution you are proposing is error prone. The jx object model 
does not get narrowed only to cocoon parameters so you are still able to 
use cocoon.session, cocoon.request.


3. I hardly see the point to make any JXTG customizations if you can do 
something like:


page 
jx:cache-key=${Packages.org.apache.cocoon.template.CocoonParametersCacheKeyBuilder.buildKey( 
cocoon.parameters )} jx:cache-validity=${some validity}

.../
/page

and

public class CocoonParametersCacheKeyBuilder {
  public static String buildKey( Parameters parameters ) {
// you probably need to sort cocoon parameters here so the order is
// explicit
StringBuffer buffer = new StringBuffer();
String[] parameterNames = parameters.getNames();
for ( int i = 0; i  parameterNames.length; ++i ) {
String currentParameterName = parameterNames[ i ];
if ( i  0 )
  buffer.append(  );
buffer.append( urlEncode( currentParameterName ) );
buffer.append( = );
buffer.append( urlEncode( parameters.getParameter(
  currentParameterName ) ) );
}
return buffer.toString();
  }
}

We could probably add this class to cocoon-template block and provide 
some samples. Still - nothing needs to be changed.


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


Re: Caching jx *without* flow

2006-09-18 Thread Thorsten Scherler
On Mon, 2006-09-18 at 09:33 +0200, Niels van Kampenhout wrote:
 Leszek Gawron wrote:
  Thorsten Scherler wrote:
  Hi all, hi Ard,
 
  http://marc.theaimsgroup.com/?l=xml-cocoon-usersm=115194685214066w=2
  ...
  Now, the cached jx would depend on these three parameters. 
  Very easy to use, and less error prone than the flow part.
  If somebody is interested in the code I will hear 
 
  Yes very interested.
  http://svn.apache.org/viewvc?view=revrev=446701
  https://issues.apache.org/jira/browse/FOR-931
 
  Can you attach a patch to this issue or commit it to cocoon directly?
 
  Would be awesome.
  Do I get it right:
  
  you want to patch JXTG to automatically build up a cache key from cocoon 
  parameters?
  
  map:match pattern=foo
map:generate src=foobar.jx
  map:parameter name=foo value=bar/
  map:parameter name=bar value=foo/
/map:generate
map:serialize/
  /map:match
  
  so cocoon:/foo gets cached with something like foo=barbar=foo?
  
  Why need a patch for that? After all you already have jx:cache-key and 
  jx:cache-validity.
  
 
 Since Ard is on holiday until the GetTogether, I'll try to answer this 
 question.
 
 The reason is, as Ard said, to make it less error prone. People easily 
 make mistakes if they have to build a cachekey string themselves, en 
 they also easily forget to actually put the jx:cache-key and 
 jx:cache-validity attributes in the JX template. I am talking from 
 experience!

Especially if one uses jx for pure presentation logic. The usecase in
forrest is that we use jx for the structurers (which are part of the
dispatcher). Meaning if we force the user to add above tags in the
jx:template, we will spend our days in answering the user mails that
forgot to add it or do not know how to do it, ...

 
 It also makes the code more readable/transparent/explicit, because you 
 don't need the extra flow step anymore in many cases.

Like stated in the subject, we do not even use flow and adding flow only
for caching I consider kind of stupid.

Can you give a hint how to do it? Is it as simple as adding the params
to the cache key? If so would one use an aggregate validity since one
would need to add all jx:import's to the validity object. 

I just wrapped up the caching in the dispatcher and I reckon the jx
generator would need a similar patch like
http://svn.apache.org/viewvc?view=revrevision=447311 (see
DispatcherTransformer.java) 
http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java?r1=446701r2=447311pathrev=447311diff_format=h

TIA

salu2
 
 Regards,
 Niels
 
-- 
thorsten

Together we stand, divided we fall! 
Hey you (Pink Floyd)



Re: Caching jx *without* flow

2006-09-18 Thread Leszek Gawron

Thorsten Scherler wrote:

map:match pattern=foo
   map:generate src=foobar.jx


that is the normal file generator which is indeed cacheable. I am
talking about map:generate type=jx src=foobar.jx which is not
cacheable (if not changed since the last update of the cocoon in
forrest).
I am sorry - it should of course state map:generate type=jx 
src=foobar.jx


JXTG IS cacheable if you provide jx:cache-key and jx:cache-validity in 
template body.



 map:parameter name=foo value=bar/
 map:parameter name=bar value=foo/
   /map:generate
   map:serialize/
/map:match

so cocoon:/foo gets cached with something like foo=barbar=foo?

Why need a patch for that? After all you already have jx:cache-key and 
jx:cache-validity.


Can you explain, I read the mail from Ard (see above marc link) and
understood that one need to patch the jx generator to make it cacheable.
If not can you give an example?


Please read my other reply. If I have time I will commit some samples to 
trunk that would outline jxtg caching.


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


Re: Caching jx *without* flow

2006-09-18 Thread Niels van Kampenhout

Leszek Gawron wrote:

Niels van Kampenhout wrote:

Leszek Gawron wrote:

Thorsten Scherler wrote:

Hi all, hi Ard,

http://marc.theaimsgroup.com/?l=xml-cocoon-usersm=115194685214066w=2
...
Now, the cached jx would depend on these three parameters. 

Very easy to use, and less error prone than the flow part.

If somebody is interested in the code I will hear 


Yes very interested.
http://svn.apache.org/viewvc?view=revrev=446701
https://issues.apache.org/jira/browse/FOR-931

Can you attach a patch to this issue or commit it to cocoon directly?

Would be awesome.

Do I get it right:

you want to patch JXTG to automatically build up a cache key from 
cocoon parameters?


map:match pattern=foo
  map:generate src=foobar.jx
map:parameter name=foo value=bar/
map:parameter name=bar value=foo/
  /map:generate
  map:serialize/
/map:match

so cocoon:/foo gets cached with something like foo=barbar=foo?

Why need a patch for that? After all you already have jx:cache-key 
and jx:cache-validity.




Since Ard is on holiday until the GetTogether, I'll try to answer this 
question.


The reason is, as Ard said, to make it less error prone. People easily 
make mistakes if they have to build a cachekey string themselves, en 
they also easily forget to actually put the jx:cache-key and 
jx:cache-validity attributes in the JX template. I am talking from 
experience!


It also makes the code more readable/transparent/explicit, because you 
don't need the extra flow step anymore in many cases.


1. You don't need the extraflow step even right now. jx:cache-key and 
jx:cache-validity works no matter what controller was used.


2. The solution you are proposing is error prone. The jx object model 
does not get narrowed only to cocoon parameters so you are still able to 
use cocoon.session, cocoon.request.


3. I hardly see the point to make any JXTG customizations if you can do 
something like:


page 
jx:cache-key=${Packages.org.apache.cocoon.template.CocoonParametersCacheKeyBuilder.buildKey( 
cocoon.parameters )} jx:cache-validity=${some validity}

.../
/page

and

public class CocoonParametersCacheKeyBuilder {
  public static String buildKey( Parameters parameters ) {
// you probably need to sort cocoon parameters here so the order is
// explicit
StringBuffer buffer = new StringBuffer();
String[] parameterNames = parameters.getNames();
for ( int i = 0; i  parameterNames.length; ++i ) {
String currentParameterName = parameterNames[ i ];
if ( i  0 )
  buffer.append(  );
buffer.append( urlEncode( currentParameterName ) );
buffer.append( = );
buffer.append( urlEncode( parameters.getParameter(
  currentParameterName ) ) );
}
return buffer.toString();
  }
}

We could probably add this class to cocoon-template block and provide 
some samples. Still - nothing needs to be changed.




I must admit that I don't know much about JXTG from a developer's 
p.o.v., but from a user's p.o.v. (building web sites) our 
HippoJXTemplateGenerator [1] has been a huge improvement over the JXTG. 
But then, maybe JXTG has features that I don't know about which could 
make life easier without the modifications in [1]. I can't find them in 
the documentation [2,3] however. I guess I need to dive into the code 
for that ;-)


Thanks,
Niels

[1] 
http://svn.hippocms.org/repos/hippo/hippo-cocoon-extensions/trunk/hippo-misc/src/java/nl/hippo/cocoon/generation/HippoJXTemplateGenerator.java

[2] http://cocoon.apache.org/2.1/userdocs/jx-generator.html
[3] http://wiki.apache.org/cocoon/JXTemplateGenerator



Re: Caching jx *without* flow

2006-09-18 Thread Thorsten Scherler
On Mon, 2006-09-18 at 10:05 +0200, Leszek Gawron wrote:
 Niels van Kampenhout wrote:
  Leszek Gawron wrote:
  Thorsten Scherler wrote:
  Hi all, hi Ard,
 
  http://marc.theaimsgroup.com/?l=xml-cocoon-usersm=115194685214066w=2
  ...
  Now, the cached jx would depend on these three parameters. 
  Very easy to use, and less error prone than the flow part.
  If somebody is interested in the code I will hear 
 
  Yes very interested.
  http://svn.apache.org/viewvc?view=revrev=446701
  https://issues.apache.org/jira/browse/FOR-931
 
  Can you attach a patch to this issue or commit it to cocoon directly?
 
  Would be awesome.
  Do I get it right:
 
  you want to patch JXTG to automatically build up a cache key from 
  cocoon parameters?
 
  map:match pattern=foo
map:generate src=foobar.jx
  map:parameter name=foo value=bar/
  map:parameter name=bar value=foo/
/map:generate
map:serialize/
  /map:match
 
  so cocoon:/foo gets cached with something like foo=barbar=foo?
 
  Why need a patch for that? After all you already have jx:cache-key and 
  jx:cache-validity.
 
  
  Since Ard is on holiday until the GetTogether, I'll try to answer this 
  question.
  
  The reason is, as Ard said, to make it less error prone. People easily 
  make mistakes if they have to build a cachekey string themselves, en 
  they also easily forget to actually put the jx:cache-key and 
  jx:cache-validity attributes in the JX template. I am talking from 
  experience!
  
  It also makes the code more readable/transparent/explicit, because you 
  don't need the extra flow step anymore in many cases.
 
 1. You don't need the extraflow step even right now. jx:cache-key and 
 jx:cache-validity works no matter what controller was used.
 
 2. The solution you are proposing is error prone. The jx object model 
 does not get narrowed only to cocoon parameters so you are still able to 
 use cocoon.session, cocoon.request.

Hmm, that is why Ard wrote:
  now, to var ck you append the things that is depends on 
 (like a request parameter, current week number, etc)

Sure one need to take care to add all request parameter the jx depends on to 
the sitemap. 
I do not want to judge which method is more error prone, both have their pros 
and cons.

 
 3. I hardly see the point to make any JXTG customizations if you can do 
 something like:
 
 page 
 jx:cache-key=${Packages.org.apache.cocoon.template.CocoonParametersCacheKeyBuilder.buildKey(
  
 cocoon.parameters )} jx:cache-validity=${some validity}
 .../
 /page
 
 and
 
 public class CocoonParametersCacheKeyBuilder {
public static String buildKey( Parameters parameters ) {
  // you probably need to sort cocoon parameters here so the order is
  // explicit
  StringBuffer buffer = new StringBuffer();
  String[] parameterNames = parameters.getNames();
  for ( int i = 0; i  parameterNames.length; ++i ) {
  String currentParameterName = parameterNames[ i ];
  if ( i  0 )
buffer.append(  );
  buffer.append( urlEncode( currentParameterName ) );
  buffer.append( = );
  buffer.append( urlEncode( parameters.getParameter(
currentParameterName ) ) );
  }
  return buffer.toString();
}
 }
 

Hmm, maybe the documentation is outdated but
http://cocoon.apache.org/2.1/userdocs/flow/jxtemplate.html state When
used inside flow, JXTemplate has access to Java and can therefore
evaluate expressions like java.util.Date() or java.util.HashMap().
This does NOT work when JXTemplates are used without flow.

Wouldn't that mean that the example would not work without flow?

Further regarding the validity as I understand your example this would
not allow to use an AggregatedValidity which would be extended for all
jx:import/, or? 

Or could I do 
jx:set var=validity value=new AggregatedValidity()/ 
...
jx:set var=validity value=${validity.add(importValidity)}
...

 We could probably add this class to cocoon-template block and provide 
 some samples. Still - nothing needs to be changed.

Yeah that would be awesome. Still I am not sure whether the forrest
community would accept the inline solution. I understand your point
though, but under the user perspective I am with Niels.

salu2
-- 
thorsten

Together we stand, divided we fall! 
Hey you (Pink Floyd)



Re: [M10N] Eclipse projects

2006-09-18 Thread Leszek Gawron

Joerg Heinicke wrote:

On 17.09.2006 14:38, Leszek Gawron wrote:

Is this something we can influence at all? Is this a problem of the 
Maven Eclipse plugin? Or is everything left to the project wizard of 
Eclipse?


Are you refering to maven eclipse plugin which you invoke by mvn 
eclipse:eclipse or to m2eclipse (which is an eclipse plugin for 
handling maven projects)?


One is the Maven Eclipse plugin, the other one the Eclipse Maven plugin ;)

I refer to Maven plugin invoked via eclipse:eclipse as described in our 
readme.txt or in Daisy.
I've been having problems with this plugin too. Switched to m2eclipse. 
It is enough to refresh project after modifying pom.xml and new jars are 
automaticaly placed on classpath.


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


Re: [GT2006] 17 talks proposed!

2006-09-18 Thread hepabolu

Arje Cahn said the following on 15/9/06 14:35:


I think this is really awsome list of talks.
What do you think??


GREAT! +100


Things your mother never told you about Cocoon (The secret gems of Cocoon 
rebranded)
+1 wednesdaymorning

10 Reasons to use Cocoon
+1 wednesdaymorning

Cocoon reloaded: moving from xsp and actions to newer technologies
+1 for hackaton day 2 talk

Case studies
-1 (there's already a couple of them..)

An illustrated guide to Cocoon technologies
+1 (good fun to have in the morning sessions)

Cocoon archetypes (How to create a typical project with cocoon rebranded)
+0


I agree with all of these. I also agree with Betrand to have the rest of 
Andrew's talks be written up on XML.com or similar. We missed out on the 
last round of articles that I proposed after the previous GT, so it 
might as well get beyond the idea stage this time.


Bye, Helma



Re: Caching jx *without* flow

2006-09-18 Thread Leszek Gawron

Niels van Kampenhout wrote:
We could probably add this class to cocoon-template block and provide 
some samples. Still - nothing needs to be changed.




I must admit that I don't know much about JXTG from a developer's 
p.o.v., but from a user's p.o.v. (building web sites) our 
HippoJXTemplateGenerator [1] has been a huge improvement over the JXTG. 
But then, maybe JXTG has features that I don't know about which could 
make life easier without the modifications in [1]. I can't find them in 
the documentation [2,3] however. I guess I need to dive into the code 
for that ;-)


Thanks,
Niels

[1] 
http://svn.hippocms.org/repos/hippo/hippo-cocoon-extensions/trunk/hippo-misc/src/java/nl/hippo/cocoon/generation/HippoJXTemplateGenerator.java 


[2] http://cocoon.apache.org/2.1/userdocs/jx-generator.html
[3] http://wiki.apache.org/cocoon/JXTemplateGenerator


Please update your cocoon checkout to the latest trunk. Then build 
cocoon-webapp, run it and point your browser to: 
http://localhost:/blocks/cocoon-template-sample/view/caching3


The template header is:

page xmlns:jx=http://apache.org/cocoon/templates/jx/1.0; 
jx:cache-key=${cocoon.request.parameters.toString()} 
jx:cache-validity=${Packages.org.apache.excalibur.source.impl.validity.NOPValidity()}


you probably may do the same with 
jx:cache-key=${cocoon.parameters.toString()} which will automatically 
build up cache-key out of all cocoon parameters passed to the template. 
Haven't tested it though. This means you probably don't even need any 
additional code to achieve your goals.


The only thing that's missing from HippoJXTemplateGenerator.java 
functionality is the ability to exclude some parameters from cache key. 
Anyway this looks like FS from the start:

 - if template makes use of all cocoon parameters they should be a part
   of the cache key,
 - if not - you shouldn't pass them instead of excluding.

Please comment.


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


Re: [GT2006] 17 talks proposed!

2006-09-18 Thread Andrew Savory

Hi,

Arje Cahn wrote:

I agree with all of these. I also agree with Betrand to have 
the rest of Andrew's talks be written up on XML.com or 
similar. We missed out on the last round of articles that I 
proposed after the previous GT, so it might as well get 
beyond the idea stage this time.


... Just a thought; what about hacking together an article at the hackaton with 
a couple of people?? I'd be happy to join! Andrew? WDYT?


It all sounds good - and doing the article during the hackathon would be 
a great way to contribute for those of us (me included) that never 
manage to close bugs ;-)



Thanks,

Andrew.
--
Andrew Savory, Managing Director, Luminas Limited
Tel: +44 (0)870 741 6658  Fax: +44 (0)700 598 1135
Web: http://www.luminas.co.uk/
Orixo alliance: http://www.orixo.com/


Re: Caching jx *without* flow

2006-09-18 Thread Niels van Kampenhout

Leszek Gawron wrote:
Please update your cocoon checkout to the latest trunk. Then build 
cocoon-webapp, run it and point your browser to: 
http://localhost:/blocks/cocoon-template-sample/view/caching3


The template header is:

page xmlns:jx=http://apache.org/cocoon/templates/jx/1.0; 
jx:cache-key=${cocoon.request.parameters.toString()} 
jx:cache-validity=${Packages.org.apache.excalibur.source.impl.validity.NOPValidity()} 



you probably may do the same with 
jx:cache-key=${cocoon.parameters.toString()} which will automatically 
build up cache-key out of all cocoon parameters passed to the template. 
Haven't tested it though. This means you probably don't even need any 
additional code to achieve your goals.


I see what you mean, and I agree that it would allow us to do what we 
are doing now with our custom code.


BTW, we use Cocoon 2.1.8, not the trunk.

The only thing that's missing from HippoJXTemplateGenerator.java 
functionality is the ability to exclude some parameters from cache key. 
Anyway this looks like FS from the start:


What do you mean by FS? False Security?


 - if template makes use of all cocoon parameters they should be a part
   of the cache key,
 - if not - you shouldn't pass them instead of excluding.

Please comment.


These two statements are true, and exactly satisfy our requirements. You 
may have other requirements, though.


What matters to me is this: in our projects we mainly use JXTG and XSLT, 
and (as far as I can see from a user perspective) with our solution the 
formation of the cache key is consistent between the two (cocoon 
parameters == cache key). This is a big plus in the fragmented world of 
Cocoon technologies.


Bottom line: we prefer different solutions and are both happy with them. 
Good thing we live in a free world ;-)


Regards,
Niels



Re: Caching jx *without* flow

2006-09-18 Thread Leszek Gawron

Niels van Kampenhout wrote:

Leszek Gawron wrote:
Please update your cocoon checkout to the latest trunk. Then build 
cocoon-webapp, run it and point your browser to: 
http://localhost:/blocks/cocoon-template-sample/view/caching3


The template header is:

page xmlns:jx=http://apache.org/cocoon/templates/jx/1.0; 
jx:cache-key=${cocoon.request.parameters.toString()} 
jx:cache-validity=${Packages.org.apache.excalibur.source.impl.validity.NOPValidity()} 



you probably may do the same with 
jx:cache-key=${cocoon.parameters.toString()} which will 
automatically build up cache-key out of all cocoon parameters passed 
to the template. Haven't tested it though. This means you probably 
don't even need any additional code to achieve your goals.


I see what you mean, and I agree that it would allow us to do what we 
are doing now with our custom code.


BTW, we use Cocoon 2.1.8, not the trunk.

This should also work with 2.1

The only thing that's missing from HippoJXTemplateGenerator.java 
functionality is the ability to exclude some parameters from cache 
key. Anyway this looks like FS from the start:


What do you mean by FS? False Security?

Flexibility Syndrome :)




 - if template makes use of all cocoon parameters they should be a part
   of the cache key,
 - if not - you shouldn't pass them instead of excluding.

Please comment.


These two statements are true, and exactly satisfy our requirements. You 
may have other requirements, though.
I was refering to jx:includeKey and jx:excludeKey parameters in your 
generator. Why do you use it at all?


What matters to me is this: in our projects we mainly use JXTG and XSLT, 
and (as far as I can see from a user perspective) with our solution the 
formation of the cache key is consistent between the two (cocoon 
parameters == cache key). This is a big plus in the fragmented world of 
Cocoon technologies.
I like the analogy. In order to fully utilise it we would have to go 
further in similarities: JTGX object model in this case should be 
constructed only with sitemap parameters.


automatic cache key from sitemap parameters + small object model = full 
XSLT analogy. We could try this.


Bottom line: we prefer different solutions and are both happy with them. 
Good thing we live in a free world ;-)

Agreed :)

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


Re: [GT2006] 17 talks proposed!

2006-09-18 Thread hepabolu

Andrew Savory said the following on 18/9/06 17:38:

Hi,

Arje Cahn wrote:

I agree with all of these. I also agree with Betrand to have the rest 
of Andrew's talks be written up on XML.com or similar. We missed out 
on the last round of articles that I proposed after the previous GT, 
so it might as well get beyond the idea stage this time.


... Just a thought; what about hacking together an article at the 
hackaton with a couple of people?? I'd be happy to join! Andrew? WDYT?


It all sounds good - and doing the article during the hackathon would be 
a great way to contribute for those of us (me included) that never 
manage to close bugs ;-)


Great! I'll help out.

Bye, Helma