Re: DB-Connection
I'm with you Barry. I've had much better luck getting DB connections out of the web app configuration and into a more neutral location. Something that allows me to run the services and test code from the command line. This leads to much better developer productivity overall. Michael Grundvig Electrotank, Inc http://www.electrotank.com - Original Message - From: Barry Books [EMAIL PROTECTED] To: Tapestry users users@tapestry.apache.org Sent: Monday, December 18, 2006 9:31 AM Subject: Re: DB-Connection I switched to injecting connections with Hivemind and I would say it's well worth the effort. I could never figure out how to test code when using the Tomcat database connections but with the Hivemind method you can just get a connection and add it to the objects you want to test. There is an example in the tapestry-examples/TimeTracker application. It's a bit difficult to setup the first time and involves Hivemind and Java Proxies, but in the end it's well worth the effort. I also create a separate Eclipse project called TestDB that can create test database connections the in my test code I do this private static Repository repository; @BeforeClass public static void setUpBeforeClass() throws Exception { repository = Repository.newTestInstance(TestConnection.getConnection()); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Equivalent of JSP Includes?
How do you do the little snippet below in Tapestry? % // This could be any code needed, but it results in a specific page String pageToInclude = blah.html; % jsp:include page=%=pageToInclude% Thanks! Michael Grundvig Electrotank, Inc http://www.electrotank.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Equivalent of JSP Includes?
But how can you dynamically define the component name? I have 20-30 custom components (each one is an ad) and one template for the whole site with spots for 6 components. The site has an external tool to manage which page has which of the 20-30 components in what location. I want to know how to do that dynamically in Tapestry. Basically, I really want to maintain only a single template for the site but still show different components in places. Thanks! Michael - Original Message - From: Jesse Kuhnert [EMAIL PROTECTED] To: Tapestry users users@tapestry.apache.org Sent: Sunday, September 24, 2006 9:21 AM Subject: Re: Equivalent of JSP Includes? I usually do something like: span jwcid=@MyCustomComponentName / On 9/24/06, Mike Grundvig [EMAIL PROTECTED] wrote: How do you do the little snippet below in Tapestry? % // This could be any code needed, but it results in a specific page String pageToInclude = blah.html; % jsp:include page=%=pageToInclude% Thanks! Michael Grundvig Electrotank, Inc http://www.electrotank.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Equivalent of JSP Includes?
Doh! That's the second time someone has suggested RenderBlock to me, but apparently I'm dense because I really can't see how that does what I need. If I make my original example JSP more sophisticated, how could render block do this? % String pageToInclude = blah_ + request.getParameter(id) + .html; % jsp:include page=%=pageToInclude% My understanding is that render block lets me put Blocks in the page that is using the template and the template itself will render that out inline. I don't see how I can pass another tapestry component name and the render block will render it. Please correct me if I'm mistaken. Thanks! Michael - Original Message - From: Jesse Kuhnert [EMAIL PROTECTED] To: Tapestry users users@tapestry.apache.org Sent: Sunday, September 24, 2006 9:32 AM Subject: Re: Equivalent of JSP Includes? Ah, then you definitely want to use RenderBlock. http://tapestry.apache.org/tapestry4.1/components/RenderBlock.html On 9/24/06, Mike Grundvig [EMAIL PROTECTED] wrote: But how can you dynamically define the component name? I have 20-30 custom components (each one is an ad) and one template for the whole site with spots for 6 components. The site has an external tool to manage which page has which of the 20-30 components in what location. I want to know how to do that dynamically in Tapestry. Basically, I really want to maintain only a single template for the site but still show different components in places. Thanks! Michael - Original Message - From: Jesse Kuhnert [EMAIL PROTECTED] To: Tapestry users users@tapestry.apache.org Sent: Sunday, September 24, 2006 9:21 AM Subject: Re: Equivalent of JSP Includes? I usually do something like: span jwcid=@MyCustomComponentName / On 9/24/06, Mike Grundvig [EMAIL PROTECTED] wrote: How do you do the little snippet below in Tapestry? % // This could be any code needed, but it results in a specific page String pageToInclude = blah.html; % jsp:include page=%=pageToInclude% Thanks! Michael Grundvig Electrotank, Inc http://www.electrotank.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Equivalent of JSP Includes?
You are absolutely correct Martin; I can simple read the ad HTML from the file system and have a low-level component inject the ad data into the output. This is a last resort though because as soon as I do this, I lose all the niceties of Tapestry. The intent is for the ads (loose term here) to be 1 to 1 marketing type ads as well as dynamic in their own right. Thanks! Michael Grundvig Electrotank, Inc http://www.electrotank.com - Original Message - From: Martin Strand [EMAIL PROTECTED] To: Tapestry users users@tapestry.apache.org Sent: Sunday, September 24, 2006 9:39 AM Subject: Re: Equivalent of JSP Includes? Ads are often static rather than dynamic. Perhaps you can just use Insert and output raw HTML instead of making each ad a component? Martin On Sun, 24 Sep 2006 16:31:12 +0200, Mike Grundvig [EMAIL PROTECTED] wrote: But how can you dynamically define the component name? I have 20-30 custom components (each one is an ad) and one template for the whole site with spots for 6 components. The site has an external tool to manage which page has which of the 20-30 components in what location. I want to know how to do that dynamically in Tapestry. Basically, I really want to maintain only a single template for the site but still show different components in places. Thanks! Michael - Original Message - From: Jesse Kuhnert [EMAIL PROTECTED] To: Tapestry users users@tapestry.apache.org Sent: Sunday, September 24, 2006 9:21 AM Subject: Re: Equivalent of JSP Includes? I usually do something like: span jwcid=@MyCustomComponentName / On 9/24/06, Mike Grundvig [EMAIL PROTECTED] wrote: How do you do the little snippet below in Tapestry? % // This could be any code needed, but it results in a specific page String pageToInclude = blah.html; % jsp:include page=%=pageToInclude% Thanks! Michael Grundvig Electrotank, Inc http://www.electrotank.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Equivalent of JSP Includes?
Yes Robert; that is EXACTLY what I'm looking for. I'm willing to write the meta component myself but I don't know how to ensure Tapestry loads the component dynamically. I'm sure there is a service somewhere and I simply use the path to the component or some such. Sadly; this is something I assumed would be a trivial thing to implement but now it's proving to be a nightmare. Peter: I've poured over those examples closely now and I still don't see how this does what I need. I'm not trying to be argumentative or dense, but I'm not seeing how it provides what I'm looking for. The best I can come up with using RenderBlock is something like this: TEMPLATE -=-=- html ... span jwcid=@RenderBlock block=ad1Ad1/span span jwcid=@RenderBlock block=ad2Ad1/span span jwcid=@RenderBlock block=ad2Ad1/span ... /html PAGE USING TEMPLATE (one of almost 2000) -=-=- html span jwcid=[EMAIL PROTECTED] span jwcid=@otherProductsListThisAd /span span jwcid=[EMAIL PROTECTED] span jwcid=@otherPurchasedProductsAd /span span jwcid=[EMAIL PROTECTED] span jwcid=@popularProductsAd /span /html Thanks for any suggestions or advice! Michael - Original Message - From: Robert Binna [EMAIL PROTECTED] To: Tapestry users users@tapestry.apache.org Sent: Sunday, September 24, 2006 9:51 AM Subject: Re: Equivalent of JSP Includes? But if RenderBlock is used the Block that should be rendered must be somewhere defined, or do I get it totaly wrong? Is something like this possible (I think that's what Mike wants to do): span jwcid=@MetaComponent componentName=ognl:nameOfComponent [informal parameters.] / Robert Jesse Kuhnert schrieb: The page I referenced gives you an example of what you asked for. http://tapestry.apache.org/tapestry4.1/components/RenderBlock.html On 9/24/06, Mike Grundvig [EMAIL PROTECTED] wrote: Doh! That's the second time someone has suggested RenderBlock to me, but apparently I'm dense because I really can't see how that does what I need. If I make my original example JSP more sophisticated, how could render block do this? % String pageToInclude = blah_ + request.getParameter(id) + .html; % jsp:include page=%=pageToInclude% My understanding is that render block lets me put Blocks in the page that is using the template and the template itself will render that out inline. I don't see how I can pass another tapestry component name and the render block will render it. Please correct me if I'm mistaken. Thanks! Michael - Original Message - From: Jesse Kuhnert [EMAIL PROTECTED] To: Tapestry users users@tapestry.apache.org Sent: Sunday, September 24, 2006 9:32 AM Subject: Re: Equivalent of JSP Includes? Ah, then you definitely want to use RenderBlock. http://tapestry.apache.org/tapestry4.1/components/RenderBlock.html On 9/24/06, Mike Grundvig [EMAIL PROTECTED] wrote: But how can you dynamically define the component name? I have 20-30 custom components (each one is an ad) and one template for the whole site with spots for 6 components. The site has an external tool to manage which page has which of the 20-30 components in what location. I want to know how to do that dynamically in Tapestry. Basically, I really want to maintain only a single template for the site but still show different components in places. Thanks! Michael - Original Message - From: Jesse Kuhnert [EMAIL PROTECTED] To: Tapestry users users@tapestry.apache.org Sent: Sunday, September 24, 2006 9:21 AM Subject: Re: Equivalent of JSP Includes? I usually do something like: span jwcid=@MyCustomComponentName / On 9/24/06, Mike Grundvig [EMAIL PROTECTED] wrote: How do you do the little snippet below in Tapestry? % // This could be any code needed, but it results in a specific page String pageToInclude = blah.html; % jsp:include page=%=pageToInclude% Thanks! Michael Grundvig Electrotank, Inc http://www.electrotank.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED
Re: CMS Integration
I left this vague to allow any sort of response. Basically, the closer it gets to something like Magnolia the better but anything someone else has done would be a start. Michael Grundvig Electrotank, Inc http://www.electrotank.com - Original Message - From: Phillip Rhodes [EMAIL PROTECTED] To: Tapestry users users@tapestry.apache.org Sent: Wednesday, July 05, 2006 10:59 AM Subject: Re: CMS Integration What are the basic requirements? CMS is a many-faceted beast. Has anyone integrated any sort of CMS tool with Tapestry? I've looked into Magnolia and several others, but all seem to require an uphill battle if they are to be tied into Tapestry and I was wondering if someone else has already done this. Thanks! Michael Grundvig - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tapestry JumpStart - calling all armchair critics!
This would have been very helpful to me a few months ago. You ask for feedback, I have some: * Possibly include friendly urls? * Maybe a version that doesn't use EJB? That seems a less likely usage then most. This would also let you use something lighter then JBoss. * A Maven2 version? This would get you away from being even remotely IDE specific and guides people in good project structure/layout. Anyways, those are just my thoughts. Thanks for putting this together! Michael Grundvig Electrotank, Inc http://www.electrotank.com - Original Message - From: liigo [EMAIL PROTECTED] To: Tapestry users users@tapestry.apache.org Sent: Sunday, July 02, 2006 1:40 AM Subject: Re: Tapestry JumpStart - calling all armchair critics! well done, thanks! 2006/7/2, Geoff Callender [EMAIL PROTECTED]: To all the armchair critics out there, I've built a Tapestry learning tool called Tapestry JumpStart and I'm looking for feedback before I add it to the Wiki. http://files.doublenegative.com.au/jumpstart/ My aim is to make it as easy as possible for newcomers to get up and running with Tapestry, so any suggestions on how to make the website really approachable and the code really easy to get into would be very much appreciated. And if you spot any poor Tapestry practises in the code then please let me know ASAP! I'd hate to be responsible for spreading bad techniques. Cheers, Geoff - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: friendly URL restart redirects to /app
This is not directly related to your question but are your pages all named .html? I ask because I saw this: page-service-encoder id=page extension=htm service=page/ I've found a bug in T4 where your extension might be htm, but Tapestry expects all templates to be named .html. Mike Michael Grundvig Electrotank, Inc http://www.electrotank.com - Original Message - From: hv @ Fashion Content [EMAIL PROTECTED] To: users@tapestry.apache.org Sent: Sunday, June 25, 2006 8:16 AM Subject: friendly URL restart redirects to /app I followed the instructions on friendly urls for T4, and it works just fine except for one thing. The exception page correctly links to '/restart.do', but when you follow the link it gets redirected to '/app' rather than '/' Is this a bug or didn't I configure it correctly? contribution configuration-id=tapestry.url.ServiceEncoders direct-service-encoder id=direct stateless-extension=direct stateful-extension=sdirect/ page-service-encoder id=page extension=htm service=page/ page-service-encoder id=external extension=external service=external/ asset-encoder id=asset path=/assets/ extension-encoder id=ext extension=do after=*/ /contribution - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: friendly URL restart redirects to /app
Short of re-writing some of the internal guts of Tapestry, templates have to end in the .HTML extension (or you have to rename all the internal Tapestry templates to your new extension). That's what I was referring to. I brought this up only so you wouldn't be caught by surprise like I was. Michael Grundvig Electrotank, Inc http://www.electrotank.com - Original Message - From: hv @ Fashion Content [EMAIL PROTECTED] To: users@tapestry.apache.org Sent: Sunday, June 25, 2006 10:07 AM Subject: Re: friendly URL restart redirects to /app All my templates are named .html, so I can actually access the template in parallel with the page service. I don't consider it a bug, and you can change it. ServiceEncoders deal with how URLs are interpreted not how files/resources are named. In Tap3 you would change it in the .application file, I guess you can now change it in hivemodule.xml as well if you want. http://tapestry.apache.org/tapestry4/tapestry/hivedocs/config/hivemind.FactoryDefaults.html In Tap4 there is a new PageSource thing, which I guess means that you can completely change how templates are handled if you like. Henrik Mike Grundvig [EMAIL PROTECTED] skrev i en meddelelse news:[EMAIL PROTECTED] This is not directly related to your question but are your pages all named .html? I ask because I saw this: page-service-encoder id=page extension=htm service=page/ I've found a bug in T4 where your extension might be htm, but Tapestry expects all templates to be named .html. Mike Michael Grundvig Electrotank, Inc http://www.electrotank.com - Original Message - From: hv @ Fashion Content [EMAIL PROTECTED] To: users@tapestry.apache.org Sent: Sunday, June 25, 2006 8:16 AM Subject: friendly URL restart redirects to /app I followed the instructions on friendly urls for T4, and it works just fine except for one thing. The exception page correctly links to '/restart.do', but when you follow the link it gets redirected to '/app' rather than '/' Is this a bug or didn't I configure it correctly? contribution configuration-id=tapestry.url.ServiceEncoders direct-service-encoder id=direct stateless-extension=direct stateful-extension=sdirect/ page-service-encoder id=page extension=htm service=page/ page-service-encoder id=external extension=external service=external/ asset-encoder id=asset path=/assets/ extension-encoder id=ext extension=do after=*/ /contribution - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: friendly URL restart redirects to /app
Yes, Mr. Ship just posted that on the Dev forum. I'm very glad to be incorrect. This will save me a ton of time :) Michael Grundvig Electrotank, Inc http://www.electrotank.com - Original Message - From: hv @ Fashion Content [EMAIL PROTECTED] To: users@tapestry.apache.org Sent: Sunday, June 25, 2006 11:03 AM Subject: Re: friendly URL restart redirects to /app Thanks for the advice, but you are actually wrong. It is quite trivial to change the Tapestry defaults. The default you are talking about can be changed by a meta line in the webapp.application file or by a contribution in your applications hivemodule.xml I see on the dev list that Howard already replied :) Henrik Mike Grundvig [EMAIL PROTECTED] skrev i en meddelelse news:[EMAIL PROTECTED] Short of re-writing some of the internal guts of Tapestry, templates have to end in the .HTML extension (or you have to rename all the internal Tapestry templates to your new extension). That's what I was referring to. I brought this up only so you wouldn't be caught by surprise like I was. Michael Grundvig Electrotank, Inc http://www.electrotank.com - Original Message - From: hv @ Fashion Content [EMAIL PROTECTED] To: users@tapestry.apache.org Sent: Sunday, June 25, 2006 10:07 AM Subject: Re: friendly URL restart redirects to /app All my templates are named .html, so I can actually access the template in parallel with the page service. I don't consider it a bug, and you can change it. ServiceEncoders deal with how URLs are interpreted not how files/resources are named. In Tap3 you would change it in the .application file, I guess you can now change it in hivemodule.xml as well if you want. http://tapestry.apache.org/tapestry4/tapestry/hivedocs/config/hivemind.FactoryDefaults.html In Tap4 there is a new PageSource thing, which I guess means that you can completely change how templates are handled if you like. Henrik Mike Grundvig [EMAIL PROTECTED] skrev i en meddelelse news:[EMAIL PROTECTED] This is not directly related to your question but are your pages all named .html? I ask because I saw this: page-service-encoder id=page extension=htm service=page/ I've found a bug in T4 where your extension might be htm, but Tapestry expects all templates to be named .html. Mike Michael Grundvig Electrotank, Inc http://www.electrotank.com - Original Message - From: hv @ Fashion Content [EMAIL PROTECTED] To: users@tapestry.apache.org Sent: Sunday, June 25, 2006 8:16 AM Subject: friendly URL restart redirects to /app I followed the instructions on friendly urls for T4, and it works just fine except for one thing. The exception page correctly links to '/restart.do', but when you follow the link it gets redirected to '/app' rather than '/' Is this a bug or didn't I configure it correctly? contribution configuration-id=tapestry.url.ServiceEncoders direct-service-encoder id=direct stateless-extension=direct stateful-extension=sdirect/ page-service-encoder id=page extension=htm service=page/ page-service-encoder id=external extension=external service=external/ asset-encoder id=asset path=/assets/ extension-encoder id=ext extension=do after=*/ /contribution - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tapestry 3 to 4.1 to 5
Re: Hibernate. It's used all over the place by many applications. It isn't really associated with IOC containers or even web applications in generally as it's simply (ha!) a database abstraction/mapping framework. Whether you use Tapestry or not, Hibernate is excellent at what it does. With that said, Hibernate is in no way associated with Tapestry. Re: Tapestry Migration. Tapestry 3 isn't directly compatible with 4 as it stands, depending on how complicated your application is and how much underlying tweaks you have made, you might need to rewrite a little bit: http://tapestry.apache.org/tapestry4/#Upgrading+from+Tapestry+3.0 As for Tapestry 5, that is quite a while off. I certainly wouldn't sit around waiting to migrate as 4 provides a great deal of useful features and conveniences. You mention the steep learning curve next; I simply have to disagree there. I've only recently begun using Tapestry and I've found it dramatically simpler to work with then most other frameworks. Particularly Struts and ASP.NET. I feel that this is the case because Tapestry gives the web an intuitive event-driven feel to it. It just isn't that complicated and requires very little wire up to tie pages together. As for commercial programmer experience that's an issue with most frameworks. Even JSF developers are exceptionally hard to come by right now. I do agree though that selling Tapestry to management is a bit tough these days. Hopefully time will help with that. As with all opinions though, your mileage may vary. Re: Echo2, nope, sorry. Not used that one. Michael Grundvig Electrotank, Inc http://www.electrotank.com - Original Message - From: kranga [EMAIL PROTECTED] To: Tapestry users users@tapestry.apache.org Sent: Saturday, June 24, 2006 7:05 PM Subject: Tapestry 3 to 4.1 to 5 We have a very large financial services applicaiton built with Tapestry 3 and it meets all the requirements for the project. But in looking ahead, I am trying to get some data to guide technology decisions for the project. My questions are: - Hibernate is used extensively in 4.x and though the principal is that you don't need to worry about Hibernate, the emails on this list make it look like a lot of deviations from defaults require Hibernate. Does anyone know if Hibernate is used outside of Tapestry? Specifically how is its user-base size and popularity when compared with Spring? - I've heard that 5 is not going to be backward compatible with 3. So that would give me absolutely no reason to upgrade to 4.x anytime soon. Is the 4.x to 5 incompatibility true? If so, it also seems like Tapestry is negatively skewed from a business perspective - high barrier to adopt the framework (the learning curve is higher and frankly it is almost impossible to find anyone in the market with Tapestry experience) but it provides a low barrier to exit - if versions are not going to be compatible and require significant effort, then why not evalulate other frameworks out there? - Anyone have experience comparing this with Echo 2? The echo 2 demo on their website does look impressive. Your thoughts are appreciated... KR - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]