Can you comment on this?
Hi Guys, I came across this article http://www.infoq.com/news/2006/12/wicket-vs-springmvc-and-jsf and thought probably someone here could comment. Is Tapestry really losing the battle against Wicket? Emmanuel
Re: Standalone plugins
It could be done, but above all needs restarting of the servlet container for every change- Since hivemind lets you peekup configuration from every jar on the classpath, configuration isn't an issue. However, adding a library without making an explicit reference to it should be quite difficult - You may need to create a custom Library spec source. Cheers, Ron Pedro Abelleira Seco wrote: Hello all, I has been a happy user of Tapestry 3 and since then stepped out of web development for a while. But I have to return there at some point. I would like to be able to do in a web application the same kind of things that are possible in client applications with respect to plugins. The idea would be to be able to drop a library in the classpath which contained components and _pages_ and that could: 1.- Add entries (links) to a menu in a page of the application. 2.- When the user clicks on one of those links to display the corresponding page, which would be located in the library. Do you think that would be possible with Tapestry? Thank you Pedro __ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.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]
Re: Popup a Tapestry page in a new window?
Istvan Szucs a écrit : Use the org.apache.tapestry.contrib.link.PopupLinkRenderer bean is your page. It is a example, visit this page: http://lombok.demon.co.uk/tapestry4Demo/TestPopup.html Hello, Perhaps you can add a link to your page http://lombok.demon.co.uk/tapestry4Demo/app in the Tapestry's wiki. Your page give us some useful examples for beginners. Regards cyrille Bye! István Szücs -Original Message- From: [EMAIL PROTECTED] Sent: Tue, 19 Dec 2006 15:49:44 +0100 To: users@tapestry.apache.org Subject: Re: Popup a Tapestry page in a new window? Use the target parameter of the link components with value _blank. BR: Norbi talk.small írta: How to create a href, when it is cliked, I can specify a Tapestry page to popup in a new window (instead of refrreshing the current page)? Thanks, Talk.small - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Tap4.0.2] about @Persist(client)
Hi, I could not reproduce the problem with a simple code. It only happend with the complet project (Tap, Spring, Hibernate, BeanForm...) Should I add a Jira entry to remember the problem, or I'm alone with this and let wait to see later. cyrille Cyrille37 a écrit : andyhot a écrit : client, client:page, client:app all use url rewritting to store the property... Effectively, I've tried different @Persist(xxx) and no cookie was set. So, what's the problem again? The problem is with Glassfish. With Glassfish (and all libraries used by my project) the persistence run like a singleton. Here is a part of the code : @Persist(client) public abstract int getDocId(); public abstract void setDocId(int docId); public void activateExternalPage(Object[] parameters, IRequestCycle cycle) { int id = Integer.parseInt( parameters[0].toString()); setDocId( id ); } With Glassfish : With Firefox I make a first call (service=external) : http://localhost:8080/Tap03/Docum/DocumentEdit.external?sp=14 Then I call (service=page) : http://localhost:8080/Tap03/Docum/DocumentEdit.html This second call (serive=page) remember the property docId. I launch another browser (InternetExplorer) and use the url http://localhost:8080/Tap03/Docum/DocumentEdit.html And ARGH! It display the page with the property docId set to 14 (like if I call service external with sp=14). That's crazy. The page and its property seems to be a Singleton instance. With Tomcat there is not that problem. It works like it have to. Cyrille Cyrille37 wrote: Ron Piterman a écrit : forgot about cookies just before christmas? what do you eat those days? :) Ron Chocolate :) By the way. This is not cookies ! But Server ! Argh... ... I'm dying The problem does not exists when the application is running on Tomcat 5.5.17 but exists when running on Glassfish ( Sun Java System Application Server Platform Edition 9.0_01 (build b14)). No code change, just changing project's properties in Netbeans5.5. Shure the is incompatibility somewhere. The application using Tapestry 4.0.2, Spring 2.0 final (3.10.2006), Hibernate 3.2.1GA. Perhaps a Father Christmas's surprise Cyrille. Cyrille37 wrote: Ron Piterman a écrit : user @Persist(client:page) AFAIK, client uses cookies. Argh! I've forgotten those so delicious cookies. Sorry for the noise and thanks Ron for your fast and efficient answer ! Cheers cyrille Cheers, Ron Cyrille37 wrote: Hello, There is something I do not understand. I've got a page which remember a property docId with the @Persist(client) annotation. @Persist(client) public abstract int getDocId(); public abstract void setDocId(int docId); When I call the page with an ExternalLink (service=external) I'm setting that docId property. http://localhost:8080/Tap03/Docum/DocumentEdit.external?sp=14 public void activateExternalPage(Object[] parameters, IRequestCycle cycle) { int id = Integer.parseInt( parameters[0].toString()); setDocId( id ); } After that call, if I call the page directly (service=page) http://localhost:8080/Tap03/Docum/DocumentEdit.html The page has remembered the docId property which I've previously called with the ExternalLink. I do not understand how it could be possible, because the @Persist(client) could not memorize the property on server-side ... Have you got an idea where I've to look to find my mistake ? Thanks cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Tap4.0.2] about @Persist(client)
I would tip that you hold a reference to a page or some threaded bean where you shouldn't. just a wild guess - Cheers, Ron Cyrille37 wrote: Hi, I could not reproduce the problem with a simple code. It only happend with the complet project (Tap, Spring, Hibernate, BeanForm...) Should I add a Jira entry to remember the problem, or I'm alone with this and let wait to see later. cyrille Cyrille37 a écrit : andyhot a écrit : client, client:page, client:app all use url rewritting to store the property... Effectively, I've tried different @Persist(xxx) and no cookie was set. So, what's the problem again? The problem is with Glassfish. With Glassfish (and all libraries used by my project) the persistence run like a singleton. Here is a part of the code : @Persist(client) public abstract int getDocId(); public abstract void setDocId(int docId); public void activateExternalPage(Object[] parameters, IRequestCycle cycle) { int id = Integer.parseInt( parameters[0].toString()); setDocId( id ); } With Glassfish : With Firefox I make a first call (service=external) : http://localhost:8080/Tap03/Docum/DocumentEdit.external?sp=14 Then I call (service=page) : http://localhost:8080/Tap03/Docum/DocumentEdit.html This second call (serive=page) remember the property docId. I launch another browser (InternetExplorer) and use the url http://localhost:8080/Tap03/Docum/DocumentEdit.html And ARGH! It display the page with the property docId set to 14 (like if I call service external with sp=14). That's crazy. The page and its property seems to be a Singleton instance. With Tomcat there is not that problem. It works like it have to. Cyrille Cyrille37 wrote: Ron Piterman a écrit : forgot about cookies just before christmas? what do you eat those days? :) Ron Chocolate :) By the way. This is not cookies ! But Server ! Argh... ... I'm dying The problem does not exists when the application is running on Tomcat 5.5.17 but exists when running on Glassfish ( Sun Java System Application Server Platform Edition 9.0_01 (build b14)). No code change, just changing project's properties in Netbeans5.5. Shure the is incompatibility somewhere. The application using Tapestry 4.0.2, Spring 2.0 final (3.10.2006), Hibernate 3.2.1GA. Perhaps a Father Christmas's surprise Cyrille. Cyrille37 wrote: Ron Piterman a écrit : user @Persist(client:page) AFAIK, client uses cookies. Argh! I've forgotten those so delicious cookies. Sorry for the noise and thanks Ron for your fast and efficient answer ! Cheers cyrille Cheers, Ron Cyrille37 wrote: Hello, There is something I do not understand. I've got a page which remember a property docId with the @Persist(client) annotation. @Persist(client) public abstract int getDocId(); public abstract void setDocId(int docId); When I call the page with an ExternalLink (service=external) I'm setting that docId property. http://localhost:8080/Tap03/Docum/DocumentEdit.external?sp=14 public void activateExternalPage(Object[] parameters, IRequestCycle cycle) { int id = Integer.parseInt( parameters[0].toString()); setDocId( id ); } After that call, if I call the page directly (service=page) http://localhost:8080/Tap03/Docum/DocumentEdit.html The page has remembered the docId property which I've previously called with the ExternalLink. I do not understand how it could be possible, because the @Persist(client) could not memorize the property on server-side ... Have you got an idea where I've to look to find my mistake ? Thanks cyrille. - 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: [Tap4.0.2] about @Persist(client)
Ron Piterman a écrit : I would tip that you hold a reference to a page or some threaded bean where you shouldn't. just a wild guess - Hi Ron. Thanks for your little chocolate :) But the same code (really no change) does not run in a same way when hosted in Tomcat and Glassfish. There is no problem when it runs in Tomcat, There is THE problem when it runs in Glassfish. I think there is some Spring or other libs which do not run in the same way depends on the hosted server. cyrille. Cheers, Ron Cyrille37 wrote: Hi, I could not reproduce the problem with a simple code. It only happend with the complet project (Tap, Spring, Hibernate, BeanForm...) Should I add a Jira entry to remember the problem, or I'm alone with this and let wait to see later. cyrille Cyrille37 a écrit : andyhot a écrit : client, client:page, client:app all use url rewritting to store the property... Effectively, I've tried different @Persist(xxx) and no cookie was set. So, what's the problem again? The problem is with Glassfish. With Glassfish (and all libraries used by my project) the persistence run like a singleton. Here is a part of the code : @Persist(client) public abstract int getDocId(); public abstract void setDocId(int docId); public void activateExternalPage(Object[] parameters, IRequestCycle cycle) { int id = Integer.parseInt( parameters[0].toString()); setDocId( id ); } With Glassfish : With Firefox I make a first call (service=external) : http://localhost:8080/Tap03/Docum/DocumentEdit.external?sp=14 Then I call (service=page) : http://localhost:8080/Tap03/Docum/DocumentEdit.html This second call (serive=page) remember the property docId. I launch another browser (InternetExplorer) and use the url http://localhost:8080/Tap03/Docum/DocumentEdit.html And ARGH! It display the page with the property docId set to 14 (like if I call service external with sp=14). That's crazy. The page and its property seems to be a Singleton instance. With Tomcat there is not that problem. It works like it have to. Cyrille Cyrille37 wrote: Ron Piterman a écrit : forgot about cookies just before christmas? what do you eat those days? :) Ron Chocolate :) By the way. This is not cookies ! But Server ! Argh... ... I'm dying The problem does not exists when the application is running on Tomcat 5.5.17 but exists when running on Glassfish ( Sun Java System Application Server Platform Edition 9.0_01 (build b14)). No code change, just changing project's properties in Netbeans5.5. Shure the is incompatibility somewhere. The application using Tapestry 4.0.2, Spring 2.0 final (3.10.2006), Hibernate 3.2.1GA. Perhaps a Father Christmas's surprise Cyrille. Cyrille37 wrote: Ron Piterman a écrit : user @Persist(client:page) AFAIK, client uses cookies. Argh! I've forgotten those so delicious cookies. Sorry for the noise and thanks Ron for your fast and efficient answer ! Cheers cyrille Cheers, Ron Cyrille37 wrote: Hello, There is something I do not understand. I've got a page which remember a property docId with the @Persist(client) annotation. @Persist(client) public abstract int getDocId(); public abstract void setDocId(int docId); When I call the page with an ExternalLink (service=external) I'm setting that docId property. http://localhost:8080/Tap03/Docum/DocumentEdit.external?sp=14 public void activateExternalPage(Object[] parameters, IRequestCycle cycle) { int id = Integer.parseInt( parameters[0].toString()); setDocId( id ); } After that call, if I call the page directly (service=page) http://localhost:8080/Tap03/Docum/DocumentEdit.html The page has remembered the docId property which I've previously called with the ExternalLink. I do not understand how it could be possible, because the @Persist(client) could not memorize the property on server-side ... Have you got an idea where I've to look to find my mistake ? Thanks cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Tap4.0.2] about @Persist(client)
Happy debugging :) Ron Cyrille37 wrote: Ron Piterman a écrit : I would tip that you hold a reference to a page or some threaded bean where you shouldn't. just a wild guess - Hi Ron. Thanks for your little chocolate :) But the same code (really no change) does not run in a same way when hosted in Tomcat and Glassfish. There is no problem when it runs in Tomcat, There is THE problem when it runs in Glassfish. I think there is some Spring or other libs which do not run in the same way depends on the hosted server. cyrille. Cheers, Ron Cyrille37 wrote: Hi, I could not reproduce the problem with a simple code. It only happend with the complet project (Tap, Spring, Hibernate, BeanForm...) Should I add a Jira entry to remember the problem, or I'm alone with this and let wait to see later. cyrille Cyrille37 a écrit : andyhot a écrit : client, client:page, client:app all use url rewritting to store the property... Effectively, I've tried different @Persist(xxx) and no cookie was set. So, what's the problem again? The problem is with Glassfish. With Glassfish (and all libraries used by my project) the persistence run like a singleton. Here is a part of the code : @Persist(client) public abstract int getDocId(); public abstract void setDocId(int docId); public void activateExternalPage(Object[] parameters, IRequestCycle cycle) { int id = Integer.parseInt( parameters[0].toString()); setDocId( id ); } With Glassfish : With Firefox I make a first call (service=external) : http://localhost:8080/Tap03/Docum/DocumentEdit.external?sp=14 Then I call (service=page) : http://localhost:8080/Tap03/Docum/DocumentEdit.html This second call (serive=page) remember the property docId. I launch another browser (InternetExplorer) and use the url http://localhost:8080/Tap03/Docum/DocumentEdit.html And ARGH! It display the page with the property docId set to 14 (like if I call service external with sp=14). That's crazy. The page and its property seems to be a Singleton instance. With Tomcat there is not that problem. It works like it have to. Cyrille Cyrille37 wrote: Ron Piterman a écrit : forgot about cookies just before christmas? what do you eat those days? :) Ron Chocolate :) By the way. This is not cookies ! But Server ! Argh... ... I'm dying The problem does not exists when the application is running on Tomcat 5.5.17 but exists when running on Glassfish ( Sun Java System Application Server Platform Edition 9.0_01 (build b14)). No code change, just changing project's properties in Netbeans5.5. Shure the is incompatibility somewhere. The application using Tapestry 4.0.2, Spring 2.0 final (3.10.2006), Hibernate 3.2.1GA. Perhaps a Father Christmas's surprise Cyrille. Cyrille37 wrote: Ron Piterman a écrit : user @Persist(client:page) AFAIK, client uses cookies. Argh! I've forgotten those so delicious cookies. Sorry for the noise and thanks Ron for your fast and efficient answer ! Cheers cyrille Cheers, Ron Cyrille37 wrote: Hello, There is something I do not understand. I've got a page which remember a property docId with the @Persist(client) annotation. @Persist(client) public abstract int getDocId(); public abstract void setDocId(int docId); When I call the page with an ExternalLink (service=external) I'm setting that docId property. http://localhost:8080/Tap03/Docum/DocumentEdit.external?sp=14 public void activateExternalPage(Object[] parameters, IRequestCycle cycle) { int id = Integer.parseInt( parameters[0].toString()); setDocId( id ); } After that call, if I call the page directly (service=page) http://localhost:8080/Tap03/Docum/DocumentEdit.html The page has remembered the docId property which I've previously called with the ExternalLink. I do not understand how it could be possible, because the @Persist(client) could not memorize the property on server-side ... Have you got an idea where I've to look to find my mistake ? Thanks cyrille. - 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: Standalone plugins
Thanks for your response. What I have in mind is to be in the situation of having a general web application with a common set of services and components (including the a general Border, etc.) and getting different contractors to develop different parts of the app in parallel without having to touch any single file in the main app or any other plugin to put them into production. Then the warranty and support agreement from each contractor would be clearly separated and future modifications or additions of new plugins could be done by the best bidder. Do you think the technical possibilities are enough for such scenario? Cheers Pedro --- Ron Piterman [EMAIL PROTECTED] escribió: It could be done, but above all needs restarting of the servlet container for every change- Since hivemind lets you peekup configuration from every jar on the classpath, configuration isn't an issue. However, adding a library without making an explicit reference to it should be quite difficult - You may need to create a custom Library spec source. Cheers, Ron Pedro Abelleira Seco wrote: Hello all, I has been a happy user of Tapestry 3 and since then stepped out of web development for a while. But I have to return there at some point. I would like to be able to do in a web application the same kind of things that are possible in client applications with respect to plugins. The idea would be to be able to drop a library in the classpath which contained components and _pages_ and that could: 1.- Add entries (links) to a menu in a page of the application. 2.- When the user clicks on one of those links to display the corresponding page, which would be located in the library. Do you think that would be possible with Tapestry? Thank you Pedro __ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.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] __ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Standalone plugins
Thank you. I will look into this if I get the time. --- Ron Piterman [EMAIL PROTECTED] escribió: again, the trick is adding references to a library without coding it. Tapestry defines in the hivemind registry the service point : tapestry.parse.SpecificationSource which is responsible for reading the specification from files - I would think that to make dynamic libraries load, you need to implement this service a new: create a single library which is dynamic, all other libraries will delegate to the tapestry implementation. for your dynamic library, create a specification which is dynamically generated according to a hivemind configuration point. Never done this, but was often thinking about it... Cheers, Ron Pedro Abelleira Seco wrote: Thanks for your response. What I have in mind is to be in the situation of having a general web application with a common set of services and components (including the a general Border, etc.) and getting different contractors to develop different parts of the app in parallel without having to touch any single file in the main app or any other plugin to put them into production. Then the warranty and support agreement from each contractor would be clearly separated and future modifications or additions of new plugins could be done by the best bidder. Do you think the technical possibilities are enough for such scenario? Cheers Pedro --- Ron Piterman [EMAIL PROTECTED] escribió: It could be done, but above all needs restarting of the servlet container for every change- Since hivemind lets you peekup configuration from every jar on the classpath, configuration isn't an issue. However, adding a library without making an explicit reference to it should be quite difficult - You may need to create a custom Library spec source. Cheers, Ron Pedro Abelleira Seco wrote: Hello all, I has been a happy user of Tapestry 3 and since then stepped out of web development for a while. But I have to return there at some point. I would like to be able to do in a web application the same kind of things that are possible in client applications with respect to plugins. The idea would be to be able to drop a library in the classpath which contained components and _pages_ and that could: 1.- Add entries (links) to a menu in a page of the application. 2.- When the user clicks on one of those links to display the corresponding page, which would be located in the library. Do you think that would be possible with Tapestry? Thank you Pedro __ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.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] __ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.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] __ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Can you comment on this?
Why would Tapestry be losing any kind of battle because one person wrote an email saying they recommend using Wicket? When Wicket is actually technically / some other version of better that I can measure I'll admit it but I'm obviously biased towards Tapestry so my opinions are highly suspect. Good for them for getting some good press. They get beaten up a lot so I think it's good that some positive articles are floating around out there for them. On 12/20/06, Emmanuel Sowah [EMAIL PROTECTED] wrote: Hi Guys, I came across this article http://www.infoq.com/news/2006/12/wicket-vs-springmvc-and-jsf and thought probably someone here could comment. Is Tapestry really losing the battle against Wicket? Emmanuel -- Jesse Kuhnert Tapestry/Dojo 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: Can you comment on this?
Emmanuel - I tend to view this as a free intellectual market at work. There were inadequacies in Tapestry and strengths in Wicket that drove this one user to choose Wicket over Tapestry (and the other frameworks). If enough people agree with him, either Tapestry addresses these issues and becomes a better framework, or users migrate to Wicket (or some other framework du jour). Either way, we developers end up with a better framework. Given the amount of work that has already been invested in Tapestry and the community that has been built around it, I think the first option is much more likely, but then I'm no oracle :-) Daniel On 12/20/06, Emmanuel Sowah [EMAIL PROTECTED] wrote: Hi Guys, I came across this article http://www.infoq.com/news/2006/12/wicket-vs-springmvc-and-jsf and thought probably someone here could comment. Is Tapestry really losing the battle against Wicket? Emmanuel
Tapestry plugin for netbeans, new release!
Andy snuck out a new release on us! https://nbtapestrysupport.dev.java.net/ Downloading 0.2.0 now ;) Thanks Andy! -Greg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Inject EJB 3 into Tapestry 4 page
Hi, did you find out anything? I am having the same problem. Regards Bastian Voigt On Monday 18 December 2006 21:44, Denis Souza wrote: That's just about what I need, but for EJB 3. This service seems to assume EJB 2.x since it requires a home interface. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tapestry plugin for netbeans, new release!
i did ? oh yea :) actually, better remove the old modules, and then use this update url : http://andyhot.di.uoa.gr/repository/nbtapestry/updates/updates.xml it's even more up-to-date + you'll always get the latest [EMAIL PROTECTED] wrote: Andy snuck out a new release on us! https://nbtapestrysupport.dev.java.net/ Downloading 0.2.0 now ;) Thanks Andy! -Greg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr Tapestry / Tacos developer Open Source / J2EE Consulting - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Can you comment on this?
Daniel I think you are right but only partially. We must never neglect the marketing aspects. A thing either free or comercial is promoting itself only less than 50% by it's quality because only a very little number of decisions are taken by quality in todays world. Aspects like mouth to mouth, slashdot articles, and many others are also essentials. Ways must be found to promote Tapestry, this way it will receive the attention deserved and this will allow and motivate everyone in enhancing the framework. Len www.len.ro On Wed, 2006-12-20 at 10:15 -0500, DJ Gredler wrote: Emmanuel - I tend to view this as a free intellectual market at work. There were inadequacies in Tapestry and strengths in Wicket that drove this one user to choose Wicket over Tapestry (and the other frameworks). If enough people agree with him, either Tapestry addresses these issues and becomes a better framework, or users migrate to Wicket (or some other framework du jour). Either way, we developers end up with a better framework. Given the amount of work that has already been invested in Tapestry and the community that has been built around it, I think the first option is much more likely, but then I'm no oracle :-) Daniel On 12/20/06, Emmanuel Sowah [EMAIL PROTECTED] wrote: Hi Guys, I came across this article http://www.infoq.com/news/2006/12/wicket-vs-springmvc-and-jsf and thought probably someone here could comment. Is Tapestry really losing the battle against Wicket? Emmanuel
Re: Can you comment on this?
Agree 100%. I guess I just consider the marketing aspects to be part of the free intellectual market :-) On 12/20/06, Marilen Corciovei [EMAIL PROTECTED] wrote: Daniel I think you are right but only partially. We must never neglect the marketing aspects. A thing either free or comercial is promoting itself only less than 50% by it's quality because only a very little number of decisions are taken by quality in todays world. Aspects like mouth to mouth, slashdot articles, and many others are also essentials. Ways must be found to promote Tapestry, this way it will receive the attention deserved and this will allow and motivate everyone in enhancing the framework. Len www.len.ro On Wed, 2006-12-20 at 10:15 -0500, DJ Gredler wrote: Emmanuel - I tend to view this as a free intellectual market at work. There were inadequacies in Tapestry and strengths in Wicket that drove this one user to choose Wicket over Tapestry (and the other frameworks). If enough people agree with him, either Tapestry addresses these issues and becomes a better framework, or users migrate to Wicket (or some other framework du jour). Either way, we developers end up with a better framework. Given the amount of work that has already been invested in Tapestry and the community that has been built around it, I think the first option is much more likely, but then I'm no oracle :-) Daniel On 12/20/06, Emmanuel Sowah [EMAIL PROTECTED] wrote: Hi Guys, I came across this article http://www.infoq.com/news/2006/12/wicket-vs-springmvc-and-jsf and thought probably someone here could comment. Is Tapestry really losing the battle against Wicket? Emmanuel
Re: Tapestry plugin for netbeans, new release!
I don't use netbeans, but may have to try it out ;-) On 12/20/06, andyhot [EMAIL PROTECTED] wrote: i did ? oh yea :) actually, better remove the old modules, and then use this update url : http://andyhot.di.uoa.gr/repository/nbtapestry/updates/updates.xml it's even more up-to-date + you'll always get the latest [EMAIL PROTECTED] wrote: Andy snuck out a new release on us! https://nbtapestrysupport.dev.java.net/ Downloading 0.2.0 now ;) Thanks Andy! -Greg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr Tapestry / Tacos developer Open Source / J2EE Consulting - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: External page URL change in Tapestry 4
Well, in the meantime I read up more on ServiceEncoders and came to the conclusion that it shouldn't be too tough, so I went ahead and wrote one that seems to work fine. It was almost done by the time I got your post. The thing I like about this solution is that it doesn't require another library. :) I include the code below for anybody who's interested. Caveats: 1) It assumes /app instead of whatever your application might be using, 2) it's designed to work only for one page per instance, rather than all external pages in your app, and 3) it requires Java 1.5 (because of the for loop construct). All of these things could be changed easily enough. Obviously, I hope it's useful, but no warranty, yada yada yada. Robert = package mshare.web.tapestry.page; import org.apache.tapestry.engine.ServiceEncoder; import org.apache.tapestry.engine.ServiceEncoding; import org.apache.tapestry.services.ServiceConstants; /** * Decodes old Tapestry 3 external page URLs and converts them to Tapestry 4 URLs. It does not * re-encode them back to Tapestry 3 URLs, since this is only here to provide backward support for * the Tapestry 3 URLs. * @author Robert J. Walker */ public class Tap3ExternalPageEncoder implements ServiceEncoder { private static final String TAP_3_PARAM_NAME = service; private static final String EXTERNAL_SERVICE = external; private static final String SERVICE_PARAMETER = sp; private String pageName; public void decode(ServiceEncoding encoding) { String tap3Param = encoding.getParameterValue(TAP_3_PARAM_NAME); // No service parameter? if(tap3Param == null) { return; } String[] arr = tap3Param.split(/); // Serivce name has a slash? if(arr.length != 2) { return; } // It's the external service? if(!EXTERNAL_SERVICE.equals(arr[0])) { return; } // Right page? if(!arr[1].equals(pageName)) { return; } // Update servlet path StringBuilder path = new StringBuilder(/app?); path.append(ServiceConstants.SERVICE) .append('=') .append(EXTERNAL_SERVICE) .append('') .append(ServiceConstants.PAGE) .append('=') .append(pageName); for(String param : encoding.getParameterValues(SERVICE_PARAMETER)) { path.append(sp=).append(param); } encoding.setServletPath(path.toString()); // Update parameter values encoding.setParameterValue(ServiceConstants.SERVICE, EXTERNAL_SERVICE); encoding.setParameterValue(ServiceConstants.PAGE, pageName); } public void encode(ServiceEncoding encoding) { // Do nothing here; we don't want to encode the URLs back to Tapestry 3 style } public void setPageName(String pageName) { this.pageName = pageName; } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Get component id in EventListener with multiple targets
I would like to have multiple targets hooked into a single EventListener, but I cannot figure out how to distinguish which component fired the event within the listener itself. For example, if I have an event listener: @EventListener(targets = {button1,button2,button3,button4}, events= onclick) *public* *void* someButtonClicked(IRequestCycle cycle) { ... } and I need to pass the id of the component that fired off the event listener to another function within the listener. Is there anyway to do this without having to give each button an event listener and having those event listeners all call another function with the component's ID as an argument? -- Peter Beshai - Using Tapestry 4.1.1 Pure Mathematics Student University of Waterloo
Re: Get component id in EventListener with multiple targets
Just add a BrowserEvent parameter to your method and it will be automatically populated for you. Once added you should be able to do something along the lines of this to figure out which component fired the event (maybe I should enhance this part to provide a more direct route): void someButtonClicked(IRequestCycle cycle, BrowserEvent event) { String componentClientId = (String)event.getTarget().get(id); } On 12/20/06, Peter Beshai [EMAIL PROTECTED] wrote: I would like to have multiple targets hooked into a single EventListener, but I cannot figure out how to distinguish which component fired the event within the listener itself. For example, if I have an event listener: @EventListener(targets = {button1,button2,button3,button4}, events= onclick) *public* *void* someButtonClicked(IRequestCycle cycle) { ... } and I need to pass the id of the component that fired off the event listener to another function within the listener. Is there anyway to do this without having to give each button an event listener and having those event listeners all call another function with the component's ID as an argument? -- Peter Beshai - Using Tapestry 4.1.1 Pure Mathematics Student University of Waterloo -- Jesse Kuhnert Tapestry/Dojo 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: Tapestry plugin for netbeans, new release!
Sweet! THis was my next request :) An update URL! -Original Message- From: andreas a [mailto:[EMAIL PROTECTED] Behalf Of andyhot Sent: Wednesday, December 20, 2006 10:40 AM To: Tapestry users Subject: Re: Tapestry plugin for netbeans, new release! i did ? oh yea :) actually, better remove the old modules, and then use this update url : http://andyhot.di.uoa.gr/repository/nbtapestry/updates/updates.xml it's even more up-to-date + you'll always get the latest [EMAIL PROTECTED] wrote: Andy snuck out a new release on us! https://nbtapestrysupport.dev.java.net/ Downloading 0.2.0 now ;) Thanks Andy! -Greg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr Tapestry / Tacos developer Open Source / J2EE Consulting - 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: Problem implementing countdown timer
Daniel, As an avid eBay user, I've been eagerly awaiting a feature like this! Now everyone can be a sniper. =) Now we just need some suspense music that streams in the background... Dan On 12/18/06, Leffel, Daniel [EMAIL PROTECTED] wrote: I have a really simple app that I'm trying to build. Shown on a page is an object that expires within 20-60 seconds. Once it expires, a new object is created with the same time to live (and so on and so on). The current object is loaded through a Tacos AjaxAutoInvoker. Additionally, I'm using the Tacos form submit on the page to enable users to manipulate the object. I'm trying to implement a countdown that shows in real time how many seconds are left until the object expires. I tried using another AjaxAutoInvoker without specifying a listener, but it makes an AJAX call anyway. I don't want to cause an AJAX call to happen every second to simply decrement the counter (the AjaxAutoInvoker otherwise refreshes the object every 5 seconds). So, I tried a little bit of Javascript. The problem is, this Javascript causes the AjaxForm to be submitted in a non-AJAX way (Debug message is: XMLHTTP Transport Error:0). Any ideas on the best way to accomplish this? script LANGUAGE=JavaScript var now = new Date(); var seconds = (event - now) / 1000; ID=window.setTimeout(update();, 1000); function update() { now = new Date(); seconds = (document.getElementById('ends').innerHTML-now)/1000; seconds = Math.round(seconds); document.getElementById('countdown').innerHTML = seconds; ID=window.setTimeout(update();,1000); } /script - 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: Problem implementing countdown timer
God damn campers. ;) On 12/20/06, Daniel Jue [EMAIL PROTECTED] wrote: Daniel, As an avid eBay user, I've been eagerly awaiting a feature like this! Now everyone can be a sniper. =) Now we just need some suspense music that streams in the background... Dan On 12/18/06, Leffel, Daniel [EMAIL PROTECTED] wrote: I have a really simple app that I'm trying to build. Shown on a page is an object that expires within 20-60 seconds. Once it expires, a new object is created with the same time to live (and so on and so on). The current object is loaded through a Tacos AjaxAutoInvoker. Additionally, I'm using the Tacos form submit on the page to enable users to manipulate the object. I'm trying to implement a countdown that shows in real time how many seconds are left until the object expires. I tried using another AjaxAutoInvoker without specifying a listener, but it makes an AJAX call anyway. I don't want to cause an AJAX call to happen every second to simply decrement the counter (the AjaxAutoInvoker otherwise refreshes the object every 5 seconds). So, I tried a little bit of Javascript. The problem is, this Javascript causes the AjaxForm to be submitted in a non-AJAX way (Debug message is: XMLHTTP Transport Error:0). Any ideas on the best way to accomplish this? script LANGUAGE=JavaScript var now = new Date(); var seconds = (event - now) / 1000; ID=window.setTimeout(update();, 1000); function update() { now = new Date(); seconds = (document.getElementById('ends').innerHTML-now)/1000; seconds = Math.round(seconds); document.getElementById('countdown').innerHTML = seconds; ID=window.setTimeout(update();,1000); } /script - 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] -- Jesse Kuhnert Tapestry/Dojo 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: Get component id in EventListener with multiple targets
Jesse Kuhnert a écrit : Just add a BrowserEvent parameter to your method and it will be automatically populated for you. Once added you should be able to do something along the lines of this to figure out which component fired the event (maybe I should enhance this part to provide a more direct route): void someButtonClicked(IRequestCycle cycle, BrowserEvent event) { String componentClientId = (String)event.getTarget().get(id); } Just to say that it is a pleasure to read the Tapestry mailing list. When a problem is showed, shure in some time later a nice Tapestry solution is given. Tapestry looks like a really great WebApp Framework. Cyrille On 12/20/06, Peter Beshai [EMAIL PROTECTED] wrote: I would like to have multiple targets hooked into a single EventListener, but I cannot figure out how to distinguish which component fired the event within the listener itself. For example, if I have an event listener: @EventListener(targets = {button1,button2,button3,button4}, events= onclick) *public* *void* someButtonClicked(IRequestCycle cycle) { ... } and I need to pass the id of the component that fired off the event listener to another function within the listener. Is there anyway to do this without having to give each button an event listener and having those event listeners all call another function with the component's ID as an argument? -- Peter Beshai - Using Tapestry 4.1.1 Pure Mathematics Student University of Waterloo - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problem implementing countdown timer
Not moving makes them easier to hit with a railgun, though! On 12/20/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: God damn campers. ;) On 12/20/06, Daniel Jue [EMAIL PROTECTED] wrote: Daniel, As an avid eBay user, I've been eagerly awaiting a feature like this! Now everyone can be a sniper. =) Now we just need some suspense music that streams in the background... Dan On 12/18/06, Leffel, Daniel [EMAIL PROTECTED] wrote: I have a really simple app that I'm trying to build. Shown on a page is an object that expires within 20-60 seconds. Once it expires, a new object is created with the same time to live (and so on and so on). The current object is loaded through a Tacos AjaxAutoInvoker. Additionally, I'm using the Tacos form submit on the page to enable users to manipulate the object. I'm trying to implement a countdown that shows in real time how many seconds are left until the object expires. I tried using another AjaxAutoInvoker without specifying a listener, but it makes an AJAX call anyway. I don't want to cause an AJAX call to happen every second to simply decrement the counter (the AjaxAutoInvoker otherwise refreshes the object every 5 seconds). So, I tried a little bit of Javascript. The problem is, this Javascript causes the AjaxForm to be submitted in a non-AJAX way (Debug message is: XMLHTTP Transport Error:0). Any ideas on the best way to accomplish this? script LANGUAGE=JavaScript var now = new Date(); var seconds = (event - now) / 1000; ID=window.setTimeout(update();, 1000); function update() { now = new Date(); seconds = (document.getElementById('ends').innerHTML-now)/1000; seconds = Math.round(seconds); document.getElementById('countdown').innerHTML = seconds; ID=window.setTimeout(update();,1000); } /script - 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] -- Jesse Kuhnert Tapestry/Dojo 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: Standalone plugins
I'm working on a library which can: - inject library references into other libraries using hivemind configurations - implements global namespace for tapestry components - supports dynamic rendering of components by name (not perfect solution but it works in most cases) The code is already finished, I have to write some docs yet. (Now I'm out of order but I will release the library this weekend or the next week.) Regards: Norbi Ron Piterman írta: again, the trick is adding references to a library without coding it. Tapestry defines in the hivemind registry the service point : tapestry.parse.SpecificationSource which is responsible for reading the specification from files - I would think that to make dynamic libraries load, you need to implement this service a new: create a single library which is dynamic, all other libraries will delegate to the tapestry implementation. for your dynamic library, create a specification which is dynamically generated according to a hivemind configuration point. Never done this, but was often thinking about it... Cheers, Ron Pedro Abelleira Seco wrote: Thanks for your response. What I have in mind is to be in the situation of having a general web application with a common set of services and components (including the a general Border, etc.) and getting different contractors to develop different parts of the app in parallel without having to touch any single file in the main app or any other plugin to put them into production. Then the warranty and support agreement from each contractor would be clearly separated and future modifications or additions of new plugins could be done by the best bidder. Do you think the technical possibilities are enough for such scenario? Cheers Pedro --- Ron Piterman [EMAIL PROTECTED] escribió: It could be done, but above all needs restarting of the servlet container for every change- Since hivemind lets you peekup configuration from every jar on the classpath, configuration isn't an issue. However, adding a library without making an explicit reference to it should be quite difficult - You may need to create a custom Library spec source. Cheers, Ron Pedro Abelleira Seco wrote: Hello all, I has been a happy user of Tapestry 3 and since then stepped out of web development for a while. But I have to return there at some point. I would like to be able to do in a web application the same kind of things that are possible in client applications with respect to plugins. The idea would be to be able to drop a library in the classpath which contained components and _pages_ and that could: 1.- Add entries (links) to a menu in a page of the application. 2.- When the user clicks on one of those links to display the corresponding page, which would be located in the library. Do you think that would be possible with Tapestry? Thank you Pedro __ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.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] __ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.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: Inject EJB 3 into Tapestry 4 page
No, nothing. I didn't look very far since it's not critical for me. I'm thinking that I could eventually write a hivemind service that wraps any EJB I need. It wouldn't be as clean, but it would be enough, at least in my case. Denis -Original Message- From: Bastian Voigt [mailto:[EMAIL PROTECTED] Sent: quarta-feira, 20 de dezembro de 2006 13:40 To: Tapestry users Cc: Denis Souza Subject: Re: Inject EJB 3 into Tapestry 4 page Hi, did you find out anything? I am having the same problem. Regards Bastian Voigt On Monday 18 December 2006 21:44, Denis Souza wrote: That's just about what I need, but for EJB 3. This service seems to assume EJB 2.x since it requires a home interface. - 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]
Radio components
Whatever happened to adding onchange=javascript:this.form.events.refresh(); to a Radio component in 4.1? Documentation doesn't mention the new method, hoping there is one :( Thanks, Greg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Radio components
http://tapestry.apache.org/tapestry4.1/javascript/form.html http://tapestry.apache.org/tapestry4.1/usersguide/upgrade4.0.html (the last one is a work in progress) On 12/20/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Whatever happened to adding onchange=javascript:this.form.events.refresh(); to a Radio component in 4.1? Documentation doesn't mention the new method, hoping there is one :( Thanks, Greg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo 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: Can you comment on this?
After 18 months of developing with Tapestry 3.03, I don't know what my next framework will be, but you can bet it will be Tapestry. Having worked with Model 1 Frameworks using JSP's and then working with Struts 1.x, I have had envough of anything related to .jsp or taglibs. I have no experience with JSF or Wicket, but I do have 150 pages in Tapestry. I have multiple libraries of components and even some custom components. And when the time to upgrade comes along, it will probably be 5.x. We have started three new products since mine and all of them have been Tapestry. regards, Mark Mark J. Stang Senior Engineer/Architect office: +1 303.468.2900 mobile: +1 303.507.2833 Ping Identity -Original Message- From: Emmanuel Sowah [mailto:[EMAIL PROTECTED] Sent: Wed 12/20/2006 2:13 AM To: users@tapestry.apache.org Subject: Can you comment on this? Hi Guys, I came across this article http://www.infoq.com/news/2006/12/wicket-vs-springmvc-and-jsf and thought probably someone here could comment. Is Tapestry really losing the battle against Wicket? Emmanuel
Table component
Does anyone know where I can find a simple example using the table component with partial results from a database (i.e. getCurrentPageRows, getRowCount, etc.)? I have a service layer function that accepts the criteria, limit and offset and would rather load just the data that's going to be displayed on the page. Thanks, Jason - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Table component
The very bottom of the page has a pretty good example of how to do some of these lower level detail kind of renders: http://tapestry.apache.org/tapestry4.1/tapestry-contrib/componentreference/table.html On 12/20/06, Jason Crocker [EMAIL PROTECTED] wrote: Does anyone know where I can find a simple example using the table component with partial results from a database (i.e. getCurrentPageRows, getRowCount, etc.)? I have a service layer function that accepts the criteria, limit and offset and would rather load just the data that's going to be displayed on the page. Thanks, Jason - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo 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: Table component
Thanks Jesse. I've been to this page but I thought using the source parameter loaded the entire list, which isn't what I want to do. Am I missing something? Jason Jesse Kuhnert wrote: The very bottom of the page has a pretty good example of how to do some of these lower level detail kind of renders: http://tapestry.apache.org/tapestry4.1/tapestry-contrib/componentreference/table.html On 12/20/06, Jason Crocker [EMAIL PROTECTED] wrote: Does anyone know where I can find a simple example using the table component with partial results from a database (i.e. getCurrentPageRows, getRowCount, etc.)? I have a service layer function that accepts the criteria, limit and offset and would rather load just the data that's going to be displayed on the page. Thanks, Jason - 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: Table component
-- Does anyone know where I can find a simple example using the table component with partial results from a database (i.e. getCurrentPageRows, getRowCount, etc.)? The contrib:table source parameter can accept an impl of IBasicTableModel. http://tapestry.apache.org/tapestry4.1/tapestry-contrib/apidocs/org/apac he/tapestry/contrib/table/model/IBasicTableModel.html This class will give you finer grained control over how you request the particular records required for display. Carlos - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: EventListener , target being a programatically created widget (dojo)
It worked. I just needed to make sure that the id of the widget is the same as the id of the component. This is what i was missing in the begining. (And i passed the id as a target.) Alex On 12/20/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Have you even tried it? This is definitely thought out and well supported so I don't see why it wouldn't work. Dojo has an internal client side manager that knows about widgetId's so it lets me do things like dojo.widget.byId(yourComponent.clientId) to get a reference to your widget without any help from you. The Tapestry Timetracker demo is a perfect example of this. It targets a function of the Autocomplete component which wraps a dojo Select widget. This should be working perfectly. If it does not please let me know. On 12/19/06, Alexandru Dragomir [EMAIL PROTECTED] wrote: The tapestry component extends AbstractWidget but i don't think this has any influence on targeting the widget.. Alex On 12/20/06, Alexandru Dragomir [EMAIL PROTECTED] wrote: I'm a bit confused.. What i want to target is not a tapestry component but the dojo widget created by the component. As a matter of fact , in the generated html, the tapestry component id is not even present anymore. Instead i have the javascript which created the tree with the parameters provided by the tapestry component. And one of the parameter is the widgetId which i want to target. The events i would like to listen to are , in fact , the events of the dojo tree and not of the component i built. So, very simplified , my component does : var tree = dojo.widget.createWidget(TreeV3,{widgetId: myProvidedWidgetId}); I got the feeling my component is wrong :) Alex On 12/20/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Yes that will work, but only if the component being targeted implements IWidget. (or extends AbstractWidget) On 12/19/06, Alexandru Dragomir [EMAIL PROTECTED] wrote: I might be asking too much : Is it possible to use the @EventListener with the target being a programatically created widget ? The widget is the dojo tree widget. I built a tapestry component out of it , which creates the tree in a programatic way. At the creation of the tree i provide a widgetId. I want in my page to have something like this : @EventListener(targets=theProvidedWidgetId ,events=afterAddChild) public void doSomething() { } The event afterAddCHild is an existent event in the widget tree. I have already tried it. What i'm not sure is if it should normally work or not since the widgetId doesn't exist in the html template. Thanks ! Alex -- Jesse Kuhnert Tapestry/Dojo 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 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: Table component
-- Does anyone know where I can find a simple example using the table component with partial results from a database (i.e. getCurrentPageRows,getRowCount, etc.)? Jason, Sorry I just re-read your post . . . The key part I missed was the example ;) This is a scrubbed impl of a tableModel we use for a search app. It uses a spring proxied bean to access a remote web service. The search criteria are encapsulated in a query object. The query objects support the same type of pagination args that the getCurrentPageRows() method provides - starting index and page size. This class preps the query object and delegates to the remote web service. Carlos public class XxTableModel extends AbstractTableModel { private Query query; public Iterator getCurrentPageRows(int nFirst, int nPageSize, ITableColumn objSortColumn, boolean bSortOrder) { Query query = getQuery(); query.setStartingIndex(new Long(nFirst)); query.setPageSize(new Long(nPageSize)); query.setOrderDirection(translateSortOrder(bSortOrder)); query.setOrder( (Order) translateColumnSort(objSortColumn)); return getWebService().search(query)).iterator(); } public int getRowCount() { return getWebService() .getRowCount(getQuery()); } public Query getQuery() { return this.query; } public void setQuery(Query query) { this.query = query; } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Table component
Carlos, This is perfect! Thanks :-) Jason [EMAIL PROTECTED] wrote: -- Does anyone know where I can find a simple example using the table component with partial results from a database (i.e. getCurrentPageRows,getRowCount, etc.)? Jason, Sorry I just re-read your post . . . The key part I missed was the example ;) This is a scrubbed impl of a tableModel we use for a search app. It uses a spring proxied bean to access a remote web service. The search criteria are encapsulated in a query object. The query objects support the same type of pagination args that the getCurrentPageRows() method provides - starting index and page size. This class preps the query object and delegates to the remote web service. Carlos public class XxTableModel extends AbstractTableModel { private Query query; public Iterator getCurrentPageRows(int nFirst, int nPageSize, ITableColumn objSortColumn, boolean bSortOrder) { Query query = getQuery(); query.setStartingIndex(new Long(nFirst)); query.setPageSize(new Long(nPageSize)); query.setOrderDirection(translateSortOrder(bSortOrder)); query.setOrder( (Order) translateColumnSort(objSortColumn)); return getWebService().search(query)).iterator(); } public int getRowCount() { return getWebService() .getRowCount(getQuery()); } public Query getQuery() { return this.query; } public void setQuery(Query query) { this.query = query; } } - 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]
Tap4 UsersGuide/State.html#state.aso.access error
Hi, I think there is an error in that page http://tapestry.apache.org/tapestry4/UsersGuide/state.html#state.aso.access in the example of chapter Accessing Application State Objects The example is : inject name=registration type=state object=registration-data/ But it should be : inject property=registration type=state object=registration-data/ I post this erratum for the **marketing/notoriety** of Tapestry. It is very hard to start learning an application when the doc is not uptodate. :) Cheers, Cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tap4 UsersGuide/State.html#state.aso.access error
If you replace the tapestry4 part of that url with tapestry4.1 you'll find the up to date version. ;) On 12/20/06, Cyrille37 [EMAIL PROTECTED] wrote: Hi, I think there is an error in that page http://tapestry.apache.org/tapestry4/UsersGuide/state.html#state.aso.access in the example of chapter Accessing Application State Objects The example is : inject name=registration type=state object=registration-data/ But it should be : inject property=registration type=state object=registration-data/ I post this erratum for the **marketing/notoriety** of Tapestry. It is very hard to start learning an application when the doc is not uptodate. :) Cheers, Cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo 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: Problem when using morwe than one intance of an Autocompleter
Ouch . ...Ok I think you've run into a bug I had in the javascript template for this component. (I wasn't properly using the let key to make my javascript variable names unique) It's fixed and deploying now, but you'll have to make sure you are using the 4.1.2-SNAPSHOT version of Tapestry, not 4.1.1. Sorry for the goof. I'll probably go back and re-check everything now to be sure there aren't any other hidden goofs. (i don't think there will be but...maybe) On 12/18/06, Chris Perfect [EMAIL PROTECTED] wrote: Hello, I am having an issue with 4.1.1 (latest snapshot): I have created a component with various form elements that includes an Autocompleter: the component is an address create/edit component and the autompleter is used for the Country field. I have a use case where I need to be able have more than one address in the form and would like to re-use the component however the component works perfectly fine if used in a form once but if I have more than one instance of the component the autocompleter only works in the first instance in the page: any attempt to use the second or subsequent intances doesn't autocomplete and produces the java script message DEBUG: [SyntaxError: syntax error, file: host/context/app?service=assetpath=%2Fdojo%2Fdojo.js, line: 15]. Has anyone else had this problem and know a solution? Thanks Chris NOTICE This e-mail and any attachments are confidential and may contain copyright material of Macquarie Bank or third parties. If you are not the intended recipient of this email you should not read, print, re-transmit, store or act in reliance on this e-mail or any attachments, and should destroy all copies of them. Macquarie Bank does not guarantee the integrity of any emails or any attached files. The views or opinions expressed are the author's own and may not reflect the views or opinions of Macquarie Bank. -- Jesse Kuhnert Tapestry/Dojo 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: Can you comment on this?
I agree. It takes a little while to get a developer thinking in a Tapestry way, but once that's done, it becomes contagious and fun -- constantly innovating and finding a better/neater solution to a problem. Looking forward to Tap5... -Dennis Mark Stang wrote: After 18 months of developing with Tapestry 3.03, I don't know what my next framework will be, but you can bet it will be Tapestry. Having worked with Model 1 Frameworks using JSP's and then working with Struts 1.x, I have had envough of anything related to .jsp or taglibs. I have no experience with JSF or Wicket, but I do have 150 pages in Tapestry. I have multiple libraries of components and even some custom components. And when the time to upgrade comes along, it will probably be 5.x. We have started three new products since mine and all of them have been Tapestry. regards, Mark Mark J. Stang Senior Engineer/Architect office: +1 303.468.2900 mobile: +1 303.507.2833 Ping Identity -Original Message- From: Emmanuel Sowah [mailto:[EMAIL PROTECTED] Sent: Wed 12/20/2006 2:13 AM To: users@tapestry.apache.org Subject: Can you comment on this? Hi Guys, I came across this article http://www.infoq.com/news/2006/12/wicket-vs-springmvc-and-jsf and thought probably someone here could comment. Is Tapestry really losing the battle against Wicket? Emmanuel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
EventListener - sending more info to server
Can i send some more information to the server , like a custom JSON object ? Now , i only see it done submititing a form with this object as a hidden field. Thanks! Alex
Tap4 documentation: the For component example is not complete
Hi, I continue to post some erratum for the online documentation. I'm a beginner so I fall in every simple hole. The For component example on pages http://tapestry.apache.org/tapestry4/tapestry/ComponentReference/For.html http://tapestry.apache.org/tapestry4.1/components/general/for.html is not complete. tr jwcid=@For source=ognl:customerList value=ognl:customer element=tr To works I have to add a line in the page specification to create the property used by the For 's value attribute. page-specification property name=customer/ /page-specification without this, the page doesn't know the customer property. Perhaps I'm missing something ?? Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tap4 documentation: the For component example is not complete
I'd open one JIRA issue in the 'documentation' category, and i'd start adding my findings there... Cyrille37 wrote: Hi, I continue to post some erratum for the online documentation. I'm a beginner so I fall in every simple hole. The For component example on pages http://tapestry.apache.org/tapestry4/tapestry/ComponentReference/For.html http://tapestry.apache.org/tapestry4.1/components/general/for.html is not complete. tr jwcid=@For source=ognl:customerList value=ognl:customer element=tr To works I have to add a line in the page specification to create the property used by the For 's value attribute. page-specification property name=customer/ /page-specification without this, the page doesn't know the customer property. Perhaps I'm missing something ?? Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr Tapestry / Tacos developer Open Source / J2EE Consulting - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Standalone plugins
Oh! good to hear that. I was trying to replace the service tapestry.init.ApplicationSpecificationInitializer with a simple class that adds the id and path to the libraries. It should work, but I will better wait and try to use your better library. Thanks Pedro --- Norbert Sándor [EMAIL PROTECTED] escribió: I'm working on a library which can: - inject library references into other libraries using hivemind configurations - implements global namespace for tapestry components - supports dynamic rendering of components by name (not perfect solution but it works in most cases) The code is already finished, I have to write some docs yet. (Now I'm out of order but I will release the library this weekend or the next week.) Regards: Norbi Ron Piterman írta: again, the trick is adding references to a library without coding it. Tapestry defines in the hivemind registry the service point : tapestry.parse.SpecificationSource which is responsible for reading the specification from files - I would think that to make dynamic libraries load, you need to implement this service a new: create a single library which is dynamic, all other libraries will delegate to the tapestry implementation. for your dynamic library, create a specification which is dynamically generated according to a hivemind configuration point. Never done this, but was often thinking about it... Cheers, Ron Pedro Abelleira Seco wrote: Thanks for your response. What I have in mind is to be in the situation of having a general web application with a common set of services and components (including the a general Border, etc.) and getting different contractors to develop different parts of the app in parallel without having to touch any single file in the main app or any other plugin to put them into production. Then the warranty and support agreement from each contractor would be clearly separated and future modifications or additions of new plugins could be done by the best bidder. Do you think the technical possibilities are enough for such scenario? Cheers Pedro --- Ron Piterman [EMAIL PROTECTED] escribió: It could be done, but above all needs restarting of the servlet container for every change- Since hivemind lets you peekup configuration from every jar on the classpath, configuration isn't an issue. However, adding a library without making an explicit reference to it should be quite difficult - You may need to create a custom Library spec source. Cheers, Ron Pedro Abelleira Seco wrote: Hello all, I has been a happy user of Tapestry 3 and since then stepped out of web development for a while. But I have to return there at some point. I would like to be able to do in a web application the same kind of things that are possible in client applications with respect to plugins. The idea would be to be able to drop a library in the classpath which contained components and _pages_ and that could: 1.- Add entries (links) to a menu in a page of the application. 2.- When the user clicks on one of those links to display the corresponding page, which would be located in the library. Do you think that would be possible with Tapestry? Thank you Pedro __ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.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] __ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com === message truncated === __ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: EventListener - sending more info to server
I have : @EventListener(targets=myTarget , events=myEvent) and also the javascript function : myTarget.myEvent=function(customObject) {} I would like to send customObject to the server in the same way the BrowserEvent is sent.. Which is the best aproach ? Alex On 12/20/06, Alexandru Dragomir [EMAIL PROTECTED] wrote: Can i send some more information to the server , like a custom JSON object ? Now , i only see it done submititing a form with this object as a hidden field. Thanks! Alex
Re: Tap4 documentation: the For component example is not complete
andyhot a écrit : I'd open one JIRA issue in the 'documentation' category, and i'd start adding my findings there... Thanks Andreas I think it is important to spread the notoriety of Tapestry. When people wants to get a try it must be clear and easy. I'll try to report every error/missing/clarify which I'll see. (sorry for my bad english) Cyrille Cyrille37 wrote: Hi, I continue to post some erratum for the online documentation. I'm a beginner so I fall in every simple hole. The For component example on pages http://tapestry.apache.org/tapestry4/tapestry/ComponentReference/For.html http://tapestry.apache.org/tapestry4.1/components/general/for.html is not complete. tr jwcid=@For source=ognl:customerList value=ognl:customer element=tr To works I have to add a line in the page specification to create the property used by the For 's value attribute. page-specification property name=customer/ /page-specification without this, the page doesn't know the customer property. Perhaps I'm missing something ?? Cyrille. - 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]
hook into T4's page creation process
I just want to add an annotation on the page and then take some action when the page is being bound to a request from the page pool. @SecuredPage abstract class MyPage extends BasePage{ } Is there anyways i can hook into T4's page creation process and then depending upon the annotation take some action? For e.g in the above case, I just want to be able to check for a user object in the session and redirect to login page. I looked at PageAttachListener and it looks nice. But I dont want to implement that in my page but would like to attach a listener to T4 itself. thanks, Karthik
contrib:PopupLink Problem
Dear All Is any way to popup a window and loading a external page with Popup Link? Popup link works fine when refer to a page within same project but cannot display properly (blank) when referring a external link. Here are my coding html td style=padding: 4px 0px 0px 0px;a jwcid =_popupLink_paymentimg jwcid=cartImage src=images/b_addcart.gif name=b_addcart width=113 height=23 border=0 id=b_addcart//a/td page component id=_popupLink_payment type=contrib:PopupLink binding name=url expression=getPaymentLink()/ binding name=href expression=getPaymentLink()/ binding name=height expression=400/ binding name=width expression=850/ binding name=features expression='top=200,left=100,resizable=no,scrollbars=yes'/ binding name=windowName expression='Shopping Cart'/ binding name=disabled expression=soldOut/ /component java private String getPaymentLink(){ return paymentHost() + getStringPaymentParameter();} I found a solution at http://wiki.apache.org/tapestry/PopupLinkSubmit but it seems for Tapestry 4.0+, what I'm using is 3.0.3. Upgrade is not available for this case, any hints would be appreciate, thanks. regards wayne __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Problem when using morwe than one intance of an Autocompleter
I have confirmed that the 4.1.2-SNAPSHOT fixes the issue. Thanks! Chris -Original Message- From: Jesse Kuhnert [mailto:[EMAIL PROTECTED] Sent: Thursday, 21 December 2006 8:54 AM To: Tapestry users Subject: Re: Problem when using morwe than one intance of an Autocompleter Ouch . ...Ok I think you've run into a bug I had in the javascript template for this component. (I wasn't properly using the let key to make my javascript variable names unique) It's fixed and deploying now, but you'll have to make sure you are using the 4.1.2-SNAPSHOT version of Tapestry, not 4.1.1. Sorry for the goof. I'll probably go back and re-check everything now to be sure there aren't any other hidden goofs. (i don't think there will be but...maybe) On 12/18/06, Chris Perfect [EMAIL PROTECTED] wrote: Hello, I am having an issue with 4.1.1 (latest snapshot): I have created a component with various form elements that includes an Autocompleter: the component is an address create/edit component and the autompleter is used for the Country field. I have a use case where I need to be able have more than one address in the form and would like to re-use the component however the component works perfectly fine if used in a form once but if I have more than one instance of the component the autocompleter only works in the first instance in the page: any attempt to use the second or subsequent intances doesn't autocomplete and produces the java script message DEBUG: [SyntaxError: syntax error, file: host/context/app?service=assetpath=%2Fdojo%2Fdojo.js, line: 15]. Has anyone else had this problem and know a solution? Thanks Chris NOTICE This e-mail and any attachments are confidential and may contain copyright material of Macquarie Bank or third parties. If you are not the intended recipient of this email you should not read, print, re-transmit, store or act in reliance on this e-mail or any attachments, and should destroy all copies of them. Macquarie Bank does not guarantee the integrity of any emails or any attached files. The views or opinions expressed are the author's own and may not reflect the views or opinions of Macquarie Bank. -- Jesse Kuhnert Tapestry/Dojo 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]
Re: Can you comment on this?
Case in point ;-) http://www.nabble.com/Directly-map-a-bean-to-HTML-form-tf2845102.html#a7944709 On 12/20/06, DJ Gredler [EMAIL PROTECTED] wrote: Emmanuel - I tend to view this as a free intellectual market at work. There were inadequacies in Tapestry and strengths in Wicket that drove this one user to choose Wicket over Tapestry (and the other frameworks). If enough people agree with him, either Tapestry addresses these issues and becomes a better framework, or users migrate to Wicket (or some other framework du jour). Either way, we developers end up with a better framework. Given the amount of work that has already been invested in Tapestry and the community that has been built around it, I think the first option is much more likely, but then I'm no oracle :-) Daniel On 12/20/06, Emmanuel Sowah [EMAIL PROTECTED] wrote: Hi Guys, I came across this article http://www.infoq.com/news/2006/12/wicket-vs-springmvc-and-jsf and thought probably someone here could comment. Is Tapestry really losing the battle against Wicket? Emmanuel
Re: Can you comment on this?
Uh oh You just brought up their biggest Achilles heal. Good for you :) On 12/20/06, DJ Gredler [EMAIL PROTECTED] wrote: Case in point ;-) http://www.nabble.com/Directly-map-a-bean-to-HTML-form-tf2845102.html#a7944709 On 12/20/06, DJ Gredler [EMAIL PROTECTED] wrote: Emmanuel - I tend to view this as a free intellectual market at work. There were inadequacies in Tapestry and strengths in Wicket that drove this one user to choose Wicket over Tapestry (and the other frameworks). If enough people agree with him, either Tapestry addresses these issues and becomes a better framework, or users migrate to Wicket (or some other framework du jour). Either way, we developers end up with a better framework. Given the amount of work that has already been invested in Tapestry and the community that has been built around it, I think the first option is much more likely, but then I'm no oracle :-) Daniel On 12/20/06, Emmanuel Sowah [EMAIL PROTECTED] wrote: Hi Guys, I came across this article http://www.infoq.com/news/2006/12/wicket-vs-springmvc-and-jsf and thought probably someone here could comment. Is Tapestry really losing the battle against Wicket? Emmanuel -- Jesse Kuhnert Tapestry/Dojo 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: Can you comment on this?
Just call me Paris ;-) (mythology joke...) On 12/21/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Uh oh You just brought up their biggest Achilles heal. Good for you :) On 12/20/06, DJ Gredler [EMAIL PROTECTED] wrote: Case in point ;-) http://www.nabble.com/Directly-map-a-bean-to-HTML-form-tf2845102.html#a7944709 On 12/20/06, DJ Gredler [EMAIL PROTECTED] wrote: Emmanuel - I tend to view this as a free intellectual market at work. There were inadequacies in Tapestry and strengths in Wicket that drove this one user to choose Wicket over Tapestry (and the other frameworks). If enough people agree with him, either Tapestry addresses these issues and becomes a better framework, or users migrate to Wicket (or some other framework du jour). Either way, we developers end up with a better framework. Given the amount of work that has already been invested in Tapestry and the community that has been built around it, I think the first option is much more likely, but then I'm no oracle :-) Daniel On 12/20/06, Emmanuel Sowah [EMAIL PROTECTED] wrote: Hi Guys, I came across this article http://www.infoq.com/news/2006/12/wicket-vs-springmvc-and-jsf and thought probably someone here could comment. Is Tapestry really losing the battle against Wicket? Emmanuel -- Jesse Kuhnert Tapestry/Dojo 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: Popup a Tapestry page in a new window?
Thank you, István It is pretty much what I am looking for. talksmall Istvan Szucs wrote: Use the org.apache.tapestry.contrib.link.PopupLinkRenderer bean is your page. It is a example, visit this page: http://lombok.demon.co.uk/tapestry4Demo/TestPopup.html Bye! István Szücs -Original Message- From: [EMAIL PROTECTED] Sent: Tue, 19 Dec 2006 15:49:44 +0100 To: users@tapestry.apache.org Subject: Re: Popup a Tapestry page in a new window? Use the target parameter of the link components with value _blank. BR: Norbi talk.small írta: How to create a href, when it is cliked, I can specify a Tapestry page to popup in a new window (instead of refrreshing the current page)? Thanks, Talk.small - 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] -- View this message in context: http://www.nabble.com/Popup-a-Tapestry-page-in-a-new-window--tf2846158.html#a8002732 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DirectLink with another element instead of a href=.../
I want to create the href with DirectLink, but with another owner element of area .../ instead of becuase I want to render an image map on the page like this: MAP NAME=mymap AREA HREF=/reference/ ALT=HTML and CSS Reference COORDS=5,5,95,195 AREA HREF=/design/ ALT=Design Guide COORDS=105,5,195,195 AREA HREF=/tools/ ALT=Tools COORDS=205,5,295,195 /MAP sitemap.gif Does anyone know how can I achieve it? Thanks talk.small -- View this message in context: http://www.nabble.com/DirectLink-with-another-element-instead-of-%3Ca-href%3D%22...%22-%3E-tf2863714.html#a8002768 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: contrib:PopupLink Problem
Use PopupLinkRenderer, as mentioned in the other popup thread. In T3 I use it like this: component id=someLink type=ExternalLink binding name=page expression='SomePage'/ binding name=parameters expression={'parameter_1'}/ binding name=renderer expression=beans.popupLinkRenderer/ /component ... bean name=popupLinkRenderer class=org.apache.tapestry.contrib.link.PopupLinkRenderer set-property name=windowName expression='Title'/ set-property name=features expression='top=10,left=10,width=830,height=700,scrollbars=yes,resizable=yes'/ /bean Cheers, Nick. wong wayne wrote: Dear All Is any way to popup a window and loading a external page with Popup Link? Popup link works fine when refer to a page within same project but cannot display properly (blank) when referring a external link. Here are my coding html td style=padding: 4px 0px 0px 0px;a jwcid =_popupLink_paymentimg jwcid=cartImage src=images/b_addcart.gif name=b_addcart width=113 height=23 border=0 id=b_addcart//a/td page component id=_popupLink_payment type=contrib:PopupLink binding name=url expression=getPaymentLink()/ binding name=href expression=getPaymentLink()/ binding name=height expression=400/ binding name=width expression=850/ binding name=features expression='top=200,left=100,resizable=no,scrollbars=yes'/ binding name=windowName expression='Shopping Cart'/ binding name=disabled expression=soldOut/ /component java private String getPaymentLink(){ return paymentHost() + getStringPaymentParameter();} I found a solution at http://wiki.apache.org/tapestry/PopupLinkSubmit but it seems for Tapestry 4.0+, what I'm using is 3.0.3. Upgrade is not available for this case, any hints would be appreciate, thanks. regards wayne __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.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]