Re: EventListener in combination with Dialog component
Hello, thanks for your answer. In Firefox the problem has been solved but in IE it still does not work the right way. After calling the listener and updating the second PropertySelection component the values of this selection have been lost. Can you reproduce this behavior? Has anyone an idea how I can solve my problems? Thanks Christine PS: I am sorry but I haven't answered you directly. Jessek wrote: If you have FireBug installed you might try either upgrading to the latest version or disabling it to see if the problem persists. p.s. Please direct emails like this to the list only please. I'm making it a point to completely ignore all emails sent to me directly unless I have engaged or know who people are already. It's also better to have knowledge archived on the list as it will potentially help future people instead of just one. -- 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] -- View this message in context: http://www.nabble.com/EventListener-in-combination-with-Dialog-component-tf2766841.html#a7944414 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: Localized validation messages
In fact you don't need to overwrite the ValidationStrings.properties which is supposed to be the default one. You just need to have the ValidationStrings_{locale_code}.properties. In order to add french validation to Tapestry I created a Tapestry-french-validation.jar in the lib with the following content: jar tvf Tapestry-french-validation.jar 0 Sun May 01 14:06:18 EEST 2005 META-INF/ 106 Sun May 01 14:06:16 EEST 2005 META-INF/MANIFEST.MF 0 Sun May 01 14:06:18 EEST 2005 org/ 0 Sun May 01 14:06:18 EEST 2005 org/apache/ 0 Sun May 01 14:06:18 EEST 2005 org/apache/tapestry/ 0 Sun May 01 14:06:18 EEST 2005 org/apache/tapestry/valid/ 902 Sun May 01 14:06:18 EEST 2005 org/apache/tapestry/valid/ValidationStrings_fr.properties Hope it helps, Len On Mon, 2006-12-18 at 22:27 +0100, Cyrille37 wrote: Hello, I was coming mad when trying to localize my validation messages. After some search I've found a thread in that list which explain that: [quote] That's because Tapestry looks for username-not-unique in the properties file bundeled with Tapestry. To override it, your ValidationStrings.properties should have this path {CLASS_PATH_ROOT}/org/apache/tapestry/valid/ValidationStrings.properties. To do that: create the package /org/apache/tapestry/valid/ under your source folder and place your custom ValidationStrings.properties there. [/quote] Here there another way to localize validation messages ? I hope there is a cleanest method. How do you manage that case ? Thanks Cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Localized validation messages
Marilen Corciovei a écrit : In fact you don't need to overwrite the ValidationStrings.properties which is supposed to be the default one. You just need to have the ValidationStrings_{locale_code}.properties. In order to add french validation to Tapestry I created a Tapestry-french-validation.jar in the lib with the following content: jar tvf Tapestry-french-validation.jar 0 Sun May 01 14:06:18 EEST 2005 META-INF/ 106 Sun May 01 14:06:16 EEST 2005 META-INF/MANIFEST.MF 0 Sun May 01 14:06:18 EEST 2005 org/ 0 Sun May 01 14:06:18 EEST 2005 org/apache/ 0 Sun May 01 14:06:18 EEST 2005 org/apache/tapestry/ 0 Sun May 01 14:06:18 EEST 2005 org/apache/tapestry/valid/ 902 Sun May 01 14:06:18 EEST 2005 org/apache/tapestry/valid/ValidationStrings_fr.properties Hello, Thank you Len. That is great for default validation messages translation, but not for 'custom' messages, isn't it ? Cyrille. Hope it helps, Len On Mon, 2006-12-18 at 22:27 +0100, Cyrille37 wrote: Hello, I was coming mad when trying to localize my validation messages. After some search I've found a thread in that list which explain that: [quote] That's because Tapestry looks for username-not-unique in the properties file bundeled with Tapestry. To override it, your ValidationStrings.properties should have this path {CLASS_PATH_ROOT}/org/apache/tapestry/valid/ValidationStrings.properties. To do that: create the package /org/apache/tapestry/valid/ under your source folder and place your custom ValidationStrings.properties there. [/quote] Here there another way to localize validation messages ? I hope there is a cleanest method. How do you manage that case ? Thanks Cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Localized validation messages
On Tue, 2006-12-19 at 11:22 +0100, Cyrille37 wrote: Marilen Corciovei a écrit : In fact you don't need to overwrite the ValidationStrings.properties which is supposed to be the default one. You just need to have the ValidationStrings_{locale_code}.properties. In order to add french validation to Tapestry I created a Tapestry-french-validation.jar in the lib with the following content: jar tvf Tapestry-french-validation.jar 0 Sun May 01 14:06:18 EEST 2005 META-INF/ 106 Sun May 01 14:06:16 EEST 2005 META-INF/MANIFEST.MF 0 Sun May 01 14:06:18 EEST 2005 org/ 0 Sun May 01 14:06:18 EEST 2005 org/apache/ 0 Sun May 01 14:06:18 EEST 2005 org/apache/tapestry/ 0 Sun May 01 14:06:18 EEST 2005 org/apache/tapestry/valid/ 902 Sun May 01 14:06:18 EEST 2005 org/apache/tapestry/valid/ValidationStrings_fr.properties Hello, Thank you Len. That is great for default validation messages translation, but not for 'custom' messages, isn't it ? You are right. For custom messages either for page/component translations or other messages in the application I know only of 2 mechanisms: - per page/component messages stored in the page/component_{locale}.properties which can then be accessed using the message: syntax, span key = in the template or getMessage in the code. I do not like this too much because you end up having a lot of files - global using the standard java MessageStore mechanism but then you end up with very large files and it's totaly separated from tapestry mechanisms. I think this choice depends on you mechanism for editing the ressource files later. I found some tools: http://freshmeat.net/projects/jinto/ or http://freshmeat.net/projects/prbeditor/ but this is a completely different question Len www.len.ro Cyrille. Hope it helps, Len On Mon, 2006-12-18 at 22:27 +0100, Cyrille37 wrote: Hello, I was coming mad when trying to localize my validation messages. After some search I've found a thread in that list which explain that: [quote] That's because Tapestry looks for username-not-unique in the properties file bundeled with Tapestry. To override it, your ValidationStrings.properties should have this path {CLASS_PATH_ROOT}/org/apache/tapestry/valid/ValidationStrings.properties. To do that: create the package /org/apache/tapestry/valid/ under your source folder and place your custom ValidationStrings.properties there. [/quote] Here there another way to localize validation messages ? I hope there is a cleanest method. How do you manage that case ? Thanks Cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Localized validation messages
http://tapestry.apache.org/tapestry4.1/usersguide/localization.html See the namespace message catalogs Marilen Corciovei wrote: On Tue, 2006-12-19 at 11:22 +0100, Cyrille37 wrote: Marilen Corciovei a écrit : In fact you don't need to overwrite the ValidationStrings.properties which is supposed to be the default one. You just need to have the ValidationStrings_{locale_code}.properties. In order to add french validation to Tapestry I created a Tapestry-french-validation.jar in the lib with the following content: jar tvf Tapestry-french-validation.jar 0 Sun May 01 14:06:18 EEST 2005 META-INF/ 106 Sun May 01 14:06:16 EEST 2005 META-INF/MANIFEST.MF 0 Sun May 01 14:06:18 EEST 2005 org/ 0 Sun May 01 14:06:18 EEST 2005 org/apache/ 0 Sun May 01 14:06:18 EEST 2005 org/apache/tapestry/ 0 Sun May 01 14:06:18 EEST 2005 org/apache/tapestry/valid/ 902 Sun May 01 14:06:18 EEST 2005 org/apache/tapestry/valid/ValidationStrings_fr.properties Hello, Thank you Len. That is great for default validation messages translation, but not for 'custom' messages, isn't it ? You are right. For custom messages either for page/component translations or other messages in the application I know only of 2 mechanisms: - per page/component messages stored in the page/component_{locale}.properties which can then be accessed using the message: syntax, span key = in the template or getMessage in the code. I do not like this too much because you end up having a lot of files - global using the standard java MessageStore mechanism but then you end up with very large files and it's totaly separated from tapestry mechanisms. I think this choice depends on you mechanism for editing the ressource files later. I found some tools: http://freshmeat.net/projects/jinto/ or http://freshmeat.net/projects/prbeditor/ but this is a completely different question Len www.len.ro Cyrille. Hope it helps, Len On Mon, 2006-12-18 at 22:27 +0100, Cyrille37 wrote: Hello, I was coming mad when trying to localize my validation messages. After some search I've found a thread in that list which explain that: [quote] That's because Tapestry looks for username-not-unique in the properties file bundeled with Tapestry. To override it, your ValidationStrings.properties should have this path {CLASS_PATH_ROOT}/org/apache/tapestry/valid/ValidationStrings.properties. To do that: create the package /org/apache/tapestry/valid/ under your source folder and place your custom ValidationStrings.properties there. [/quote] Here there another way to localize validation messages ? I hope there is a cleanest method. How do you manage that case ? 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]
Job Offer in Germany/Berlin
Hi All, The Company I am working for is searching for tapestry developer in Berlin/Germany. The application we are developing is base on tapestry 4.0 with a custom ajax extention based on dojo. The team contains currently 3 highly skilled j2ee developers and 1 front end (tapestry) developer. On interreset email me at tapestry1 at piterman dot net Cheers, Ron - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Migration experiences (3.0 - 4.1?)
Hello, I have been working on a Tapestry based product started almost 2.5 years ago. It's a CMS based product targeted at french cityhalls sites (as described here: http://www.nemesisit.ro/clients/case-study ). This was build on 3.0 beta and then on 3.0.3. Now it's in production from more than one year and they want to begin a new cycle of developments. I want to try to impose a migration on the new versions. As this does not seem always usefull for non-technical people I am trying first to estimate the efforts implied. I have also worked on 4.0 based projects and there are some differences. 4.1 seems to finally remove all the deprecated stuff in 4.0. What are your migration experiences from 3.0 to 4.0 or 4.1. Is there a migration directly to 4.1 much too complicated, has anyone did that? The project was quite large and on several ocasions I had to overwrite components or use some tricks. One aspect which I want to keep in mind is that I did a migration from 2.3 to 3.0 in the past on an equaly large project and I ended up with some very non-uniform code. Even if the old .page or .jwc component definitions still worked I had no reason not to use the @Component in template definitions so the pages are quite strange to look on. It's rather obvious where all the new code is. So, I would like to avoid having this diversity once again. Thank you, Len www.len.ro
Re: Localized validation messages
for custom validation messages you can do something like this: input jwcid=... validators=validators:required[%your-message-key]/ note the % in front of the message key read more here: http://tapestry.apache.org/tapestry4.1/usersguide/validation.html On Tue, 19 Dec 2006 11:22:31 +0100, Cyrille37 [EMAIL PROTECTED] wrote: Marilen Corciovei a écrit : In fact you don't need to overwrite the ValidationStrings.properties which is supposed to be the default one. You just need to have the ValidationStrings_{locale_code}.properties. In order to add french validation to Tapestry I created a Tapestry-french-validation.jar in the lib with the following content: jar tvf Tapestry-french-validation.jar 0 Sun May 01 14:06:18 EEST 2005 META-INF/ 106 Sun May 01 14:06:16 EEST 2005 META-INF/MANIFEST.MF 0 Sun May 01 14:06:18 EEST 2005 org/ 0 Sun May 01 14:06:18 EEST 2005 org/apache/ 0 Sun May 01 14:06:18 EEST 2005 org/apache/tapestry/ 0 Sun May 01 14:06:18 EEST 2005 org/apache/tapestry/valid/ 902 Sun May 01 14:06:18 EEST 2005 org/apache/tapestry/valid/ValidationStrings_fr.properties Hello, Thank you Len. That is great for default validation messages translation, but not for 'custom' messages, isn't it ? Cyrille. Hope it helps, Len On Mon, 2006-12-18 at 22:27 +0100, Cyrille37 wrote: Hello, I was coming mad when trying to localize my validation messages. After some search I've found a thread in that list which explain that: [quote] That's because Tapestry looks for username-not-unique in the properties file bundeled with Tapestry. To override it, your ValidationStrings.properties should have this path {CLASS_PATH_ROOT}/org/apache/tapestry/valid/ValidationStrings.properties. To do that: create the package /org/apache/tapestry/valid/ under your source folder and place your custom ValidationStrings.properties there. [/quote] Here there another way to localize validation messages ? I hope there is a cleanest method. How do you manage that case ? Thanks Cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Tap4.0.2] about @Persist(client)
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)
user @Persist(client:page) AFAIK, client uses cookies. 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 : 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)
forgot about cookies just before christmas? what do you eat those days? :) Ron 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]
Popup a Tapestry page in a new window?
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 -- View this message in context: http://www.nabble.com/Popup-a-Tapestry-page-in-a-new-window--tf2846158.html#a7947816 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: Popup a Tapestry page in a new window?
The following might be useful. http://lombok.demon.co.uk/tapestry4Demo/TestPopup.html The renderer parameter of the component PageLink allows you to open a page in a new window. http://tapestry.apache.org/tapestry4/tapestry/ComponentReference/PageLink.html Shing --- talk.small [EMAIL PROTECTED] wrote: 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 -- View this message in context: http://www.nabble.com/Popup-a-Tapestry-page-in-a-new-window--tf2846158.html#a7947816 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Home page : http://uk.geocities.com/matmsh/index.html Send instant messages to your online friends http://uk.messenger.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Popup a Tapestry page in a new window?
If you don't need the fine-grained control that 'window.open' offers, you could just use the target attribute in your links. Carlos -Original Message- From: talk.small [mailto:[EMAIL PROTECTED] Sent: Tuesday, December 19, 2006 9:23 AM To: users@tapestry.apache.org Subject: Popup a Tapestry page in a new window? 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 -- View this message in context: http://www.nabble.com/Popup-a-Tapestry-page-in-a-new-window--tf2846158.h tml#a7947816 Sent from the Tapestry - User mailing list archive at Nabble.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?
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)
client, client:page, client:app all use url rewritting to store the property... So, what's the problem again? 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: Localized validation messages
On 12/19/06, Marilen Corciovei [EMAIL PROTECTED] wrote: In fact you don't need to overwrite the ValidationStrings.properties which is supposed to be the default one. You just need to have the ValidationStrings_{locale_code}.properties. In order to add french validation to Tapestry I created a Tapestry-french-validation.jar in the lib with the following content: jar tvf Tapestry-french-validation.jar 0 Sun May 01 14:06:18 EEST 2005 META-INF/ 106 Sun May 01 14:06:16 EEST 2005 META-INF/MANIFEST.MF 0 Sun May 01 14:06:18 EEST 2005 org/ 0 Sun May 01 14:06:18 EEST 2005 org/apache/ 0 Sun May 01 14:06:18 EEST 2005 org/apache/tapestry/ 0 Sun May 01 14:06:18 EEST 2005 org/apache/tapestry/valid/ 902 Sun May 01 14:06:18 EEST 2005 org/apache/tapestry/valid/ValidationStrings_fr.properties We have exactly the same problem... do you suppose you could share your ValidationStrings_fr.properties so we don't have to translate it ourselves? Thanks -- Greg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Tap4.0.2] about @Persist(client)
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]
Problem with InlineEditBox on persisted page property
I am using the component InlineEditBox, in Tapestry 4.1.2 snapshot, to edit a persisted (with session scope) property called description on page TestInlineEditBox. I have noticed the changes done to the property description is lost if I leave the page TestInlineEditBox and come back to it later. As the property description is persisted with scope session, I expect the changes made to the property description to be retained between requests. It would be appreciated if someone could give me a pointer on this. Here is my code. public abstract class TestInlineEditBox extends BasePage implements PageBeginRenderListener{ @Persist public abstract String getDescription(); public abstract void setDescription(String desc); public void pageBeginRender(PageEvent event) { if (getDescription() == null){ setDescription(Please edit me); } } } TestInlineEditBox.html : span Description /span: Span jwcid=[EMAIL PROTECTED] value=ognl:description/ br a href=# jwcid=@PageLink page=literal:HomeHome/a Shing Home page : http://uk.geocities.com/matmsh/index.html ___ The all-new Yahoo! Mail goes wherever you go - free your email address from your Internet provider. http://uk.docs.yahoo.com/nowyoucan.html - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
org.apache.xalan.processor.TransformerFactoryImpl not found tapestry
Hi, I am using Tapestry 4.0.2, Tomcat 5.5.17, starting Tomcat server via Eclipse. I'm getting an error in the console when I add the Contrib:Timeout component to a page. http://tapestry.apache.org/tapestry4/tapestry-contrib/ComponentReference/Timeout.html First I'll give the setup and the error text, and then I'll list what I've done to try and fix it. ===Part 1 Here is how I've included the component, which is very similar to the documentation for it: html head titleMain Page/title /head body jwcid=$content$ span jwcid=@Border title=Main Page span jwcid=@Contrib:Timeout warningTime=15/ Other stuff here, like components. /span /body /html Here is the error that occurs each second in the console, but only _after_ I hover over any link on the page: - Servlet.service() for servlet IEIS threw exception javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found at javax.xml.transform.TransformerFactory.newInstance(Unknown Source) at org.apache.tapestry.contrib.ajax.XTileService.generateOutputString(XTileService.java:134) at org.apache.tapestry.contrib.ajax.XTileService.service(XTileService.java:100) at $IEngineService_10f9bb5e998.service($IEngineService_10f9bb5e998.java) at org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:66) at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248) at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60) at $WebRequestServicer_10f9bb5e967.service($WebRequestServicer_10f9bb5e967.java) at org.apache.tapestry.services.impl.DisableCachingFilter.service(DisableCachingFilter.java:48) at $WebRequestServicerFilter_10f9bb5e969.service($WebRequestServicerFilter_10f9bb5e969.java) at $WebRequestServicer_10f9bb5e96b.service($WebRequestServicer_10f9bb5e96b.java) at $WebRequestServicer_10f9bb5e963.service($WebRequestServicer_10f9bb5e963.java) at org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56) at $ServletRequestServicer_10f9bb5e949.service($ServletRequestServicer_10f9bb5e949.java) at org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55) at $ServletRequestServicerFilter_10f9bb5e945.service($ServletRequestServicerFilter_10f9bb5e945.java) at $ServletRequestServicer_10f9bb5e94b.service($ServletRequestServicer_10f9bb5e94b.java) at org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52) at $ServletRequestServicerFilter_10f9bb5e943.service($ServletRequestServicerFilter_10f9bb5e943.java) at $ServletRequestServicer_10f9bb5e94b.service($ServletRequestServicer_10f9bb5e94b.java) at org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53) at $ServletRequestServicerFilter_10f9bb5e947.service($ServletRequestServicerFilter_10f9bb5e947.java) at $ServletRequestServicer_10f9bb5e94b.service($ServletRequestServicer_10f9bb5e94b.java) at $ServletRequestServicer_10f9bb5e93d.service($ServletRequestServicer_10f9bb5e93d.java) at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123) at org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:79) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at
External page URL change in Tapestry 4
I'm upgrading our existing applications from Tapestry 3.1 to Tapestry 4.1. One problem we have is that we send emails to our users with links to an IExternalPage. The URL format for this has changed in Tapestry 4, so when we release, all the links in emails sent before the release will be broken. I imagine that it must be possible to set up an URL encoder to translate the old URLs to the new ones. I also imagine that someone else out there must have already encountered this and written one, but I've been unable to find any such thing. I'd rather not re-invent the wheel if the solution already exists. Robert J. Walker - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: External page URL change in Tapestry 4
Hi Robert. I solved this by using the UrlRewriteFilter: http://tuckey.org/urlrewrite/ Since you don't need to generate the old urls anymore, a custom service encoder isn't really necessary and the UrlRewriteFilter will probably be sufficient. You can even unit test the rewrite rules. :) Something like this: private static final String CONF_FILE = src/main/webapp/WEB-INF/urlrewrite.xml; private MockResponse response; private UrlRewriter urlRewriter; public UrlRewriteTest() throws FileNotFoundException { response = new MockResponse(); Conf conf = new Conf(new FileInputStream(CONF_FILE), null); conf.initialise(); urlRewriter = new UrlRewriter(conf); } @Test(dataProvider = rewrite) public void rewrite(String in, String expected) { MockRequest request = new MockRequest(in); RewrittenUrl rewrittenRequest = urlRewriter.processRequest(request, response); assert (rewrittenRequest != null); assert (rewrittenRequest.isForward()); assert (rewrittenRequest.getTarget().equals(expected)); } @DataProvider(name = rewrite) public Object[][] getRewriteData() throws IOException { [loads parameters from *.properties file] } Martin On Tue, 19 Dec 2006 19:23:15 +0100, Robert J. Walker [EMAIL PROTECTED] wrote: I'm upgrading our existing applications from Tapestry 3.1 to Tapestry 4.1. One problem we have is that we send emails to our users with links to an IExternalPage. The URL format for this has changed in Tapestry 4, so when we release, all the links in emails sent before the release will be broken. I imagine that it must be possible to set up an URL encoder to translate the old URLs to the new ones. I also imagine that someone else out there must have already encountered this and written one, but I've been unable to find any such thing. I'd rather not re-invent the wheel if the solution already exists. Robert J. Walker - 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 did try this and couldn't reproduce any problems. So, not sure what to say based on what you've said so far. 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]
Standalone plugins
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]
Re: EventListener , target being a programatically created widget (dojo)
In the mean time i found out that the afterAddChild is a topic . So my problem is solved by subscribing to this topic with whatever function i want. I'm still interested in the answer though. thanks for any feedback ! Alex 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
Re: EventListener , target being a programatically created widget (dojo)
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]
Re: EventListener , target being a programatically created widget (dojo)
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]
Re: EventListener , target being a programatically created widget (dojo)
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]
Re: EventListener , target being a programatically created widget (dojo)
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]
DatePicker timezone problem
I'm only just starting to look into this problem, so I'll likely post more detail in future emails, but it looks as though there is a problem with the DatePicker component when the server and the client are not in the same timezone. Internally, the Calendar javascript object that is defined in DatePIcker.js uses an offset from Jan 1, 1970 GMT to store the date, which is fine, since it is independant of timezone. The visual calendar element then displays with the selected date computed including the local zimezone on the browser machine. This wouldn't by itself, be a huge problem, except that the initial value in the text box is displayed according to the timezone on the server. So if my server is in GMT+1 and it creates a DatePicker using a date of Dec 20, 2006, the DatePicker text box will display 12/20/2006 (or whatever the appropriate format is). When I click on the calendar icon from a browser in GMT-8, however, the resulting calendar actually displays with Dec 19 selected, even though the text box shows Dec 20. If I print the value of the date in a js debug statement, it will actually show 15:00 on Dec 19, which is 9 hours back from 00:00 on Dec 20. If I then select Dec 20 on the calendar, the text box will continue to display Dec 20, but now there will be 24 hours added to the associated date object, meaning it will display 15:00 on Dec 20, which isn't really what I wanted (prefer 00:00 on Dec 20). If the component is going to compute timezone offsets, it should continue to compute them with newly selected dates, rather than just with the default values. Also, the original value needs to have the same computation applied to it. More importantly, I don't really think it should be doing timezone computations at all unless I ask it to (and I don't see anything obvious in the javascript that would let me toggle it). Finally, since it is a calendar object that does not provide a mechanism for setting time, it should be truncating values to only include the date. Does anyone know a way that I can use the DatePicker with 'raw' values, meaning it should convert the supplied date to unixtime within the browser time zone, rather than on the server? This is causing me big headaches since I've got users in 6 widely disparate timezones and asking them all to set their desktop machines to use GMT just isn't reasonable. Does the tacos DatePicker behave differently in this regard? In our case, it is understood that all dates are server time, so it is a problem that the component is converting to local time. --sam - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: DatePicker timezone problem
Not sure if this helps but: -) The tacos DatePicker component uses a completely separate javascript package for the actual picker (that is used by a lot of people, even our jira instance) so I would be surprised if it hadn't somehow figured these issues out already. -) The new DropdownDatePicker / DropdownTimePicker components should be fairly bulletproof in this regard as the ibm guy who works on anything i18n related in Dojo ~only~ works on and cares about i18n . The dates/times are transported according to rfc3339 (i think..) so anything appearing in local time should just be for appearances and not for actual client-server sync. On 12/19/06, Sam Gendler [EMAIL PROTECTED] wrote: I'm only just starting to look into this problem, so I'll likely post more detail in future emails, but it looks as though there is a problem with the DatePicker component when the server and the client are not in the same timezone. Internally, the Calendar javascript object that is defined in DatePIcker.js uses an offset from Jan 1, 1970 GMT to store the date, which is fine, since it is independant of timezone. The visual calendar element then displays with the selected date computed including the local zimezone on the browser machine. This wouldn't by itself, be a huge problem, except that the initial value in the text box is displayed according to the timezone on the server. So if my server is in GMT+1 and it creates a DatePicker using a date of Dec 20, 2006, the DatePicker text box will display 12/20/2006 (or whatever the appropriate format is). When I click on the calendar icon from a browser in GMT-8, however, the resulting calendar actually displays with Dec 19 selected, even though the text box shows Dec 20. If I print the value of the date in a js debug statement, it will actually show 15:00 on Dec 19, which is 9 hours back from 00:00 on Dec 20. If I then select Dec 20 on the calendar, the text box will continue to display Dec 20, but now there will be 24 hours added to the associated date object, meaning it will display 15:00 on Dec 20, which isn't really what I wanted (prefer 00:00 on Dec 20). If the component is going to compute timezone offsets, it should continue to compute them with newly selected dates, rather than just with the default values. Also, the original value needs to have the same computation applied to it. More importantly, I don't really think it should be doing timezone computations at all unless I ask it to (and I don't see anything obvious in the javascript that would let me toggle it). Finally, since it is a calendar object that does not provide a mechanism for setting time, it should be truncating values to only include the date. Does anyone know a way that I can use the DatePicker with 'raw' values, meaning it should convert the supplied date to unixtime within the browser time zone, rather than on the server? This is causing me big headaches since I've got users in 6 widely disparate timezones and asking them all to set their desktop machines to use GMT just isn't reasonable. Does the tacos DatePicker behave differently in this regard? In our case, it is understood that all dates are server time, so it is a problem that the component is converting to local time. --sam - 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: DatePicker timezone problem
OK, I'll check it out. Thanks. ---sam On 12/19/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Not sure if this helps but: -) The tacos DatePicker component uses a completely separate javascript package for the actual picker (that is used by a lot of people, even our jira instance) so I would be surprised if it hadn't somehow figured these issues out already. -) The new DropdownDatePicker / DropdownTimePicker components should be fairly bulletproof in this regard as the ibm guy who works on anything i18n related in Dojo ~only~ works on and cares about i18n . The dates/times are transported according to rfc3339 (i think..) so anything appearing in local time should just be for appearances and not for actual client-server sync. On 12/19/06, Sam Gendler [EMAIL PROTECTED] wrote: I'm only just starting to look into this problem, so I'll likely post more detail in future emails, but it looks as though there is a problem with the DatePicker component when the server and the client are not in the same timezone. Internally, the Calendar javascript object that is defined in DatePIcker.js uses an offset from Jan 1, 1970 GMT to store the date, which is fine, since it is independant of timezone. The visual calendar element then displays with the selected date computed including the local zimezone on the browser machine. This wouldn't by itself, be a huge problem, except that the initial value in the text box is displayed according to the timezone on the server. So if my server is in GMT+1 and it creates a DatePicker using a date of Dec 20, 2006, the DatePicker text box will display 12/20/2006 (or whatever the appropriate format is). When I click on the calendar icon from a browser in GMT-8, however, the resulting calendar actually displays with Dec 19 selected, even though the text box shows Dec 20. If I print the value of the date in a js debug statement, it will actually show 15:00 on Dec 19, which is 9 hours back from 00:00 on Dec 20. If I then select Dec 20 on the calendar, the text box will continue to display Dec 20, but now there will be 24 hours added to the associated date object, meaning it will display 15:00 on Dec 20, which isn't really what I wanted (prefer 00:00 on Dec 20). If the component is going to compute timezone offsets, it should continue to compute them with newly selected dates, rather than just with the default values. Also, the original value needs to have the same computation applied to it. More importantly, I don't really think it should be doing timezone computations at all unless I ask it to (and I don't see anything obvious in the javascript that would let me toggle it). Finally, since it is a calendar object that does not provide a mechanism for setting time, it should be truncating values to only include the date. Does anyone know a way that I can use the DatePicker with 'raw' values, meaning it should convert the supplied date to unixtime within the browser time zone, rather than on the server? This is causing me big headaches since I've got users in 6 widely disparate timezones and asking them all to set their desktop machines to use GMT just isn't reasonable. Does the tacos DatePicker behave differently in this regard? In our case, it is understood that all dates are server time, so it is a problem that the component is converting to local time. --sam - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Popup a Tapestry page in a new window?
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]