about ognl and class changes detection
Hello OGNL is very nice but I would like to know how to manage classes changes without testing every pages. Exemple : In pages we have some ognl expression like value=ognl:user.lastname and we change the class's property getLastname() to getName(). Every page are broken, And I could not find a nice method to find thoses errors. How do you manage tis case with Tapestry ?? Thanks Cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4] Removing Html comments at render time
Hello, Do you know a way to remove Html comments at render time ? I use to put many many comments in html templates, and I would like to not see them in the source code. For exemple, with the Php Smarty template engine you got 'smarty comment' like {* bla bla *} or you can add render_filter which can remove Html comments. Is there a way to do like that with Tapestry ?? Thanks Cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4] How to get the right DOCTYPE ...
Hello, I could not find how to set the DocType ? My Border component's HTML start like this : ?xml version=1.0 encoding=UTF-8 ? !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd; html xmlns=http://www.w3.org/1999/xhtml; title=TestApp stylesheet=asset:generalCss jwcid=@Shell disableCaching=true consoleEnabled=false debugEnabled=false browserLogLevel=DEBUG parseWidgets=true ... But when rendering I got that : ?xml version=1.0 encoding=UTF-8 ? !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd; !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd; !-- Application: TestApp -- !-- Page: Home -- !-- Generated: Tue Nov 20 12:12:05 CET 2007 -- html head ... meta http-equiv=Content-Type content=text/html;charset=UTF-8 / ... Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4] How to get the right DOCTYPE ...
#Cyrille37# a écrit : #Cyrille37# a écrit : Hello, I could not find how to set the DocType ? Sorry for the noise. It's in the @Shell component. If the designer set a Doctype in the template, and the programmer set the doctype in @Shell, in the rendered page there is 2 doctypes ... is there a solution ? Thanks Cyrille. Cheers Cyrille. My Border component's HTML start like this : ?xml version=1.0 encoding=UTF-8 ? !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd; html xmlns=http://www.w3.org/1999/xhtml; title=TestApp stylesheet=asset:generalCss jwcid=@Shell disableCaching=true consoleEnabled=false debugEnabled=false browserLogLevel=DEBUG parseWidgets=true ... But when rendering I got that : ?xml version=1.0 encoding=UTF-8 ? !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd; !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd; !-- Application: TestApp -- !-- Page: Home -- !-- Generated: Tue Nov 20 12:12:05 CET 2007 -- html head ... meta http-equiv=Content-Type content=text/html;charset=UTF-8 / ... Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4] How to get the right DOCTYPE ...
Martino Piccinato a écrit : If you are using Shell component in your border (probably you do) you have to set this parameter for the shell component: binding name=doctype value=literal:html PUBLIC quot;-//W3C//DTD XHTML 1.1 //ENquot; quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtdquot;/ note the use of quot; as you are writing it inside an xml file. It works like that too : component id=theShell type=Shell binding name=doctype literal:html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd; /binding /component But I've got 2 doctype in the rendered page because the designer put (and have to) a doctype in each template. Cyrille. On Nov 20, 2007 12:16 PM, #Cyrille37# [EMAIL PROTECTED] wrote: Hello, I could not find how to set the DocType ? My Border component's HTML start like this : ?xml version=1.0 encoding=UTF-8 ? !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd; html xmlns=http://www.w3.org/1999/xhtml; title=TestApp stylesheet=asset:generalCss jwcid=@Shell disableCaching=true consoleEnabled=false debugEnabled=false browserLogLevel=DEBUG parseWidgets=true ... But when rendering I got that : ?xml version=1.0 encoding=UTF-8 ? !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd; !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd; !-- Application: TestApp -- !-- Page: Home -- !-- Generated: Tue Nov 20 12:12:05 CET 2007 -- html head ... meta http-equiv=Content-Type content=text/html;charset=UTF-8 / ... Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4] component Image has no alt parameter
Hello Why the component Image has no 'alt' parameter, but only the 'image'. It should be nice if it got one. It'll avoid the use of ognl expression in html template. Cheers Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4] howto re-use component definition
Hello again, I could not find how to re-use component definition. How can I do if I want to put a link at several places in the page ? For example there is a PageLink definition : component id=homeLink type=PageLink binding name=page value=Home / /component But I can't use it several times in the template : a href=# jwcid=homeLinkHome/a ... a href=# jwcid=homeLinkHome/a Because Tapestry is shooting contains multiple references to embedded component homeLink. What is the mechanism for re-using component definition ?? Cheers, Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4] howto re-use component definition
Martino Piccinato a écrit : component id=homeLink2 copy-of=homeLink/ Great. I did not this copy-of attribute. Sorry, I've to read more carefully the documentation. Thanks a lot Cyrille. On Nov 20, 2007 3:17 PM, #Cyrille37# [EMAIL PROTECTED] wrote: Hello again, I could not find how to re-use component definition. How can I do if I want to put a link at several places in the page ? For example there is a PageLink definition : component id=homeLink type=PageLink binding name=page value=Home / /component But I can't use it several times in the template : a href=# jwcid=homeLinkHome/a ... a href=# jwcid=homeLinkHome/a Because Tapestry is shooting contains multiple references to embedded component homeLink. What is the mechanism for re-using component definition ?? Cheers, Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4] about cookie and page cycle
Hello, I've found howto set a cookie. I come to you to know more about why setting the cookie in renderPage() works, but not in beginPageRender() ?? Thanks Cyrille = I put my little code here, to archive it in Internet ;-) public abstract class Home extends BasePage { @Override public void renderPage( ResponseBuilder builder, IRequestCycle cycle ) { super.renderPage( builder, cycle ); setCookie(TestCookie, 789); } @InjectObject(infrastructure:cookieSource) public abstract CookieSource getCookieSource(); void setCookie( String name, String value ) { getCookieSource().writeCookieValue(name, value); } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: 3 new French Tapestry5 tutorials
Baptiste Meurant a écrit : j'autorise la traduction bien sur et je suis disposé à faire une relecture des tutoriels une fois traduits. Merci. I allow you translating my tutorials. I can read them once translated if you need. Thanks. Hello I think it's a very good thing. When your tutorials will be in english, Tapestry's Guru will be able to make comments, precisions and corrections. Cheers cyrille. Michael Courcy wrote: Si vous m'y autorisez je peux faire la traduction en anglais et la poster sur le wiki, comme je découvre Tapestry 5 mais que je connais Spring et hibernate (ainsi que wtp) ça ne devrait pas poser de souci. If you allow me I would translate it and post on the wiki. As I 'm a newbie in tapestry 5 but already used to Spring and hibernate it should not be a problem. Michael. #Cyrille37# a écrit : Howard Lewis Ship a écrit : Thanks, looks like a great effort. Sorry I've been so swamped about getting your translations on the main web site. Thanks Howard : Here is translation, done with my poor english : [fr] Premier projet avec Tapestry5, Spring et Hibernate : [en] First project with Tapestry5, Spring and Hibernate : http://baptiste-meurant.developpez.com/tutoriaux/tapestry5-spring-hibernate/ [fr] Intégration simple et élégante d'AJAX avec DWR: [en] A nice integration of Ajax with DWR into Tapestry5 : http://baptiste-meurant.developpez.com/tutoriaux/dwr-tapestry5-spring-hibernate/ [fr] Sécurisation d'une application Web avec Acegi Security: [en] Securising a web application with ACEGI http://baptiste-meurant.developpez.com/tutoriaux/acegi-dwr-tapestry5-spring-hibernate/ All of those 3 tutorials have Tapestry5 as Front view On Nov 5, 2007 3:48 AM, #Cyrille37# [EMAIL PROTECTED] wrote: Hello, Bonjour, There are 3 new tutorials for Tapestry5 in French. Il y a 3 nouveaux tutoriels en français pour Tapestry5. Thanks to Baptiste Meurant ! Merci à Baptiste Meurant ! Premier projet avec Tapestry5, Spring et Hibernate : http://baptiste-meurant.developpez.com/tutoriaux/tapestry5-spring-hibernate/ Intégration simple et élégante d'AJAX avec DWR: http://baptiste-meurant.developpez.com/tutoriaux/dwr-tapestry5-spring-hibernate/ Sécurisation d'une application Web avec Acegi Security: http://baptiste-meurant.developpez.com/tutoriaux/acegi-dwr-tapestry5-spring-hibernate/ I've added them on http://wiki.apache.org/tapestry/TapestryTutorials but it should be nice to add them to http://tapestry.apache.org/articles.html Bye, Salut Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
3 new French Tapestry5 tutorials
Hello, Bonjour, There are 3 new tutorials for Tapestry5 in French. Il y a 3 nouveaux tutoriels en français pour Tapestry5. Thanks to Baptiste Meurant ! Merci à Baptiste Meurant ! Premier projet avec Tapestry5, Spring et Hibernate : http://baptiste-meurant.developpez.com/tutoriaux/tapestry5-spring-hibernate/ Intégration simple et élégante d'AJAX avec DWR: http://baptiste-meurant.developpez.com/tutoriaux/dwr-tapestry5-spring-hibernate/ Sécurisation d'une application Web avec Acegi Security: http://baptiste-meurant.developpez.com/tutoriaux/acegi-dwr-tapestry5-spring-hibernate/ I've added them on http://wiki.apache.org/tapestry/TapestryTutorials but it should be nice to add them to http://tapestry.apache.org/articles.html Bye, Salut Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: 3 new French Tapestry5 tutorials
Michael Bernagou a écrit : Merci :) Je sais pas pourquoi le firewall de ma boite bloque le site... Dommage, car developpez.com est vraiment très bien et très complet. I must pour l'auto-formation des employés ;-) Cyrille. PS : sorry for english reader, but it's some time very hard for me to translate in english when I have a native langage message. I'm so lazy ;-) Le 05/11/07, Michael Courcy [EMAIL PROTECTED] a écrit : Bravo et merci. #Cyrille37# a écrit : Hello, Bonjour, There are 3 new tutorials for Tapestry5 in French. Il y a 3 nouveaux tutoriels en français pour Tapestry5. Thanks to Baptiste Meurant ! Merci à Baptiste Meurant ! Premier projet avec Tapestry5, Spring et Hibernate : http://baptiste-meurant.developpez.com/tutoriaux/tapestry5-spring-hibernate/ Intégration simple et élégante d'AJAX avec DWR: http://baptiste-meurant.developpez.com/tutoriaux/dwr-tapestry5-spring-hibernate/ Sécurisation d'une application Web avec Acegi Security: http://baptiste-meurant.developpez.com/tutoriaux/acegi-dwr-tapestry5-spring-hibernate/ I've added them on http://wiki.apache.org/tapestry/TapestryTutorials but it should be nice to add them to http://tapestry.apache.org/articles.html Bye, Salut Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
source code for Screencast #5
Hello Is someone know where are source code from Screencast #5 ? Thanks cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: 3 new French Tapestry5 tutorials
Howard Lewis Ship a écrit : Thanks, looks like a great effort. Sorry I've been so swamped about getting your translations on the main web site. Thanks Howard : Here is translation, done with my poor english : [fr] Premier projet avec Tapestry5, Spring et Hibernate : [en] First project with Tapestry5, Spring and Hibernate : http://baptiste-meurant.developpez.com/tutoriaux/tapestry5-spring-hibernate/ [fr] Intégration simple et élégante d'AJAX avec DWR: [en] A nice integration of Ajax with DWR into Tapestry5 : http://baptiste-meurant.developpez.com/tutoriaux/dwr-tapestry5-spring-hibernate/ [fr] Sécurisation d'une application Web avec Acegi Security: [en] Securising a web application with ACEGI http://baptiste-meurant.developpez.com/tutoriaux/acegi-dwr-tapestry5-spring-hibernate/ All of those 3 tutorials have Tapestry5 as Front view On Nov 5, 2007 3:48 AM, #Cyrille37# [EMAIL PROTECTED] wrote: Hello, Bonjour, There are 3 new tutorials for Tapestry5 in French. Il y a 3 nouveaux tutoriels en français pour Tapestry5. Thanks to Baptiste Meurant ! Merci à Baptiste Meurant ! Premier projet avec Tapestry5, Spring et Hibernate : http://baptiste-meurant.developpez.com/tutoriaux/tapestry5-spring-hibernate/ Intégration simple et élégante d'AJAX avec DWR: http://baptiste-meurant.developpez.com/tutoriaux/dwr-tapestry5-spring-hibernate/ Sécurisation d'une application Web avec Acegi Security: http://baptiste-meurant.developpez.com/tutoriaux/acegi-dwr-tapestry5-spring-hibernate/ I've added them on http://wiki.apache.org/tapestry/TapestryTutorials but it should be nice to add them to http://tapestry.apache.org/articles.html Bye, Salut Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: source code for Screencast #5
#Cyrille37# a écrit : Hello Is someone know where are source code from Screencast #5 ? Ok, I've found it in source tree : tapestry-core\src\test\java\org\apache\tapestry\integration\app1\components Perhaps those test app could be referenced somewhere like examples ;-) Cheers cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Thread continuation after client disconnection
Thanks to you two for those ligths. cheers cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Thread continuation after client disconnection
Hello, I would like to know if there is a option, in the ServletServer or in Tapestry for managing client disconnection. I call client disconnection when the client press stop or back or ... while the page is loading. If there is no option, how should we handle the cas ? Thanks a lot Cyrille?. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Thread continuation after client disconnection
#Cyrille37# a écrit : Hello, I would like to know if there is a option, in the ServletServer or in Tapestry for managing client disconnection. I call client disconnection when the client press stop or back or ... while the page is loading. If there is no option, how should we handle the cas ? Sorry to repost, but I'm afraid to have posted a void question. I try to reformulate it in another way : Is client's thread is killed when the client disconnect before full processing of a page, or is the thread finish it's work before dying ? Cyrille. Thanks a lot Cyrille?. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Tap4.1.2-Ognl2.7]OGNL error
Hello I come on a strange stuff. An ognl expression is well working but I see a Hivemind exception in log. In a html file I affect a value to a property : span jwcid=@Any value=ognl:currentlocaleCode=page.engine.locale.language/ The property is defined in the specification page : property name=currentlocaleCode / The result works: if I display the value of currentlocaleCode I well get the current locale language code span jwcid=@Insert value=ognl:currentlocaleCode / So all stuffs seems ok. But while I'm looking at log (in Eclipse console) I can see that the expression evaluation throw a exception : 22953 [http-8080-2] ERROR org.apache.tapestry.services.impl.HiveMindExpressionCompiler - Error generating OGNL statements for expression currentlocaleCode = page.engine.locale.language with root [EMAIL PROTECTED]/$Util$LocaleSelectionFlags] org.apache.hivemind.ApplicationRuntimeException: Unable to add method void set(ognl.OgnlContext, java.lang.Object, java.lang.Object) to class $ASTAssign_11491e63e30: [source error] ; is missing at org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278) at org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:214) at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:498) at ognl.Ognl.compileExpression(Ognl.java:141) at org.apache.tapestry.services.impl.ExpressionCacheImpl.parse(ExpressionCacheImpl.java:152) at org.apache.tapestry.services.impl.ExpressionCacheImpl.getCompiledExpression(ExpressionCacheImpl.java:115) at $ExpressionCache_11491e63db9.getCompiledExpression($ExpressionCache_11491e63db9.java) at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134) at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:125) at org.apache.tapestry.AbstractComponent.renderInformalParameters(AbstractComponent.java:290) at org.apache.tapestry.components.Any.renderComponent(Any.java:38) Any Idea ? Why the page and property value are well render without a exception page ? In a previous post Marcus Schulte told me that The OGNL Expression-Compiler falls back from the new, byte-code generating mode to the old, interpreting mode when an error occurs. and to try with Ognl v2.7. But I'm using Tap4.1.2 which already comes with ognl 2.7. Cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: HandyTapestry 1.2.1 with Flash demos
Alexei Orishchenko a écrit : The Flash demos are available: - create component with HandyTapestry (create and edit its class and template) - HandyTapestry configuration The plugin update includes fixes in the configuration and page specification handling. Some links please ? thanks cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Help out Matt Raible: Looking for Web Framework Stories
Howard Lewis Ship a écrit : Matt Raible is looking for stories of how people chose a JVM Web Framework and how it worked out for them. I'd encourage all Tapestry users to drop in with a story or two. http://raibledesigns.com/rd/entry/choosing_a_jvm_web_framework1 2007/08/31 : only one comment for Tapestry ... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
T5 is production ready ?
Hello, This subject is often present in the list... I'm working on a project which has to be in production in 1 month. The business layer is done, and the web part is nearly done with T4.1.2. I've some time left, and every day I'm thinking about changing to T5 ... The only T5 missing part seems to be Ajax. But is T5 is ready for production use ? If yes, there are 5 releases, so which release is production ready ? Cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4.1.2] Hivemind / OGNL error
Hello I come on a strange stuff. An ognl expression is well working but I see a Hivemind exception in log. In a html file I affect a value to a property : span jwcid=@Any value=ognl:currentlocaleCode=page.engine.locale.language/ The property is defined in the specification page : property name=currentlocaleCode / The result works: if I display the value of currentlocaleCode I well get the current locale language code span jwcid=@Insert value=ognl:currentlocaleCode / So all stuffs seems ok. But while I'm looking at log (in Eclipse console) I can see that the expression evaluation throw a exception : 22953 [http-8080-2] ERROR org.apache.tapestry.services.impl.HiveMindExpressionCompiler - Error generating OGNL statements for expression currentlocaleCode = page.engine.locale.language with root [EMAIL PROTECTED]/$Util$LocaleSelectionFlags] org.apache.hivemind.ApplicationRuntimeException: Unable to add method void set(ognl.OgnlContext, java.lang.Object, java.lang.Object) to class $ASTAssign_11491e63e30: [source error] ; is missing at org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278) at org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:214) at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:498) at ognl.Ognl.compileExpression(Ognl.java:141) at org.apache.tapestry.services.impl.ExpressionCacheImpl.parse(ExpressionCacheImpl.java:152) at org.apache.tapestry.services.impl.ExpressionCacheImpl.getCompiledExpression(ExpressionCacheImpl.java:115) at $ExpressionCache_11491e63db9.getCompiledExpression($ExpressionCache_11491e63db9.java) at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134) at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:125) at org.apache.tapestry.AbstractComponent.renderInformalParameters(AbstractComponent.java:290) at org.apache.tapestry.components.Any.renderComponent(Any.java:38) Any Idea ? Why the page and property value are well render without a exception page ? Cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4.1.2] Hivemind / OGNL error
[EMAIL PROTECTED] a écrit : The OGNL Expression-Compiler falls back from the new, byte-code generating mode to the old, interpreting mode when an error occurs. That why I get a well rendered page. Are you using the very latest and greatest OGNL-version? At least, try version 2.7. If the error persists, try 2.7.1-SNAPSHOT. If it's still there you can file a bug for OGNL. I'm using the Tapestry 4.1.2 release and its Ognl package version. Should I try a more recent ognl version with T 4.1.2 ? I'll try. cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4] compputing url relative to the context
Ulrich Stärk a écrit : Let Tapestry inject the infrastructure:contextPath object like @InjectObject(infrastructure:contextPath) public abstract String getContextPath(); Then write some computeUrl method similar to this one (just typed this in, no guarantee that this will work). public String computeUrl() { String locale = getLocale().getCountry().toLowerCase(); return getContextPath() + /Public/flags/ + locale + .gif; } Thank you Ulrich, This is the Java way, what is the Ognl way ? To use in Html and/or Jwc files. Cyrille Cheers, Uli On Mi, 22.08.2007, 01:53, #Cyrille37# sagte: Hello, I could not find how to compute a url ... It is for a component which give the user the possibility to change his locale by clicking on a image (country flags). Urls should be like : /theApp/Public/flags/fr.gif There is 2 dynamics parts : * the application context : /theApp * the available locale code : fr like : context/Public/flags/localeCode.gif I thought about asset name=xxx path=context: / but it is not possible because path attribute started by context: could not use ognl expression. Also thought about img jwcid=@Any src=ognl: page.context + '/xxx/' + currentLoopItem + '.gif' / but page.context does not exists. I really could not find how to compute the context part of urls. Have you got any idea please ? Thanks cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4] compputing url relative to the context
Ulrich Stärk a écrit : Well, rename computeUrl() to getYouNameIt() and access it using ognl:youNameIt from your template or page specification. I compute the url in the html in a for loop. So the stuff I miss is how to access infrastructure:contextPath from ognl. I did this ognl:page.engine.infrastructure.contextPath+'/Public/flags/'+localeItem.language+'.gif' and it's working ! Great. cyrille Uli #Cyrille37# schrieb: Ulrich Stärk a écrit : Let Tapestry inject the infrastructure:contextPath object like @InjectObject(infrastructure:contextPath) public abstract String getContextPath(); Then write some computeUrl method similar to this one (just typed this in, no guarantee that this will work). public String computeUrl() { String locale = getLocale().getCountry().toLowerCase(); return getContextPath() + /Public/flags/ + locale + .gif; } Thank you Ulrich, This is the Java way, what is the Ognl way ? To use in Html and/or Jwc files. Cyrille Cheers, Uli On Mi, 22.08.2007, 01:53, #Cyrille37# sagte: Hello, I could not find how to compute a url ... It is for a component which give the user the possibility to change his locale by clicking on a image (country flags). Urls should be like : /theApp/Public/flags/fr.gif There is 2 dynamics parts : * the application context : /theApp * the available locale code : fr like : context/Public/flags/localeCode.gif I thought about asset name=xxx path=context: / but it is not possible because path attribute started by context: could not use ognl expression. Also thought about img jwcid=@Any src=ognl: page.context + '/xxx/' + currentLoopItem + '.gif' / but page.context does not exists. I really could not find how to compute the context part of urls. Have you got any idea please ? Thanks cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4] compputing url relative to the context
Ulrich Stärk a écrit : If localeItem is the value of your for component, you can put all this into your page class and thus simplify your template. The for component will take care, that getLocaleItem() in your page class will return the actual LocaleItem. getComputeUrl() could be public String getComputeUrl() { String locale = getLocaleItem().getLanguage(); return getContextPath() + /Public/flags/ + locale + .gif; } and then simplify your expression to ognl:computeUrl. It's a question of style but I find it more readable that way. Thanks for your time and this nice proposition. I'll use your way. Cheers, cyrille Uli #Cyrille37# schrieb: Ulrich Stärk a écrit : Well, rename computeUrl() to getYouNameIt() and access it using ognl:youNameIt from your template or page specification. I compute the url in the html in a for loop. So the stuff I miss is how to access infrastructure:contextPath from ognl. I did this ognl:page.engine.infrastructure.contextPath+'/Public/flags/'+localeItem.language+'.gif' and it's working ! Great. cyrille Uli #Cyrille37# schrieb: Ulrich Stärk a écrit : Let Tapestry inject the infrastructure:contextPath object like @InjectObject(infrastructure:contextPath) public abstract String getContextPath(); Then write some computeUrl method similar to this one (just typed this in, no guarantee that this will work). public String computeUrl() { String locale = getLocale().getCountry().toLowerCase(); return getContextPath() + /Public/flags/ + locale + .gif; } Thank you Ulrich, This is the Java way, what is the Ognl way ? To use in Html and/or Jwc files. Cyrille Cheers, Uli On Mi, 22.08.2007, 01:53, #Cyrille37# sagte: Hello, I could not find how to compute a url ... It is for a component which give the user the possibility to change his locale by clicking on a image (country flags). Urls should be like : /theApp/Public/flags/fr.gif There is 2 dynamics parts : * the application context : /theApp * the available locale code : fr like : context/Public/flags/localeCode.gif I thought about asset name=xxx path=context: / but it is not possible because path attribute started by context: could not use ognl expression. Also thought about img jwcid=@Any src=ognl: page.context + '/xxx/' + currentLoopItem + '.gif' / but page.context does not exists. I really could not find how to compute the context part of urls. Have you got any idea please ? Thanks cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4] compputing url relative to the context
Hello, I could not find how to compute a url ... It is for a component which give the user the possibility to change his locale by clicking on a image (country flags). Urls should be like : /theApp/Public/flags/fr.gif There is 2 dynamics parts : * the application context : /theApp * the available locale code : fr like : context/Public/flags/localeCode.gif I thought about asset name=xxx path=context: / but it is not possible because path attribute started by context: could not use ognl expression. Also thought about img jwcid=@Any src=ognl: page.context + '/xxx/' + currentLoopItem + '.gif' / but page.context does not exists. I really could not find how to compute the context part of urls. Have you got any idea please ? Thanks cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4.1.2] add an include-script element throw a SAX exception
Hello I don't understand why I get the SAXParseException : The content of element type script must match (include-script*,input-symbol*,(let|set)*,body?,initialization?). The exception arrived when **I add a include-script element**. The script is : ?xml version=1.0 encoding=UTF-8? !DOCTYPE script PUBLIC -//Apache Software Foundation//Tapestry Script Specification 3.0//EN http://jakarta.apache.org/tapestry/dtd/Script_3_0.dtd; script input-symbol key=item class=model.Item required=yes/ include-script resource-path=ItemRenderer.js/ body ... org.apache.tapestry.util.xml.DocumentParseException Unable to parse file:/D:/evote.java/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/Scrutalys-web-T4/WEB-INF/classes/com/digimedia/scrutalys/web/components/vote/BallotRenderer.script: The content of element type script must match (include-script*,input-symbol*,(let|set)*,body?,initialization?). location: classpath:/com/digimedia/scrutalys/web/components/vote/BallotRenderer.script, line 144, column 10 139 ad.setMessage( errors ); 140 ad.show(); 141 } 142 /body 143 144 /script 145 Have you got any idea about that ? thanks cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4.1.2] add an include-script element throw a SAX exception
#Cyrille37# a écrit : Hello I don't understand why I get the SAXParseException : The content of element type script must match (include-script*,input-symbol*,(let|set)*,body?,initialization?). The exception arrived when **I add a include-script element**. The script is : ?xml version=1.0 encoding=UTF-8? !DOCTYPE script PUBLIC -//Apache Software Foundation//Tapestry Script Specification 3.0//EN http://jakarta.apache.org/tapestry/dtd/Script_3_0.dtd; script input-symbol key=item class=model.Item required=yes/ include-script resource-path=ItemRenderer.js/ body ... Ok, I found. include-script must be just after the script Like : script include-script resource-path=ItemRenderer.js/ input-symbol key=item class=model.Item required=yes/ body cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4.1.2] Multi Fields validation: How to handle decoration ?
Hello, For days I looking how to handle multi-fields validation on a form submit on the server-side. The validation needs to know all form's field state. So I can plug my rules in the submit listener but know I could not find how to decorate fields that are not matching rules. Can you give me a start-point, an idea ? Thanks a lot cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4.1.2] Multi Fields validation: How to handle decoration ?
Shing Hing Man a écrit : Have you look at chapter 3 of Kent Tong's book Enjoying Web Development with Tapestry on Tap4 ? In case you did not know, the first 4 chapters are free. http://www.agileskills2.org/EWDT/ mmmh... I read it, but not well. I think I can got the solution after re-read chapter 3 Errors that don't belong to any input field. You need to use ValidationDelegate to record the component that is in error. It is a bit tricky if you have components in a For loop. http://www.nabble.com/validation-of-fields-within-a-For-component-tf1903417.html#a5215064 I'll have a look. Thanks a lot for your coaching ! ;-) Cheers, Cyrille. Shing --- #Cyrille37# [EMAIL PROTECTED] wrote: Hello, For days I looking how to handle multi-fields validation on a form submit on the server-side. The validation needs to know all form's field state. So I can plug my rules in the submit listener but know I could not find how to decorate fields that are not matching rules. Can you give me a start-point, an idea ? Thanks a lot cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Home page : http://www.lombok.demon.co.uk/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4] variable in component specification
Igor Drobiazko a écrit : Hi, use 'copy-of' attribute: component id=comp2 copy-of=comp1/ Using 'copy-of' it is also possible to override some of the bindings of the original component. Thanks a lot Igor. Cheers Cyrille. Igor On 7/26/07, #Cyrille37# [EMAIL PROTECTED] wrote: Hi, What's the way to have something like a variable in component specification ? In those 2 components there is the same ognl expresion in the value attribute. component id=comp1 type=Any binding name=value value=ognl::'L'+currentList.id+'C'+currentCandidat.id / /component component id=comp2 type=Any binding name=value value=ognl:'L'+currentList.id+'C'+currentCandidat.id / /component How can I define this expresion only one time ? Thanks cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4] need help on multi-checkbox validation
Perhaps I can present my question in a different way : What's the way to have an inter-fields validation for a form, like if checkboxA and checkboxB are checked, textfieldC must be filled. Should I create a component which it not rendered but it comes for inspecting form's fields to make the validation ? Have you got an idea ? thanks cyrille. #Cyrille37# a écrit : Hello, This days I'm trying to find a way for managing validation between severals checkbox. The need is: there are several checkboxes in a form and each checkbox needs to match rules which exprims dependencies between those checkboxes. For example : you can check this one if you have checked those two others, but only if a third on is not checked. I come here to ask your opinion, ideas and tips on the way you will do it in different layer : server-side validation, client-side validation, a rules manager component or not, is validation can have a view on several component to return error or not ... Please, tell me want idea comes to you about that need. Thanks a lot cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4] variable in component specification
Hi, What's the way to have something like a variable in component specification ? In those 2 components there is the same ognl expresion in the value attribute. component id=comp1 type=Any binding name=value value=ognl::'L'+currentList.id+'C'+currentCandidat.id / /component component id=comp2 type=Any binding name=value value=ognl:'L'+currentList.id+'C'+currentCandidat.id / /component How can I define this expresion only one time ? Thanks cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: about T4.1.2 sources in SVN
Jesse Kuhnert a écrit : If you want to look at 4.1.2 source use the tag - if you want to look at whatever the current development version is use trunk. (currently 4.1.3 but that will probably change more frequently now) Thanks. Is the Tag 4.1.2 changes ? Like bug correction ? I think the Tag is static and all changes comes to the 4.1.3, isn't it ?? Cheers Cyrille On 7/22/07, #Cyrille37# [EMAIL PROTECTED] wrote: Hello If I want to have a look at T4.1.2 source code, should I use http://svn.apache.org/repos/asf/tapestry/tapestry4/tags/4.1.2 or http://svn.apache.org/repos/asf/tapestry/tapestry4/trunk or somewhere else ? Thanks cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4] about component id
Hello I'm writing my first complex component : GroupableCheckbox (not same behaviors as CheckboxGroup). The question is about the component id. To define the id of the component I think to use the text before the @ in the jwcid but it does work, I had to add an id attribute : does not write my defined id : input jwcid=[EMAIL PROTECTED]/GroupableCheckbox value=L1 / render is : input type=checkbox name=checkbox checked=checked id=checkbox / does works : input id=ckL1 jwcid=@MyComps/GroupableCheckbox value=L2 / render is : input type=checkbox name=ckL1 checked=checked id=ckL1 / What the reason ? The theory ? Thanks for your explanation. cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4] about component id
Andrea Chiumenti a écrit : ciao, the fact is that tapestry uses the form form['componentname'] , so for Tapestry name is sufficient to specify ur id u should use id=clientId:yourComponentId. But why the shortest way jwcid=[EMAIL PROTECTED] does not create a html element with a id=myCompId ? Perhaps there are not same ids : clientId tapestryId ? Is that right ? cyrille Hope this helps. kiuma On 7/25/07, #Cyrille37# [EMAIL PROTECTED] wrote: Hello I'm writing my first complex component : GroupableCheckbox (not same behaviors as CheckboxGroup). The question is about the component id. To define the id of the component I think to use the text before the @ in the jwcid but it does work, I had to add an id attribute : does not write my defined id : input jwcid=[EMAIL PROTECTED]/GroupableCheckbox value=L1 / render is : input type=checkbox name=checkbox checked=checked id=checkbox / does works : input id=ckL1 jwcid=@MyComps/GroupableCheckbox value=L2 / render is : input type=checkbox name=ckL1 checked=checked id=ckL1 / What the reason ? The theory ? Thanks for your explanation. 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: [T4] about component id
Igor Drobiazko a écrit : Cyrille, please provide your sources. Otherwise we have to use our glass sphere :) But I do not need to debug my source, I just need more memory ;-) I do not remember some tapestry syntax. I think I'm handsaking component's ids in my brain. Is that syntax definition right ? checkbox id=clientId jwcid=[EMAIL PROTECTED] / Before kiuma's answer I tought : checkbox jwcid=[EMAIL PROTECTED] / where Id should be used as clientId. but it's wrong, ins't it ? thanks cyrille On 7/25/07, #Cyrille37# [EMAIL PROTECTED] wrote: Andrea Chiumenti a écrit : ciao, the fact is that tapestry uses the form form['componentname'] , so for Tapestry name is sufficient to specify ur id u should use id=clientId:yourComponentId. But why the shortest way jwcid=[EMAIL PROTECTED] does not create a html element with a id=myCompId ? Perhaps there are not same ids : clientId tapestryId ? Is that right ? cyrille Hope this helps. kiuma On 7/25/07, #Cyrille37# [EMAIL PROTECTED] wrote: Hello I'm writing my first complex component : GroupableCheckbox (not same behaviors as CheckboxGroup). The question is about the component id. To define the id of the component I think to use the text before the @ in the jwcid but it does work, I had to add an id attribute : does not write my defined id : input jwcid=[EMAIL PROTECTED]/GroupableCheckbox value=L1 / render is : input type=checkbox name=checkbox checked=checked id=checkbox / does works : input id=ckL1 jwcid=@MyComps/GroupableCheckbox value=L2 / render is : input type=checkbox name=ckL1 checked=checked id=ckL1 / What the reason ? The theory ? Thanks for your explanation. cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4] about component id
Igor Drobiazko a écrit : It is inpossible to help you without having a look into your GroupableCheckbox.java and GroupableCheckbox.html Please post it. Ha! That's another story, a more complex problem ;-) After relearned Ids concept, I can talk to you about the component GroupableCheckbox which I try to construct. The rendered version of the concept/need is looking like (where x are checkboxes) : x List1 x List1Choice1 x List1Choice2 x List2 x List2Choice1 x List2Choice2 With those constraints : 1/ you can select list's choices only in the selected list. eg: is List1 is selected you can choice List1Choice1 or List1Choice2 but not List2Choice1 or List2Choice2 2/ The validation must be done on the client-side *without* any communication with the server, but the validation has to exist on the server to check validity at form's submit. 3/ I do not want to have encapsulation of component html tags like the CheckboxGroup component do. This constraint is to let free html designer. I've not yet many sources to show because I've to learning and find many stuff to complete this 3 constraints. At first I've to verify that the third constraint is possible ... For da moment I've got : TestGroupableCheckbox.html : form jwcid=[EMAIL PROTECTED] clientValidationEnabled=true L1 input id=ckL1 jwcid=[EMAIL PROTECTED]/GroupableCheckbox value=L1 / br/ L1C1input id=ckL1C1 jwcid=[EMAIL PROTECTED]/GroupableCheckbox value=0 group=component:ckL1 / L1C2input id=ckL1C2 jwcid=[EMAIL PROTECTED]/GroupableCheckbox value=ognl:null group=component:ckL1 / L1C3input id=ckL1C3 jwcid=[EMAIL PROTECTED]/GroupableCheckbox group=component:ckL1 / /form GroupableCheckbox.html : span jwcid=$content$ span jwcid=checkbox/ /span GroupableCheckbox.jwc : !DOCTYPE component-specification PUBLIC -//Apache Software Foundation//Tapestry Specification 4.0//EN http://tapestry.apache.org/dtd/Tapestry_4_0.dtd; component-specification class=web.components.mycomps.GroupableCheckbox allow-body=no allow-informal-parameters=yes description A checkbox whose state may be controlled/validated by an other checkbox which acting as a checkbox group controler. /description parameter name=id required=no/ parameter name=value required=no default-value=null/ parameter name=disabled required=no/ parameter name=group required=yes description Specifies the GroupableCheckbox this component belongs to. /description /parameter component id=checkbox type=Checkbox inherit-informal-parameters=yes inherited-binding name=id parameter-name=id/ inherited-binding name=name parameter-name=id/ inherited-binding name=value parameter-name=value/ inherited-binding name=disabled parameter-name=disabled/ /component property name=subCheckboxesId initial-value=new java.util.ArrayList()/ /component-specification And the UGLY java file. I'm just at the time of tracing all calls to learn more on cycle... GroupableCheckbox.java : public abstract class GroupableCheckbox extends BaseComponent { public abstract Object getGroup(); public abstract Collection getSubCheckboxesId() ; public void registerSubCheckbox( GroupableCheckbox groupableCheckbox) { getSubCheckboxesId().add( groupableCheckbox ); } protected void renderComponent( IMarkupWriter writer, IRequestCycle cycle ) { log.info( *** renderComponent() ); log.info( getBoundId: +this.getBoundId() ); log.info( id: +this.getId()+, clientId: +this.getClientId()+, specifiedId: +this.getSpecifiedId() ); log.info( getIdPath: +this.getIdPath() + , getExtendedId: +this.getExtendedId() ); Object group = this.getGroup(); log.info( group: +group ); if( group != null ) { ((GroupableCheckbox)group).registerSubCheckbox( this ); } super.renderComponent( writer, cycle ); } ... ... Overrided methods with log.info(methodName) ... } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4] about component id
Igor Drobiazko a écrit : Well, your component looks somehow strange to me. I don't see what it should do. However id=checkbox is written when your contained checkbox is rendered. That's expected behavior. Your own component does nothing except registering to the group. So why do you expect id=ckL1? Because it will do something soon ... :-) Perhaps it is not a good practice to force the clientId for a component. Thanks for your time ! cyrille On 7/25/07, #Cyrille37# [EMAIL PROTECTED] wrote: Igor Drobiazko a écrit : It is inpossible to help you without having a look into your GroupableCheckbox.java and GroupableCheckbox.html Please post it. Ha! That's another story, a more complex problem ;-) After relearned Ids concept, I can talk to you about the component GroupableCheckbox which I try to construct. The rendered version of the concept/need is looking like (where x are checkboxes) : x List1 x List1Choice1 x List1Choice2 x List2 x List2Choice1 x List2Choice2 With those constraints : 1/ you can select list's choices only in the selected list. eg: is List1 is selected you can choice List1Choice1 or List1Choice2 but not List2Choice1 or List2Choice2 2/ The validation must be done on the client-side *without* any communication with the server, but the validation has to exist on the server to check validity at form's submit. 3/ I do not want to have encapsulation of component html tags like the CheckboxGroup component do. This constraint is to let free html designer. I've not yet many sources to show because I've to learning and find many stuff to complete this 3 constraints. At first I've to verify that the third constraint is possible ... For da moment I've got : TestGroupableCheckbox.html : form jwcid=[EMAIL PROTECTED] clientValidationEnabled=true L1 input id=ckL1 jwcid=[EMAIL PROTECTED]/GroupableCheckbox value=L1 / br/ L1C1input id=ckL1C1 jwcid=[EMAIL PROTECTED]/GroupableCheckbox value=0 group=component:ckL1 / L1C2input id=ckL1C2 jwcid=[EMAIL PROTECTED]/GroupableCheckbox value=ognl:null group=component:ckL1 / L1C3input id=ckL1C3 jwcid=[EMAIL PROTECTED]/GroupableCheckbox group=component:ckL1 / /form GroupableCheckbox.html : span jwcid=$content$ span jwcid=checkbox/ /span GroupableCheckbox.jwc : !DOCTYPE component-specification PUBLIC -//Apache Software Foundation//Tapestry Specification 4.0 //EN http://tapestry.apache.org/dtd/Tapestry_4_0.dtd; component-specification class=web.components.mycomps.GroupableCheckbox allow-body=no allow-informal-parameters=yes description A checkbox whose state may be controlled/validated by an other checkbox which acting as a checkbox group controler. /description parameter name=id required=no/ parameter name=value required=no default-value=null/ parameter name=disabled required=no/ parameter name=group required=yes description Specifies the GroupableCheckbox this component belongs to. /description /parameter component id=checkbox type=Checkbox inherit-informal-parameters=yes inherited-binding name=id parameter-name=id/ inherited-binding name=name parameter-name=id/ inherited-binding name=value parameter-name=value/ inherited-binding name=disabled parameter-name=disabled/ /component property name=subCheckboxesId initial-value=new java.util.ArrayList()/ /component-specification And the UGLY java file. I'm just at the time of tracing all calls to learn more on cycle... GroupableCheckbox.java : public abstract class GroupableCheckbox extends BaseComponent { public abstract Object getGroup(); public abstract Collection getSubCheckboxesId() ; public void registerSubCheckbox( GroupableCheckbox groupableCheckbox) { getSubCheckboxesId().add( groupableCheckbox ); } protected void renderComponent( IMarkupWriter writer, IRequestCycle cycle ) { log.info( *** renderComponent() ); log.info( getBoundId: +this.getBoundId() ); log.info( id: +this.getId()+, clientId: +this.getClientId()+, specifiedId: +this.getSpecifiedId() ); log.info( getIdPath: +this.getIdPath() + , getExtendedId: +this.getExtendedId() ); Object group = this.getGroup(); log.info( group: +group ); if( group != null ) { ((GroupableCheckbox)group).registerSubCheckbox( this ); } super.renderComponent( writer, cycle ); } ... ... Overrided methods with log.info(methodName) ... } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: j_security_check in tapestry
Alexa22 a écrit : Hi, I have a problem, I'm developing a Tapestry's aplication and I need to active the security in there, but the page is autenticated by WAS (WebShere Application Server) and LDAP, When the user is already authenticate, Is Tapestry running on the WAS ? If yes, have a look at Authentication auth = SecurityContextHolder.getContext().getAuthentication(); To retrieve current credentials. cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4.1.2] Checkbox group and validation
Hello, I need to make a component for validating several checkbox on server-side and client-side. I'm looking at the source of contrib:CheckboxGroup and friends. In this compoent I've found the client-side behavior and some server-side stuff (sub components managment). Do you know another source of help about component group ? Thanks cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4.1.2] Is there Client side validation for @RadioGroup ?
#Cyrille37# a écrit : #Cyrille37# a écrit : For the TextField the client-side validation works, but for @RadioGroup only the server-side validation is called, no client-side event occured. For precision here is following the code at the end of the generated html page. In that code we can see that there is some client-side-validation for the @TextField text01 and for the @RadioGroup radioGroup01. But when submiting the form the client-side-validation for text01 is triggered, but none for radioGroup01. script type=text/javascript!-- dojo.addOnLoad(function(e) { dojo.require(tapestry.form);tapestry.form.registerForm(theForm); tapestry.form.focusField('text01'); tapestry.form.clearProfiles('theForm'); tapestry.form.registerProfile('theForm', {required:[text01,radioGroup01], text01:{required:[Vous devez entrer une valeur pour Le Text 01.]}, radioGroup01:{required:[Vous devez entrer une valeur pour Le RadioGroup 01.]} });}); // --/script The @RadioGroup makes @Radio got the same name attribute but unique id attribute. Perhaps we have to hack tapestry.form.validation to get client-side validation working ?? Any tips or idea about that ? Cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4.1.2] Is there Client side validation for @RadioGroup ?
[EMAIL PROTECTED] a écrit : Looks like a bug to me. If you file a JIRA-issue for it, I'll have a closer look Thanks a lot. Here is the newly created Jira : https://issues.apache.org/jira/browse/TAPESTRY-1663 Cyrille. -Original Message- From: #Cyrille37# [mailto:[EMAIL PROTECTED] Sent: Monday, July 23, 2007 12:31 PM To: users@tapestry.apache.org Subject: Re: [T4.1.2] Is there Client side validation for @RadioGroup ? #Cyrille37# a écrit : #Cyrille37# a écrit : For the TextField the client-side validation works, but for @RadioGroup only the server-side validation is called, no client-side event occured. For precision here is following the code at the end of the generated html page. In that code we can see that there is some client-side-validation for the @TextField text01 and for the @RadioGroup radioGroup01. But when submiting the form the client-side-validation for text01 is triggered, but none for radioGroup01. script type=text/javascript!-- dojo.addOnLoad(function(e) { dojo.require(tapestry.form);tapestry.form.registerForm(theForm); tapestry.form.focusField('text01'); tapestry.form.clearProfiles('theForm'); tapestry.form.registerProfile('theForm', {required:[text01,radioGroup01], text01:{required:[Vous devez entrer une valeur pour Le Text 01.]}, radioGroup01:{required:[Vous devez entrer une valeur pour Le RadioGroup 01.]} });}); // --/script The @RadioGroup makes @Radio got the same name attribute but unique id attribute. Perhaps we have to hack tapestry.form.validation to get client-side validation working ?? Any tips or idea about that ? Cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
about T4.1.2 sources in SVN
Hello If I want to have a look at T4.1.2 source code, should I use http://svn.apache.org/repos/asf/tapestry/tapestry4/tags/4.1.2 or http://svn.apache.org/repos/asf/tapestry/tapestry4/trunk or somewhere else ? Thanks cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4.1.2] Is there Client side validation for @RadioGroup ?
Hello, it looks like that there is no client-side validation for @RadioGroup. For the TextField the client-side validation works, but for @RadioGroup only the server-side validation is called, no client-side event occured. Is it normal ? Have I to look some where for more information ? thanks cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4.1.2] Is there Client side validation for @RadioGroup ?
#Cyrille37# a écrit : For the TextField the client-side validation works, but for @RadioGroup only the server-side validation is called, no client-side event occured. For precision here is following the code at the end of the generated html page. In that code we can see that there is some client-side-validation for the @TextField text01 and for the @RadioGroup radioGroup01. But when submiting the form the client-side-validation for text01 is triggered, but none for radioGroup01. script type=text/javascript!-- dojo.addOnLoad(function(e) { dojo.require(tapestry.form);tapestry.form.registerForm(theForm); tapestry.form.focusField('text01'); tapestry.form.clearProfiles('theForm'); tapestry.form.registerProfile('theForm', {required:[text01,radioGroup01], text01:{required:[Vous devez entrer une valeur pour Le Text 01.]}, radioGroup01:{required:[Vous devez entrer une valeur pour Le RadioGroup 01.]} });}); // --/script Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4.1.2] Is there Client side validation for @RadioGroup ?
#Cyrille37# a écrit : #Cyrille37# a écrit : For the TextField the client-side validation works, but for @RadioGroup only the server-side validation is called, no client-side event occured. For precision here is following the code at the end of the generated html page. In that code we can see that there is some client-side-validation for the @TextField text01 and for the @RadioGroup radioGroup01. But when submiting the form the client-side-validation for text01 is triggered, but none for radioGroup01. script type=text/javascript!-- dojo.addOnLoad(function(e) { dojo.require(tapestry.form);tapestry.form.registerForm(theForm); tapestry.form.focusField('text01'); tapestry.form.clearProfiles('theForm'); tapestry.form.registerProfile('theForm', {required:[text01,radioGroup01], text01:{required:[Vous devez entrer une valeur pour Le Text 01.]}, radioGroup01:{required:[Vous devez entrer une valeur pour Le RadioGroup 01.]} });}); // --/script So, after thinking a bit more (do not laught please ;-) ... The radioGroup01's validation could not work because there is not html element for it. Only @Radio got a html element. After reading the javascript code tapestry.form.validation I do not see anything that match with the @RadioGroup specific needs. Perhaps it miss ? I continue to investigate, while the weekend ending and people coming back to their keyboard. ;-) cheers cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: IRC
Evan Rawson - Work a écrit : wow IRC, looks like i got another reason to download mIRC again. ill definatly be on that channel. If you use Firefox there is the ChatZilla plugin. Easy to use and it handle irc:// links - Original Message - From: Chris Lewis [EMAIL PROTECTED] To: Tapestry users users@tapestry.apache.org Sent: Friday, July 20, 2007 9:16 AM Subject: IRC Dear mailing list, I'm sure you've probably received messages like this before, but I wanted to reiterate that there is an IRC channel for tapestry: #tapestry @ irc.freenode.net. There's usually 5 ~ 8 of us in there, and we work/talk about Tapestry. I know some people just dont do IRC, but if you're interested in talkingin realish time with some tapestry people, come check it out. chris - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4] attributes namescape like T5 has
Jesse Kuhnert a écrit : I don't know.. You are welcome to give it a try if you like. =) Have you got some tips to help me starting an investigation ? thanks cyrille. On 7/20/07, #Cyrille37# [EMAIL PROTECTED] wrote: Hello, Should it be a hard work to add namescape for tapestry 4.1.x attributes, like with T5. span t:jwcid=@Any / My question comes because of Eclipse warnings about invalid HTML : Undefined attribute name (jwcid). Thanks cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4] attributes namescape like T5 has
Hello, Should it be a hard work to add namescape for tapestry 4.1.x attributes, like with T5. span t:jwcid=@Any / My question comes because of Eclipse warnings about invalid HTML : Undefined attribute name (jwcid). Thanks cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4] sharing date between @Border and pages
Hello, My Pages extends MyBasePage which has the method getUser() which return an User object which has a login property. What the best way (design/efficiency) to display in the @Border the property user.login ? Should Pages set a @Border's property or @Border should ask to Pages for the user ? Have you got some best practice about @Border ? Thanks a lot Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: IRC
Chris Lewis a écrit : Dear mailing list, I'm sure you've probably received messages like this before, but I wanted to reiterate that there is an IRC channel for tapestry: #tapestry @ irc.freenode.net. There's usually 5 ~ 8 of us in there, and we work/talk about Tapestry. I know some people just dont do IRC, but if you're interested in talkingin realish time with some tapestry people, come check it out. Ho. Great. I come ! cyrille chris - 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]
[T4] Shell and Border ok but ...
Hello I got a @Border with a @Shell to get all stuff common for all pages. It's working but ... All that span around the body are not compatible with HTML, so wysiwyg editor are not happy. Perhaps I've miss some knwoledge ? The Boder.html : html ... /head span jwcid=$content$ span jwcid=@Shell title=Scrutalys disableCaching=true consoleEnabled=true debugEnabled=true browserLogLevel=DEBUG body jwcid=@Body ... span jwcid=@RenderBodyThis is the page content./span /body /span /span /html A tipycal page.html : html ... /head body jwcid=$content$ span jwcid=@Border ... /span /body /html - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4] Shell and Border ok but ...
Joe Trewin a écrit : Try changing the span to a div ... (Tapestry doesn't care what it is, and spans have inline layout meaning that they can only contain other inline tags - div is a block element, so it can). Thanks a lot. I've just try with Eclipse3.3 and it complains : Invalid location of tag (div). I will try with DreamWeaver... cheers, cyrille -Original Message- From: #Cyrille37# [mailto:[EMAIL PROTECTED] Sent: 20 July 2007 17:14 To: Tapestry users Subject: [T4] Shell and Border ok but ... Hello I got a @Border with a @Shell to get all stuff common for all pages. It's working but ... All that span around the body are not compatible with HTML, so wysiwyg editor are not happy. Perhaps I've miss some knwoledge ? The Boder.html : html ... /head span jwcid=$content$ span jwcid=@Shell title=Scrutalys disableCaching=true consoleEnabled=true debugEnabled=true browserLogLevel=DEBUG body jwcid=@Body ... span jwcid=@RenderBodyThis is the page content./span /body /span /span /html A tipycal page.html : html ... /head body jwcid=$content$ span jwcid=@Border ... /span /body /html - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T5] T4 $content$ equivalent for T5 ?
Hello, In a old post I asked a question about the T5's component html (subject was: [T5] about component's html). Now I now the T4 equivalent : the $content$ attribute define which part of the component will be rendered in the parent component/page. Howard answered to me that there is a JIRA about that, but I do not find it. Is this improvement exists now ? Thanks Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tapestry5HowTos new snippet
Davor Hrg a écrit : Fidel Chavarria asked for a solution to inline dynamic image he needed for a chart component... I tried doing it, and added the snippet to Tapestry5HowTos: http://wiki.apache.org/tapestry/Tapestry5HowTos the example is placed at: http://wiki.apache.org/tapestry/Tapestry5HowToCreateASimpleGraphComponent hope it helps someone :) Thanks a lot. It demonstrate the power of Tapestry ! In a line of code, Tapestry got da Power ! Really impressing ! Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tapestry make me feel happy !
Eko S.W. a écrit : I just want to ask one question, but why not T5? I just try Tap too, and I do straight coding in T5 (to my opinion, because it is the latest, and it should be the only choice) Is the current T5 can not do the same ? Of course, T5 is better, but not finished ... I've try T5.0.5 and it was great. But some of my needs were not implemented, some bugs persists and documentation is on the road. Shure if I was more experimented with Java, I choice T5. May be in few months. Cheers cyrille Thank you in advance! 2007/7/4, #Cyrille37# [EMAIL PROTECTED]: Hi, I spent a lot of time for discovering the Java World. After used Php, C++ and C# for years, this new learning adventure need a lot of energy. But today Tapestry make my feel really Happy ! Yesterday I started a fresh project with Tapestry 4.1.2, Acegi, Hibernate3, Spring2, Tomcat6, Eclipse3.3, and tonight I've just finished a Hivemind service to server Json-RPC calls (http://oss.metaparadigm.com/jsonrpc/) to give access to the application from some Java Applet and other stuff. Great, it's working ! Thank you very much to the Tapestry Team and other people from this mailing list. Thanks you all ! Best regards, Cyrille. PS: in 1 month I will have to hard test all of that in a cluster environment, I think the adventure will restart ;-) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5 tutorial
Read again Olasoji Ajayi's mail : I am new to T5, can anyone point me to some tutorial on T5 that I can download, I know there is documentation online but I don't have regular internet access for the moment. He need some Off-Line doc. Perhaps he can make a book with htmldoc tool. cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: how to reference property value ? quiz question please.
Ken nashua a écrit : I declared an id to a widget and trying to reference a property of that widget further below in html. Here is the code.. html jwcid=[EMAIL PROTECTED] title=ognl:page.components.headComponent.title stylesheet=ognl:assets.stylesheet body jwcid=@Body div id=page div id=header class=clearfix a href=# jwcid=@PageLink page=Home h1 style=padding: 5px; span class=right jwcid=@Insert value=ognl:page.components.headComponent.title/ /h1 /a /div The widget in question is headComponent... Now the widget CustomHead has no problem referencing ognl:page.components.headComponent.title but thereafter down below in html... it fails nosuchproperty span class=right jwcid=@Insert value=ognl:page.components.headComponent.title/ Did you try span class=right jwcid=@Insert value=ognl:title/ or span class=right jwcid=@Insert value=ognl:getTitle()/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4] Login.html as the Login and Failed page for Acegi
Hello, After many mails on that list and many read on the web I get something running (Tap4.1.2, Spring2, Hibernate3, Acegi, Json-Rpc). Ouf ! I would like to make only one page for Login and LoginFailed but I could not find how the Login page can know that it is coming back from the ACEGI url /j_acegi_security_check. I've got a easy Login class : ... public void login( IRequestCycle cycle ) throws RedirectException { if (!getDelegate().getHasErrors()) { String acegiUrl = cycle.getAbsoluteURL( /j_acegi_security_check? + j_username= + getUsername() + j_password= + getPassword() ) ; throw new RedirectException( acegiUrl ) ; } } ... So, which feature to use by the Login page to know if the request is from the user (for Login request) or from Acegi (Login failed) ? Thanks a lot cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4] Login.html as the Login and Failed page for Acegi
Ken nashua a écrit : Here is a sample working login... Best I can provide at this point. public abstract class LoginPage extends BasePage { private static final Log LOG = LogFactory.getLog(LoginPage.class); public abstract String getUsername(); public abstract String getPassword(); public void login(IRequestCycle cycle) throws RedirectException { LOG.debug(User + getUsername() + is attempting login.); String acegiUrl = cycle.getAbsoluteURL(/j_acegi_security_check?j_username= + getUsername() + j_password= + getPassword()); throw new RedirectException(acegiUrl); } } Thanks but it is not what I need. And in my post there was exactly the same code (for login method). What I would like to find is how to distinguish between an arrival on the Login page for login against an arrival because login failed while I'm using the same page for Acegi parameters AuthenticationProcessingFilterEntryPoint.loginFormUrl (Login) and AuthenticationProcessingFilter.authenticationFailureUrl (LoginFailed) cheers cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4] Login.html as the Login and Failed page for Acegi
Alejandro Scandroli a écrit : Salut Cyrille This trick has two parts: 1) the acegi configuration: bean id=authenticationProcessingFilter class=org.acegisecurity.ui.webapp.AuthenticationProcessingFilter property name=authenticationManager ref=authenticationManager/ property name=authenticationFailureUrl value=/Login.page?login_error=1/ property name=defaultTargetUrl value=/Home.page/ property name=filterProcessesUrl value=/j_acegi_security_check/ /bean The important property here is authenticationFailureUrl, pay attention to the added parameter ?login_error=1 after the login page name. 2) Then in your login page you check if the login_error parameter exist. div jwcid=@If class=error condition=ognl:webRequest.getParameterValue('login_error') element=div img jwcid=@Any src=images/bullet_error.png alt=message:icon.warning class=icon/ span jwcid=@Insert value=message:org.trails.login.errorError: Wrong Username or Password/span /div Thanks you Alejandro ! Of course it's help ;-) It's so simple that it is powerful. But if someone has another idea, that will be managing inside Tapestry ... It will be a good way for learning more about Tapestry. Cheers cyrille I hope this helps. Alejandro. On 7/3/07, #Cyrille37# [EMAIL PROTECTED] wrote: Ken nashua a écrit : Here is a sample working login... Best I can provide at this point. public abstract class LoginPage extends BasePage { private static final Log LOG = LogFactory.getLog(LoginPage.class); public abstract String getUsername(); public abstract String getPassword(); public void login(IRequestCycle cycle) throws RedirectException { LOG.debug(User + getUsername() + is attempting login.); String acegiUrl = cycle.getAbsoluteURL(/j_acegi_security_check?j_username= + getUsername() + j_password= + getPassword()); throw new RedirectException(acegiUrl); } } Thanks but it is not what I need. And in my post there was exactly the same code (for login method). What I would like to find is how to distinguish between an arrival on the Login page for login against an arrival because login failed while I'm using the same page for Acegi parameters AuthenticationProcessingFilterEntryPoint.loginFormUrl (Login) and AuthenticationProcessingFilter.authenticationFailureUrl (LoginFailed) cheers cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5] Acegi integration
Sébastien, Perhaps it would not help (Im' so beginer) : perhaps pages are loaded before a HttpRequest exists, just the time for Tapestry to add some code decoration. cyrille Deleuze Sébastien a écrit : Hi again, During our login process, in org.apache.tapestry.internal.services.InternalModule,buildCookieSource(), the first time we load our page, _requestGlobals.getHTTPServletRequest() return null, so _requestGlobals.getHTTPServletRequest().getCookies(); throw a NPE. The second time everything is ok. Our web.xml is : filter-mapping filter-nameAcegi Security Filter/filter-name url-pattern/*/url-pattern /filter-mapping filter-mapping filter-nameHibernate Session In View Filter/filter-name url-pattern/*/url-pattern /filter-mapping filter-mapping filter-nameapp/filter-name url-pattern/*/url-pattern /filter-mapping Someone can help us ? Sébastien Deleuze _ De : Deleuze Sébastien Envoyé : mardi 3 juillet 2007 18:04 À : users@tapestry.apache.org Objet : [T5] Acegi integration Hi, We would like to use Acegi with tapestry 5, but we see a NPE (we put Acegi filter before Tapestry 5 filter (for security reason). If someone has successfully integrated Aceji with T5, can he send us his web.xml ? We would like to see how filters are defined. You will find bellow the stacktrace : java.lang.NullPointerException at org.apache.tapestry.internal.services.InternalModule$2.getCookies(InternalModule.java:364) at $CookieSource_1138ccba180.getCookies($CookieSource_1138ccba180.java) at org.apache.tapestry.internal.services.CookiesImpl.readCookieValue(CookiesImpl.java:58) at $Cookies_1138ccba17f.readCookieValue($Cookies_1138ccba17f.java) at org.apache.tapestry.services.PersistentLocaleImpl.getCookieValue(PersistentLocaleImpl.java:50) at org.apache.tapestry.services.PersistentLocaleImpl.get(PersistentLocaleImpl.java:44) at $PersistentLocale_1138ccba17e.get($PersistentLocale_1138ccba17e.java) at org.apache.tapestry.internal.services.LocalizationSetterImpl.setThreadLocale(LocalizationSetterImpl.java:98) at $LocalizationSetter_1138ccba17b.setThreadLocale($LocalizationSetter_1138ccba17b.java) at org.apache.tapestry.internal.services.LocalizationFilter.service(LocalizationFilter.java:41) at $RequestHandler_1138ccba17d.service($RequestHandler_1138ccba17d.java) at org.apache.tapestry.services.TapestryModule$3.service(TapestryModule.java:628) at $RequestHandler_1138ccba17d.service($RequestHandler_1138ccba17d.java) at org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:63) at $RequestHandler_1138ccba17d.service($RequestHandler_1138ccba17d.java) at org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:91) at org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:82) at org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77) at org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:104) at $RequestHandler_1138ccba17d.service($RequestHandler_1138ccba17d.java) at $RequestHandler_1138ccba175.service($RequestHandler_1138ccba175.java) at org.apache.tapestry.services.TapestryModule$11.service(TapestryModule.java:1022) at $HttpServletRequestHandler_1138ccba174.service($HttpServletRequestHandler_1138ccba174.java) at org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:115) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1040) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1040) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:286) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1040) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:352) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:230) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149) at
Tapestry make me feel happy !
Hi, I spent a lot of time for discovering the Java World. After used Php, C++ and C# for years, this new learning adventure need a lot of energy. But today Tapestry make my feel really Happy ! Yesterday I started a fresh project with Tapestry 4.1.2, Acegi, Hibernate3, Spring2, Tomcat6, Eclipse3.3, and tonight I've just finished a Hivemind service to server Json-RPC calls (http://oss.metaparadigm.com/jsonrpc/) to give access to the application from some Java Applet and other stuff. Great, it's working ! Thank you very much to the Tapestry Team and other people from this mailing list. Thanks you all ! Best regards, Cyrille. PS: in 1 month I will have to hard test all of that in a cluster environment, I think the adventure will restart ;-) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4] about JSON in Tapestry
Hi, I can see that JSon is implemented in Tapestry4.1.x (IJSONRender,ResponseBuilder) Today I use JSon for communicate between Java Applet and WebApp, I've go a Servlet that make the bridge from JSon call to the WebApp via some Spring Beans. Perhaps I can stop to use this Servlet and manage JSon exchanges directly with Tapestry but I do not know where to start. Can you give me some points please ? Thanks cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4] about JSON in Tapestry
Igor Drobiazko a écrit : Hi, in tapestry JSON is used to render the asynchronous response to the client. Lets say you have an ajax component which has some javascript. The component provides needed data for its javascript via JSON. I'm not sure whether it is your scenario but you could have a look at: http://tapestry.apache.org/tapestry4.1/ajax/json.html Thanks, I'll try to make a page/component which live like those ajax enabled components. cyrille. br, Igor On 7/2/07, #Cyrille37# [EMAIL PROTECTED] wrote: Hi, I can see that JSon is implemented in Tapestry4.1.x (IJSONRender,ResponseBuilder) Today I use JSon for communicate between Java Applet and WebApp, I've go a Servlet that make the bridge from JSon call to the WebApp via some Spring Beans. Perhaps I can stop to use this Servlet and manage JSon exchanges directly with Tapestry but I do not know where to start. Can you give me some points please ? Thanks cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4] documentation about @Radio and @FieldLabel in a @For loop
Hi, I think it miss some documentation about @Radio and @FieldLabel in a @For loop. While reading the T4 documentation I could not make working those component together. I've finally found the solution here : Radio button labels http://www.nabble.com/forum/ViewPost.jtp?post=8570558framed=y Perhaps someone can add this Tips in the FieldLabel documentation page. Cheers cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T4] documentation about @Radio and @FieldLabel in a @For loop
#Cyrille37# a écrit : Hi, I think it miss some documentation about @Radio and @FieldLabel in a @For loop. While reading the T4 documentation I could not make working those component together. I've finally found the solution here : Radio button labels http://www.nabble.com/forum/ViewPost.jtp?post=8570558framed=y I've added a Jira entry : https://issues.apache.org/jira/browse/TAPESTRY-1620 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4.1.2] Honeycomb or Tapernate ?
Hi, After hard work and neuronal sport, I come to the moment where I to implement a real database access and replace my fake data objects. So I can see there is 2 Hibernate/Tapestry4 integration project. Have you got some comments to help me make the choice ? Thanks Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4] ognl: inner component refer container component
Hi, There is a component which contains an inner component. In the inner component I try to refer a property defined in the container component. It works in the inner component html : span jwcid=@Insert value=ognl:container.currentList/ but it doesn't works in the inner component jwc specification file : property name=currentList initial-value=ognl:container.currentList / in the html file the currentList property is empty . Any correction for me please ? Thanks a lot cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4.1.2] and Spring: works with Tomcat, fail with Jetty
Hi, I'm just doing some very simples tests with - Tapestry 4.1.2 - Spring 2.0.5 - Tapestry-spring-1.0.0 and - Tomcat 5.5.23 - Jetty 5.1.12 I've got a simple session bean defined in SpringContext and I inject it in a page. spring: bean id=myLittleNanoBeanSession class=tapandspring.beans.NanoBean scope=session / java : @InjectSpring(myLittleNanoBeanSession) public abstract NanoBean getBean1(); html: span jwcid=@Insert value=ognl:bean1.value/span TOMCAT : - If I run with Tomcat the bean is well injected in the page. JETTY : - but when running whith Jetty it could not inject the session bean the error is : No thread-bound request found: Are you referring to request attributes outside of an actual web request? If you are actually operating within a web request and still receive this message,your code is probably running outside of DispatcherServlet/DispatcherPortlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request. I could not figure why it's append ... Any idea ? Cyrille Stack Trace: org.springframework.web.context.request.RequestContextHolder.currentRequestAttributes(RequestContextHolder.java:102) org.springframework.web.context.request.SessionScope.get(SessionScope.java:88) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:285) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:733) $BeanFactory_11377f7b791.getBean($BeanFactory_11377f7b791.java) $BeanFactory_11377f7b78f.getBean($BeanFactory_11377f7b78f.java) $Page1_1.getBean1($Page1_1.java) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:743) ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:1167) ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:60) ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:142) ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1882) ognl.ASTProperty.getValueBody(ASTProperty.java:109) ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:200) ognl.SimpleNode.getValue(SimpleNode.java:244) ognl.ASTChain.getValueBody(ASTChain.java:137) ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:200) ognl.SimpleNode.getValue(SimpleNode.java:244) ognl.Ognl.getValue(Ognl.java:494) ognl.Ognl.getValue(Ognl.java:458) org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:148) ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:498) ognl.Ognl.compileExpression(Ognl.java:141) org.apache.tapestry.services.impl.ExpressionCacheImpl.parse(ExpressionCacheImpl.java:152) org.apache.tapestry.services.impl.ExpressionCacheImpl.getCompiledExpression(ExpressionCacheImpl.java:115) $ExpressionCache_11377f7b7b9.getCompiledExpression($ExpressionCache_11377f7b7b9.java) org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134) org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:125) org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84) $Insert_2.getValue($Insert_2.java) org.apache.tapestry.components.Insert.renderComponent(Insert.java:48) org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:725) org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:180) org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107) org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:725) org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:178) org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:249) org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:397) org.apache.tapestry.services.impl.DefaultResponseBuilder.renderResponse(DefaultResponseBuilder.java:152) org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:33) $ResponseRenderer_11377f7b682.renderResponse($ResponseRenderer_11377f7b682.java) org.apache.tapestry.engine.PageService.service(PageService.java:68) $IEngineService_11377f7b6fc.service($IEngineService_11377f7b6fc.java) org.apache.tapestry.services.impl.EngineServiceInnerProxy.service(EngineServiceInnerProxy.java:77) org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:72) org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:237) org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:54)
Re: [T5] class transformation to override an annotated method
Dan Adams a écrit : @Once public ListFoos getFoos() { // do some expensive operation like reading foos from the db } Could you please give us the your @Once annotation source code ? My 2 reasons are : - I'm learning Java so I'll like to see how to write such annotation - It is a really great idea !! But do not feel obliged of course ;-) Cheers, Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4] a component select its template dynamicly (one class, several html)
Hi, I would like a component which can select its template. In another way, one component class with several html templates. The component has to look at his state and then select which template will be used. I could solution the problem with some @If in a single template but it will result in a very very long template which won't be easy to edit in a wysiwyg editor. Have you got some solutions or ideas to do that why Tapestry 4.1.2 ? Thanks cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Thanks Erik for updates on T5 Wiki !
Thanks a lot Erik for your work on Tapestry5 's wiki. http://wiki.apache.org/tapestry/?action=fullsearchvalue=Tapestry5titlesearch=Titles Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5] missing some listener to bind component/page events ?
Francois Armand a écrit : #Cyrille37# wrote: In another way to explain, I would like to make by hand the same work than a t:actionLink in a t:loop the code : t:loop source=1..10 value=guess t:actionlink t:id=guess context=guess${guess}/t:actionlink /t:loop create several links like : /do.guess/4 /do.guess/6 /do.guess/7 So, howto do the same by hand (without a loop) ??? You can use list in context. For example, if you have a ListstringgetGuessContexte() { ListString list = new ArrayListString(); list.add(plop); list.add(new Integer(guess).toString()); return list; } In your : t:actionlink t:id=guess context=guesscontext${guess}/t:actionlink You will have link : .../do./guess/plop/0, .../do.guess/plop/1 etc. See http://tapestry.apache.org/tapestry5/tapestry-core/component-parameters.html#org.apache.tapestry.corelib.components.actionlink Thank you François, The problem is not on the component context, but on the component id. I think a listener concept is missing ! Another example : (This code is invalid because of the duplicate component id) html t:actionlink t:id=want2beRich context=trueYES/t:actionlink t:actionlink t:id=want2beRich context=falseYES/t:actionlink /html java Object onActionFromWant2beRich( boolean yes ) { ... } /java Perhaps I've missed some essential concept ?? cheers cyrille. Well, if anybody as an idea about how to do this kind of think with submit button, I'm interested :) Francois - 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: T5 : potential feature - JSON component
Hello, I'm interesting by the subject. How to integrate JSON with Tap5 in a nice way. For the moment I'm using http://oss.metaparadigm.com/jsonrpc/ to communicate between Java Applets and WebApps. But I didn't integrate it in Tapestry ; I'm using the JSonRpc Servlet and share objects with WebApps using SpringFramework. It would be nice to get Tapestry managing JSonRpc calls. I'm new with Tapestry, and Java in general, so I could not bring any idea about the way to do this. But I can participate to the discussion and make some tryies. cyrille Evan Rawson - Work a écrit : It would be great if a JSON component could be created for T5. After some extensive research i feel that this feature really would add a ton of flexibility of how your tapestry application can communicate with other tapestry application running on a network. For example my company needs to split up our monstrous application now consisting of about 700 to 1000 pages, and and a few thousand components. We are branching off our sub applications to run as there own independent application. The ability to allow these separate application to talk to each other is very ambigious, meaning that we need to transfer data via http sessions or via a db. with the implementation of JSON we could easily setup a java component service which could allow another tapestry application to request data from another server by giving it the domain, app name, and service name (what you wanna look up) due to JSON 's extreme flexibility and speed, tapestry applicatiosn powered by JSON could allow our application to talk to and interact with pretty much any other application coded in any modern language. wether it be another web application or backend process, or even a desktop application. i believe that JSON would be a better langauge versus say XML becuase its parser is faster, and its easier to intrepret in human language. JSON is also a more superior way to handle AJAX requests rather then using XML streams. (smaller size, and faster to parse) just a thought. ~evan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5 : potential feature - JSON component
I spoke about Java Applet, but we can think about Macromedia Flash too. Flash is a really nice technology. If JSon is implemented in Tapestry like every great Tapestry designs, it should be very easy to add more protocols !! cyrille. Evan Rawson - Work a écrit : it really wouldn't be that hard. basically you would create a java class to generate your RPC calls and internally within your java app it would share data via java objects. i believe they would be serialized so you could easily access and share them. the bulk of the work would be having the tapestry java component generate the resource location on the fly when an external service is invoked. Kinda like how AJAX invokes an XML document on the fly. i completely forgot about applets. We dont usually use them at work so i always forget. go figure. Anyways, the ability to easily allow applets to communicate with a java backend running on a servcer would be amazing powerful. forexample, you could use your applet to handle only UI data and other smaller processes which the client side could handle. have it communicate directly with a java app running on the backend which could be hooked up to a mainframe or network which could be used to massive rendering jobs or datamining. a possible use of this integration would be a realtime, high resolution rendering of say a molecule, CAD drawing, or 3d animation accesable from the web. The server could process the rendering and outputs the frames to a dir, you could have the applet pick up the frames via JSON (IE. passing the applet the URI of the rendered frames, then have the applet sequence them. A fbig enough mainframe could even cahce the rendered frames and map them to a URI. This could open up tapestry with the ability to program and host say a Web based 3d rendering program such as Maya or something. The possibilities are endless. ~evan - Original Message - From: #Cyrille37# [EMAIL PROTECTED] To: Tapestry users users@tapestry.apache.org Sent: Thursday, June 28, 2007 1:28 PM Subject: Re: T5 : potential feature - JSON component Hello, I'm interesting by the subject. How to integrate JSON with Tap5 in a nice way. For the moment I'm using http://oss.metaparadigm.com/jsonrpc/ to communicate between Java Applets and WebApps. But I didn't integrate it in Tapestry ; I'm using the JSonRpc Servlet and share objects with WebApps using SpringFramework. It would be nice to get Tapestry managing JSonRpc calls. I'm new with Tapestry, and Java in general, so I could not bring any idea about the way to do this. But I can participate to the discussion and make some tryies. cyrille Evan Rawson - Work a écrit : It would be great if a JSON component could be created for T5. After some extensive research i feel that this feature really would add a ton of flexibility of how your tapestry application can communicate with other tapestry application running on a network. For example my company needs to split up our monstrous application now consisting of about 700 to 1000 pages, and and a few thousand components. We are branching off our sub applications to run as there own independent application. The ability to allow these separate application to talk to each other is very ambigious, meaning that we need to transfer data via http sessions or via a db. with the implementation of JSON we could easily setup a java component service which could allow another tapestry application to request data from another server by giving it the domain, app name, and service name (what you wanna look up) due to JSON 's extreme flexibility and speed, tapestry applicatiosn powered by JSON could allow our application to talk to and interact with pretty much any other application coded in any modern language. wether it be another web application or backend process, or even a desktop application. i believe that JSON would be a better langauge versus say XML becuase its parser is faster, and its easier to intrepret in human language. JSON is also a more superior way to handle AJAX requests rather then using XML streams. (smaller size, and faster to parse) just a thought. ~evan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T5] tapestry-spring and WebApplicationContext
Hi, In the T5 tapestry-spring documentation it is writed to don't use other Spring beans than Singleton ones. Inject the WebApplicationContext instead. http://tapestry.apache.org/tapestry5/tapestry-spring/ But howto inject the WebApplicationContext ? thanks cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
about JSON-RPC
Hello, I'm using JSON-RPC for talking beetwen a Java Applet and the WebApplication. To manage JsonRpc calls I've done a Servlet. I come to you to know if there is a Tapestry way for handling those JsonRpc calls ? thanks for ideas cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: To the french fellows of the list
Hello from France, I'm Cyrille, and I'm learning on working with Java for 1 year. Before Java I was programming with Php, MSVisualStudio C++ and C#. I'm discovering the Java world with Tapestry 4 and now Tapestry 5. I've read many books about Pojos, EJB3, Hibernate and so. My brain has growed by 4 ! Now days I try to create en friendly environment with Eclipse, Maven and Jetty but I could not stop to think about the facility of the integrated NetBeans/Glassfish. I do not stop to search the perfect environment for Java development ( MS VisualStudio was so integrated and easy to use ;-) I'm living in Tours and often working in Paris (Thanks to the fast TGV train). Sorry to stay anonymous, but I don't want to associate [EMAIL PROTECTED] to my real name. You can know more about me (Name, Businness, ...) by sending me a mail. bonne journée cyrille. Lionel Touati a écrit : Hi François, Yes you're right, sorry about our english reader to have put some differentiation in this list. I hope you will forgive me :) I also forgot to introduce myself as you did. I'm working for a B2B company specialized in business travel. We move our Pseudo struts framework to tapestry 3 about 2 years from now, and we're just finishing our migration to TAP 4.1.2 right now. I'm working in La Défense L. Francois Armand a écrit : Jesse Kuhnert wrote: Not to pry or anything but reading my google analytics data it seems a large number of tapestry people are concentrated in either the very Northern/ Southern (ie Mairseille) or the biggest concentration in Paris.The numbers are dispersed within Paris enough to potentially warrant meeting up if people were so inclined. .. Nevertheless, we can just signal us in this thread, it may be used latter as a contact list or something like that. So, I'm French, work with tapestry 5 since about 2 months for an open source LDAP manager project : InterLDAP (www.interldap.org). I work in Paris 8, and my society's name is Linagora. I will be glad to share my experiences with T5. As the project is open source, the source are available (really alpha dev) : http://svn.forge.objectweb.org/cgi-bin/viewcvs.cgi/interldap/interldap-wui-t5/ Among interesting things, there's an Acegi integration, a simple tree viewer, and a kind of beanEditForm which is intended to work with multi-valuated attributes in place of bean properties. Francois Armand [just a notice to Lionel Touati : by respect to other reader, I think we should always write in English on this list : even non French people may be interested of what happen in Tapestry community (we French people always want to differentiate ourselves from others ;)] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: about JSON-RPC
Renat Zubairov a écrit : Depends on the version of tapestry. If you are talking about 4.1 you can integrate it seamlessly to your page About 5.0 I don't know the details, but as far as I've seen it should be simple. About earlier versions of tapestry you need to extend a BasePage class a bit to generate JSON in response. Thank you. Do you know some places (links) on the web which talk about that ? Cheers, Cyrille Renat On 27/06/07, #Cyrille37# [EMAIL PROTECTED] wrote: Hello, I'm using JSON-RPC for talking beetwen a Java Applet and the WebApplication. To manage JsonRpc calls I've done a Servlet. I come to you to know if there is a Tapestry way for handling those JsonRpc calls ? thanks for ideas cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
One class for differents templates ?
Hi, Perhaps it is a stupid question, but in this case it should demonstrate that I do not understand anything ;-) Is it possible to use differents templates with the same page/component class ? like : MyPage.java and MyPage01.html, MyPage02.html, ... I think that with Tap4 we could do that with page specification (MyPage01.page, MyPage02.page ...) Thanks for you highlight, cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T5] about component's html
Hi, I could not find with T5 how to use only a part of a component html. I would like that only the body's component is rendering in the page, but all the html's component is rendered The component HTML : html xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; headtitleTheComponent/title/head body pHello !/p /body /html The page HTML : html xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; headtitleThePage/title/head body span t:type=TheComponentHo!/span /body /html How to get only pHello !/p of the component ??? Thanks cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: One class for differents templates ?
Howard Lewis Ship a écrit : This is an idea I am actively resisting. I don't want there to be any confusion or ambiguity between a class and its template. Multiple classes per template are somewhat ambiguous. You could have a base class with a template, and then have subclasses, which will inherit the base classes's template. Yep, that the right answer. Thanks for you clear perspicacity. Cyrille. On 6/27/07, #Cyrille37# [EMAIL PROTECTED] wrote: Hi, Perhaps it is a stupid question, but in this case it should demonstrate that I do not understand anything ;-) Is it possible to use differents templates with the same page/component class ? like : MyPage.java and MyPage01.html, MyPage02.html, ... I think that with Tap4 we could do that with page specification (MyPage01.page, MyPage02.page ...) Thanks for you highlight, cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T5] missing some listener to bind component/page events ?
Hi (again and again ;-) Is it possible to create event for a component ?? After read guide Component Events and done some tests I could not figure howto manage differents events for a component. For exemple I would like to bind 2 links to the onActionA() method and 2 other link to the onActionB() method. How it is possible ? This following code does not work, but it is to explain me need : lia href=# t:type=actionLink t:id=A bind A()/a/li lia href=# t:type=actionLink t:id=A bind A()/a/li lia href=# t:type=actionLink t:id=B bind B()/a/li lia href=# t:type=actionLink t:id=B bind B()/a/li I've understand that : A link : a href=# t:type=actionLink t:id=doBallot1 Ballot 01/a The t:type is a component, so I must use 'actionLink' to send a event. The t:id is the unique id of the component. It miss something like a listener as with Tapestry4, isn't it ? cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5] missing some listener to bind component/page events ?
In another way to explain, I would like to make by hand the same work than a t:actionLink in a t:loop the code : t:loop source=1..10 value=guess t:actionlink t:id=guess context=guess${guess}/t:actionlink /t:loop create several links like : /do.guess/4 /do.guess/6 /do.guess/7 So, howto do the same by hand (without a loop) ??? cyrille #Cyrille37# a écrit : Hi (again and again ;-) Is it possible to create event for a component ?? After read guide Component Events and done some tests I could not figure howto manage differents events for a component. For exemple I would like to bind 2 links to the onActionA() method and 2 other link to the onActionB() method. How it is possible ? This following code does not work, but it is to explain me need : lia href=# t:type=actionLink t:id=A bind A()/a/li lia href=# t:type=actionLink t:id=A bind A()/a/li lia href=# t:type=actionLink t:id=B bind B()/a/li lia href=# t:type=actionLink t:id=B bind B()/a/li I've understand that : A link : a href=# t:type=actionLink t:id=doBallot1 Ballot 01/a The t:type is a component, so I must use 'actionLink' to send a event. The t:id is the unique id of the component. It miss something like a listener as with Tapestry4, isn't it ? cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4.1.2] about jwcid and xml validator
Hello, It Tap4.1.2 will accept a namespace for its xml attributes like jwcid ? Like Tap5 as its schema: xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; It would be nice because of Eclipse Xml Validator which shoot because of jwcid attributes. any idea ? cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5] Documentation
蝈蝈龙 a écrit : Why do you emphasize you are a Chinese? It's really not necessary !! perhaps to advertizing that is english is not perfect. sometime I tell where I come from to acknoledge people on my poor english. but it is not the subject of this list, isn't it ;-) cyrille. 在07-6-26,小司 [EMAIL PROTECTED] 写道: I'am a chinese user.every user should know Tapestry5 's request life cycle.i'm beginner. I want to get a detailed Tapestry5 request life cycle.Could you provide it in your tapestry5 document?? -- 得与失都是生活 Get and Lost are all life. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T5] archetype quickstart error
Hello, A project generated with archetypeArtifactId=quickstart does not build. Here are settings used : set remoteRepositories=-DremoteRepositories=http://people.apache.org/repo/m2-snapshot-repository set archetypeGroupId=-DarchetypeGroupId=org.apache.tapestry set archetypeArtifactId=-DarchetypeArtifactId=quickstart set archetypeVersion=-DarchetypeVersion=5.0.3-SNAPSHOT set groupId=-DgroupId=org.example set artifactId=-DartifactId=my-appT5 set packageName=-DpackageName=org.example.myappT5 set version=-Dversion=1.0.0-SNAPSHOT Here is the error : ... [INFO] [ERROR] BUILD FAILURE [INFO] [INFO] Compilation failure D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppModule.java:[8,42] cannot find symbol symbol : class Contribute location: package org.apache.tapestry.ioc.annotations D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppModule.java:[9,42] cannot find symbol symbol : class Id location: package org.apache.tapestry.ioc.annotations D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppModule.java:[20,1] cannot find symbol symbol: class Id @Id(app) D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppModule.java:[23,5] cannot find symbol symbol : class Contribute location: class org.example.myappT5.services.AppModule D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppModule.java:[73,5] cannot find symbol symbol : class Contribute location: class org.example.myappT5.services.AppModule Any Idea ? Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5] archetype quickstart error
Kolesnikov, Alexander GNI a écrit : But why you are using 5.0.3-SNAPSHOT? I tried 5.0.4 and it worked fine, But it is the archetype which is using 5.0.3-SNAPSHOT ... I only had to slightly edit the resulting pom.xml. Yes. Good idea ! I'll do a try. Thanks cyrille -Original Message- From: #Cyrille37# [mailto:[EMAIL PROTECTED] Sent: 25 June 2007 11:03 To: Tapestry users Subject: [T5] archetype quickstart error Hello, A project generated with archetypeArtifactId=quickstart does not build. Here are settings used : set remoteRepositories=-DremoteRepositories=http://people.apache.org/repo/m2 -snapshot-repository set archetypeGroupId=-DarchetypeGroupId=org.apache.tapestry set archetypeArtifactId=-DarchetypeArtifactId=quickstart set archetypeVersion=-DarchetypeVersion=5.0.3-SNAPSHOT set groupId=-DgroupId=org.example set artifactId=-DartifactId=my-appT5 set packageName=-DpackageName=org.example.myappT5 set version=-Dversion=1.0.0-SNAPSHOT Here is the error : ... [INFO] [ERROR] BUILD FAILURE [INFO] [INFO] Compilation failure D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppM odule.java:[8,42] cannot find symbol symbol : class Contribute location: package org.apache.tapestry.ioc.annotations D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppM odule.java:[9,42] cannot find symbol symbol : class Id location: package org.apache.tapestry.ioc.annotations D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppM odule.java:[20,1] cannot find symbol symbol: class Id @Id(app) D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppM odule.java:[23,5] cannot find symbol symbol : class Contribute location: class org.example.myappT5.services.AppModule D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppM odule.java:[73,5] cannot find symbol symbol : class Contribute location: class org.example.myappT5.services.AppModule Any Idea ? Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5] archetype quickstart error
Kolesnikov, Alexander GNI a écrit : But why you are using 5.0.3-SNAPSHOT? I tried 5.0.4 and it worked fine, I only had to slightly edit the resulting pom.xml. I've edited the pom.xml to change properties tapestry-release-version5.0.3-SNAPSHOT/tapestry-release-version /properties for properties tapestry-release-version5.0.4-SNAPSHOT/tapestry-release-version /properties but it does not work. Here are errors : [INFO] [ERROR] BUILD ERROR [INFO] [INFO] Failed to resolve artifact. Missing: -- 1) org.apache.tapestry:tapestry-core:jar:5.0.4-SNAPSHOT Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=org.apache.tapestry -DartifactId=tapestry-core \ -Dversion=5.0.4-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file Path to dependency: 1) org.example:my-appT5:war:1.0.0-SNAPSHOT 2) org.apache.tapestry:tapestry-core:jar:5.0.4-SNAPSHOT -- 1 required artifact is missing. for artifact: org.example:my-appT5:war:1.0.0-SNAPSHOT from the specified remote repositories: codehaus.snapshots (http://snapshots.repository.codehaus.org), apache.snapshots (http://people.apache.org/repo/m2-snapshot-repository), openqa (http://maven.openqa.org/), Maven Snapshots 2 (http://snapshots.repository.codehaus.org/), Maven Snapshots (http://snapshots.maven.codehaus.org/maven2/), tapestry.javaforge (http://howardlewisship.com/repository), central (http://repo1.maven.org/maven2), dev.java.net (https://maven-repository.dev.java.net/nonav/repository/) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5] archetype quickstart error
Kolesnikov, Alexander GNI a écrit : No, that's not what I meant. First of all, I followed the instructions available here: http://tapestry.apache.org/tapestry5/quickstart/ I did exactly the same: following this quickstart page. The project was successfully built but then it does not compile because of errors : [INFO] [ERROR] BUILD FAILURE [INFO] [INFO] Compilation failure D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppModule.java:[8,42] cannot find symbol symbol : class Contribute location: package org.apache.tapestry.ioc.annotations D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppModule.java:[9,42] cannot find symbol symbol : class Id location: package org.apache.tapestry.ioc.annotations D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppModule.java:[20,1] cannot find symbol symbol: class Id @Id(app) D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppModule.java:[23,5] cannot find symbol symbol : class Contribute location: class org.example.myappT5.services.AppModule D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppModule.java:[73,5] cannot find symbol symbol : class Contribute location: class org.example.myappT5.services.AppModule Then I'd try to change the tapestry-release-version property to 5.0.4-SNAPSHOT but maven could not find the Tapestry version in repositories. And it's right, while browsing at http://people.apache.org/repo/m2-snapshot-repository/ the last Tapestry version is 5.0.3-SNAPSHOT. cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5] archetype quickstart error
Kolesnikov, Alexander GNI a écrit : Look, the quickstart specifies this command: mvn archetype:create -DarchetypeGroupId=org.apache.tapestry -DarchetypeArtifactId=quickstart -DarchetypeVersion=5.0.4 -DgroupId=org.example -DartifactId=myapp -DpackageName=org.example.myapp -Dversion=1.0.0-SNAPSHOT See, the version is 5.0.4, not 5.0.4-SNAPSHOT, not 5.0.3-SNAPSHOT Thank you very much Alexander for your help. But ... I did : D:\essais.maven mvn archetype:create -DremoteRepositories=http://people.apache.org/repo/m2-snapshot-repository -Dar chetypeGroupId=org.apache.tapestry -DarchetypeArtifactId=quickstart -DarchetypeVersion=5.0.4 -DgroupId=org.example -DartifactI d=my-appT5 -DpackageName=org.example.myappT5 -Dversion=1.0.0-SNAPSHOT and try too without the remoteRepositories but maven could not find the quickstart for 5.0.4. Here is the error : [INFO] [ERROR] BUILD ERROR [INFO] [INFO] Error creating from archetype Embedded error: Archetype does not exist: Unable to download the artifact from any repository Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=org.apache.tapestry -DartifactId=quickstart \ -Dversion=5.0.4 -Dpackaging=jar -Dfile=/path/to/file org.apache.tapestry:quickstart:jar:5.0.4 from the specified remote repositories: id0 (http://people.apache.org/repo/m2-snapshot-repository) -Original Message- From: #Cyrille37# [mailto:[EMAIL PROTECTED] Sent: 25 June 2007 11:41 To: Tapestry users Subject: Re: [T5] archetype quickstart error Kolesnikov, Alexander GNI a écrit : No, that's not what I meant. First of all, I followed the instructions available here: http://tapestry.apache.org/tapestry5/quickstart/ I did exactly the same: following this quickstart page. The project was successfully built but then it does not compile because of errors : [INFO] [ERROR] BUILD FAILURE [INFO] [INFO] Compilation failure D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppModule.java:[8,42] cannot find symbol symbol : class Contribute location: package org.apache.tapestry.ioc.annotations D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppModule.java:[9,42] cannot find symbol symbol : class Id location: package org.apache.tapestry.ioc.annotations D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppModule.java:[20,1] cannot find symbol symbol: class Id @Id(app) D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppModule.java:[23,5] cannot find symbol symbol : class Contribute location: class org.example.myappT5.services.AppModule D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppModule.java:[73,5] cannot find symbol symbol : class Contribute location: class org.example.myappT5.services.AppModule Then I'd try to change the tapestry-release-version property to 5.0.4-SNAPSHOT but maven could not find the Tapestry version in repositories. And it's right, while browsing at http://people.apache.org/repo/m2-snapshot-repository/ the last Tapestry version is 5.0.3-SNAPSHOT. cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5] archetype quickstart error
Nick Westgate a écrit : repository snapshotsenabledtrue/enabled/snapshots idtapestry-snapshots/id urlhttp://people.apache.org/~hlship/tapestry-snapshot-repository//url /repository Yeah! That's work D:\essais.mavenmvn archetype:create -DremoteRepositories=http://people.apache.org/~hlship/tapestry-snapshot-reposi tory -DarchetypeGroupId=org.apache.tapestry -DarchetypeArtifactId=quickstart -DarchetypeVersion=5.0.5-SNAPSHOT -DgroupId=org.example -DartifactId=my-appT5 -DpackageName=org.example.myappT5 -Dversion=1.0.0-SNAPSHOT then D:\essais.mavenmvn jetty:run and all stuff works fine ! Thanks. cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5] archetype quickstart error
Nick Westgate a écrit : Put this snapshot repository in your pom.xml: repository snapshotsenabledtrue/enabled/snapshots idtapestry-snapshots/id urlhttp://people.apache.org/~hlship/tapestry-snapshot-repository//url Thanks a lot Nick, I did not know this url. At this url we can find the quickstart 5.0.5-SNAPSHOT, not the 5.0.4 one. So I'll try the 5.0.5-SNAPSHOT. cheers cyrille /repository (2) [INFO] Compilation failure D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppModule.java:[8,42] cannot find symbol symbol : class Contribute location: package org.apache.tapestry.ioc.annotations D:\essais.maven\my-appT5\src\main\java\org\example\myappT5\services\AppModule.java:[9,42] cannot find symbol symbol : class Id location: package org.apache.tapestry.ioc.annotations IIRC, these annotations were removed. Edit your AppModule.java file and delete @Contribute and @Id occurances. If you use a more recent archetype, they won't be in the source anyway. Cheers, Nick. - 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: Design question
Hello, Christian Dutaret a écrit : ... I have some web non-regression tests that check for the correctness of the ognl expressions. That has worked fine for me so far. Please, can you tell us how do you implement web non-regression tests ? Which tools ? Which methods ? Thanks a lot cyrille - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
about Maven, Java Applet and Tapestry's pages...
Hello Sorry to be a little out of the Tapestry subject but I would like to get some knowledge from you. I've got a Java applet which is running in a Tapestry page. Today I'm using Ant build to build the project, which is compiling Tapestry application and packaging the Applet in a Jar file. Tapestry application and Java applet are in the same Eclipse project. Now I'm starting to use Maven, which seems to be very used now days. Do you have a idea on how to make Maven compiling Tapestry's pages and classes and packaging the Applet in its own jar file ? Thanks a lot for your feedbacks cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: which version of tapestry-simple:5.0.?
#Cyrille37# a écrit : Hello I would like to start with Tapestry5 and looking to the maven's archetype. In the page http://tapestry.apache.org/tapestry5/tapestry-simple/ it is talking about tapestry-simple:5.0.2. Is this number version is relative to Tapestry5 version ? Should I prefer tapestry-simple:5.0.5 ? Please, could you give me some explanation ? thanks cyrille When following instructions of page http://tapestry.apache.org/tapestry5/tapestry-simple/ mvn archetype:create -DremoteRepositories=http://people.apache.org/repo/m2-snapshot-repository -DarchetypeGroupId=org.apache.tapestry -DarchetypeArtifactId=quickstart -DarchetypeVersion=5.0.2 -DgroupId=org.example -DartifactId=myapp -DpackageName=org.example.myapp -Dversion=1.0.0-SNAPSHOT Maven could not find the archetype : [INFO] We are using command line specified remote repositories: http://people.apache.org/repo/m2-snapshot-repository Downloading: http://people.apache.org/repo/m2-snapshot-repository/org/apache/tapestry/quickstart/5.0.2/quickstart-5.0.2.jar [INFO] [ERROR] BUILD ERROR [INFO] [INFO] Error creating from archetype Embedded error: Archetype does not exist: Unable to download the artifact from any repository Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=org.apache.tapestry -DartifactId=quickstart \ -Dversion=5.0.2 -Dpackaging=jar -Dfile=/path/to/file org.apache.tapestry:quickstart:jar:5.0.2 from the specified remote repositories: id0 (http://people.apache.org/repo/m2-snapshot-repository) Any help ? Cyrille. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]