Tapestry 4.1.1 / dojo broken on IE? - IE freezing!
We have a very hard problem with a Tapestry 4.1.1 Application on Windows IE 6. We get javascript errors all the time (even if they are not reproducable on all developer machines) using IE 6. Some of the errors are: Could not load 'dojo.looging.Logger'; last tried '__package__.is' Could not load 'tapestry.form'; last tried '__package__.is' Could not load 'tapestry.form'; last tried '__package__.is' On a german IE we get more or less the same errors: 'tapestry' ist undefiniert - which translates to 'tapestry' is undefined ' dojo' ist undefiniert - which translates 'dojo' is undefined Sometimes errors go so far, that IE does not react on any mouse click any more. What seems to cure the problem is ab browser refresh (pressing Ctrl F5) Now we fond another posting http://www.nabble.com/Why-is-IE6-freezing--tf3377078.html#a9399366 that reports the excat same problem, but the solution given seems not to work for us. Are there no any other Tapestry 4.1.1. applications out in the world that must support IE 6, or do they not have this problem? But I can't beleve that we have a very special problem, cause we use an out of the Box Tapestry with nothing special. Any hints on this form anyone? If we can not fix this, we are in realy deep troble ... Thanks, Max - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Tutorials on Tapestry 4.1.1 and AJAX/javascript
Hi all, Are there ANY written tutorials on how to use Javascript (AJAX) integration built in Tapestry 4.1.1? Or are API docs like http://tapestry.apache.org/tapestry4.1/javascript/form.html and source codes the only documentation for this functionality? Thanks in advance for any answers, Wojtek - Ta oferta jest dla Ciebie ! Sprawdź na: http://link.interia.pl/f1a33 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
T5: PageTester and Spring Integration
I'm using the PageTester class to run some unit tests against my Tapestry pages - it's a fantastic little tool! The problem comes when I hit a page that injects Spring Framework objects into my page (e.g. @Inject (spring:someService)). This obviously blows up because there is no Spring WebApplicationContext defined. I have dummy implementations of my services defined in Spring, I just need to get access to them. So, my question... is there a way that I can get spring integration working within PageTester? If not, then some thoughts... 1) Provide a way to configure PageTester to allow manually adding a Spring WebApplicationContext to the context so that the spring integration module works as is. 2) Provide a way for configure the spring integration module to allow testing to define an alternative bean factory to the WebApplicationContext. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
tapestry-acegi, how does SecurityUtilsImpl.accessDecisionManager get set?
I am implementing acegi/tapestry and pulling apart the wonderful work of James Carman (preserving the copyrights!) and re-implementing for my purposes. My @Secured annotation is erroring out in SecurityUtilsImpl when a call to the accessDecisionManager fails because it is null. How is the accessDecisionManager set in SecurityUtilsImpl? I reviewed the hivemodule.xml and do not see how it could be set... Could someone point out the magic in how the accessDecisionManager gets set? Thanks! It's for a project called authsum with is a security application that integrates with acegi. The cool part of it all is that it stores the authorizations in lucene and is available via xfire. Very enterprisy design (4 war files) I hope I to get some interest from the tapestry community. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5: PageTester and Spring Integration
I haven't played with the spring integration, but... PageTester has a constructor: PageTester(String, String, String, MapString,Object), where the last argument is for service overrides. The tapestry-spring module defines a service called SpringObjectProvider (which relies on the WebApplicationContext and implements ObjectProvider). You ought to be able to contribute an override for that. Something along the lines of: MapString,Object overrides = new HashMapString,Object(); overrides.put(SpringObjectProvider,new MyDummySpringObjectProvider ()/*or you could use an EasyMock mock object...*/); PageTester tester = new PageTester(org.myorg.myapp,App,src/main/ webapp,overrides); In fact, you can do this with your own services, as well. Once you define the builder for your service in your app module, you can proceed to contribute a mock version of the service in exactly this way. Robert On Mar 21, 2007, at 3/214:17 AM , [EMAIL PROTECTED] wrote: I'm using the PageTester class to run some unit tests against my Tapestry pages - it's a fantastic little tool! The problem comes when I hit a page that injects Spring Framework objects into my page (e.g. @Inject (spring:someService)). This obviously blows up because there is no Spring WebApplicationContext defined. I have dummy implementations of my services defined in Spring, I just need to get access to them. So, my question... is there a way that I can get spring integration working within PageTester? If not, then some thoughts... 1) Provide a way to configure PageTester to allow manually adding a Spring WebApplicationContext to the context so that the spring integration module works as is. 2) Provide a way for configure the spring integration module to allow testing to define an alternative bean factory to the WebApplicationContext. - 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 ASO
I like these discussions, and I really like that they tend to end in a conclusion that good code conventions and good code design seems to be the solution to the problem. T5 encourage one to do things right. 2007/3/20, Anjana Gopinath [EMAIL PROTECTED]: Thanks Robert! Anjana Gopinath True North Technology 11465 John's Creek Parkway, Suite 300 Duluth, GA 30079 [EMAIL PROTECTED] On Mar 20, 2007, at 5:47 PM, Robert Zeigler wrote: Tapestry works its magic using runtime type information, and since generics in java were implemented using type erasure, the two types will be the same at runtime. So you'll need to wrap the two lists in some type of enclosure, just like with the pricing information. Robert On Mar 20, 2007, at 3/204:43 PM , Anjana Gopinath wrote: Thanks Howard for explaining. It makes sense. But what if i want to store a list of objects as a ASO? For example public ArrayListApplication appList; public ArrayListNetwork networkList; Both the above are of type List, but list of two objects. Will this be an issue? Anjana Gopinath True North Technology 11465 John's Creek Parkway, Suite 300 Duluth, GA 30079 [EMAIL PROTECTED] On Mar 20, 2007, at 5:38 PM, Howard Lewis Ship wrote: T4 allowed multiple ASOs of the same type, however each and every ASO had to be defined with a unique name, plus an XML snippet to identify how to instantiate it. This violated the Dont Repeat Yourself principle, since you had to know and repeat the ASO name on every use throughout the application. T5 simplifies this; the ASO name is simply the fully qualified class name and, in lieu of a definition (which is optional), Tapestry will simply instantiate the class by its default constructor. This doesn't work if you are trying to store many simple values, such as a few Strings, but that's not how ASOs are designed to be used. They are expected to contain a collection of typed properties that will be used individually or in conjunction throughout the application. So this is a trade off ... a feature that was not used (multiple ASOs of the same type), or at least, not widely used (and easily worked around) vs. extra duplicated effort (knowing and using the name). On 3/20/07, Anjana Gopinath [EMAIL PROTECTED] wrote: Robert Thanks for explaining and i perfectly understand your point. But i still feel this is a restriction as i cant have ASOs of same type. Anyway, right now i can continue with the way you suggested. Thanks! Anjana Gopinath True North Technology 11465 John's Creek Parkway, Suite 300 Duluth, GA 30079 [EMAIL PROTECTED] On Mar 20, 2007, at 4:55 PM, Robert Zeigler wrote: I see it as simplification rather than a restriction. I guess I don't normally store application state in a bunch of separate strings; rather, I always store state in one or more POJO's, exactly analogous to the Pricing object. So, for me, less mess, because I don't have to have a bunch of extra string properties in my page, and less mess because I don't have to constantly refer to what I called some variable on some other page. Robert On Mar 20, 2007, at 3/203:35 PM , Anjana Gopinath wrote: Thanks Robert for responding. I can do that, but was wondering why there is a restriction like this? Anjana Gopinath True North Technology 11465 John's Creek Parkway, Suite 300 Duluth, GA 30079 [EMAIL PROTECTED] On Mar 20, 2007, at 4:29 PM, Robert Zeigler wrote: Correct. Why not create, say, a Pricing object with enterprisePrice and clientPrice properties? Then you could do: @ApplicationState private Pricing _pricing; Then you have one less injection to do/page that requires pricing information. :) Robert On Mar 20, 2007, at 3/203:26 PM , Anjana Gopinath wrote: Hi I am trying to use few ASO's so share data across the pages. I have declared the following, but looks like if one gets a value, the second varaible also gets the same value. Is it not possible to define different ASO's of same type? @ApplicationState private String enterprisePrice; @ApplicationState private String clientPrice; i saw this in the T5 website Any other component or page that declares a field of the same type, regardless of name, and marks it with the ApplicationState annotation will share the same value. . So is it not possible to have two different ASO's os same type? Thanks! Anjana Gopinath [EMAIL PROTECTED] --- - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --- -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Howard M. Lewis Ship TWD Consulting, Inc. Independent J2EE /
Re: Tutorials on Tapestry 4.1.1 and AJAX/javascript
AFAIK Kent's book covers that - http://www.agileskills2.org/EWDT/ Cheers, Ron Wojtek Ciesielski wrote: Hi all, Are there ANY written tutorials on how to use Javascript (AJAX) integration built in Tapestry 4.1.1? Or are API docs like http://tapestry.apache.org/tapestry4.1/javascript/form.html and source codes the only documentation for this functionality? Thanks in advance for any answers, Wojtek - Ta oferta jest dla Ciebie ! Sprawdź na: http://link.interia.pl/f1a33 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tapestry 4.1.1 / dojo broken on IE? - IE freezing!
IE is a little less forgiving with javascript errors, so if you get one all other code will be skipped. (a lot of the time) I fixed what was a very subtle IE specific bug recently in 4.1.2-SNAPSHOT. You may try that just to see . ...I only have IE7 available to me right now, but should be able to get a hold of my vmware ie6 image tomorrow and take a look at what is happening after that. Have you noticed any errors happening before not able to load package things? On 3/21/07, Maximilian Wei?bock [EMAIL PROTECTED] wrote: We have a very hard problem with a Tapestry 4.1.1 Application on Windows IE 6. We get javascript errors all the time (even if they are not reproducable on all developer machines) using IE 6. Some of the errors are: Could not load 'dojo.looging.Logger'; last tried '__package__.is' Could not load 'tapestry.form'; last tried '__package__.is' Could not load 'tapestry.form'; last tried '__package__.is' On a german IE we get more or less the same errors: 'tapestry' ist undefiniert - which translates to 'tapestry' is undefined ' dojo' ist undefiniert - which translates 'dojo' is undefined Sometimes errors go so far, that IE does not react on any mouse click any more. What seems to cure the problem is ab browser refresh (pressing Ctrl F5) Now we fond another posting http://www.nabble.com/Why-is-IE6-freezing--tf3377078.html#a9399366 that reports the excat same problem, but the solution given seems not to work for us. Are there no any other Tapestry 4.1.1. applications out in the world that must support IE 6, or do they not have this problem? But I can't beleve that we have a very special problem, cause we use an out of the Box Tapestry with nothing special. Any hints on this form anyone? If we can not fix this, we are in realy deep troble ... Thanks, Max - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: downloading Tapestry 5
Sorry, but it didn't work for me... When I execute mvn org.mortbay.jetty:maven-jetty-plugin:run (simply mvn jetty:run on tutorial) I got the follow output: [INFO] Scanning for projects... [INFO] [INFO] Building hilo Tapestry 5 Application [INFO]task-segment: [org.mortbay.jetty:maven-jetty-plugin:run] [INFO] [INFO] Preparing jetty:run [INFO] [ERROR] BUILD ERROR [INFO] [INFO] Error building POM (may not be this project's POM). Project ID: org.apache.maven.plugins:maven-resources-plugin Reason: Error getting POM for ' org.apache.maven.plugins:maven-resources-plugin' from the repository: Failed to resolve artifact, possibly due to a repository list that is not appropriately equipped for this artifact's metadata. org.apache.maven.plugins:maven-resources-plugin:pom:2.3-SNAPSHOT from the specified remote repositories: apache.snapshots (http://people.apache.org/repo/m2-snapshot-repository/), howardlewisship.com (http://howardlewisship.com/repository), central (http://repo1.maven.org/maven2) [INFO] [INFO] For more information, run Maven with the -e switch [INFO] [INFO] Total time: 1 second [INFO] Finished at: Wed Mar 21 15:53:08 BRT 2007 [INFO] Final Memory: 1M/4M [INFO] 2007/3/20, Howard Lewis Ship [EMAIL PROTECTED]: Minor typo there about the version number; it is a work in progress and it's very hard to keep everything coordinated. You'll see the Tapestry JARs downloaded when you try to compile and run the application. On 3/20/07, acarrara [EMAIL PROTECTED] wrote: Hello. Is the package of Tapestry 5 consists only of the files: tapestry-core-5.0.3.jar tapestry-ioc-5.0.3.jar tapestry-test-5.0.3.jar ? If not, where can I download the rest of them? Despite the tutorial says ... Tapestry 5.0.2 You should not have to download this directly; as we'll see, Maven should take care of downloading Tapestry, and its dependencies, as needed. ... the command: mvn archetype:create ↵ -DarchetypeGroupId=org.apache.tapestry ↵ -DarchetypeArtifactId=quickstart ↵ -DarchetypeVersion=5.0.3 ↵ -DgroupId=org.example ↵ -DartifactId=hilo ↵ -DpackageName=org.example.hilo doesn't download any jar file, only the structure and other files (xml, java etc). Thanks a lot. -- Howard M. Lewis Ship TWD Consulting, Inc. Independent J2EE / Open-Source Java Consultant Creator and PMC Chair, Apache Tapestry Creator, Apache HiveMind Professional Tapestry training, mentoring, support and project work. http://howardlewisship.com
Re: tapestry-acegi, how does SecurityUtilsImpl.accessDecisionManager get set?
The AccessDecisionManager is defined by the hivemind-acegi module. On 3/21/07, Phillip Rhodes [EMAIL PROTECTED] wrote: I am implementing acegi/tapestry and pulling apart the wonderful work of James Carman (preserving the copyrights!) and re-implementing for my purposes. My @Secured annotation is erroring out in SecurityUtilsImpl when a call to the accessDecisionManager fails because it is null. How is the accessDecisionManager set in SecurityUtilsImpl? I reviewed the hivemodule.xml and do not see how it could be set... Could someone point out the magic in how the accessDecisionManager gets set? Thanks! It's for a project called authsum with is a security application that integrates with acegi. The cool part of it all is that it stores the authorizations in lucene and is available via xfire. Very enterprisy design (4 war files) I hope I to get some interest from the tapestry community. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: tapestry-acegi, how does SecurityUtilsImpl.accessDecisionManager get set?
Sorry, I hit Send too quickly. Here's the hivemodule (anonymous/anon to login of course): http://svn.javaforge.com/svn/hivemind/hivemind-acegi/trunk/src/main/resources/META-INF/hivemodule.xml On 3/21/07, James Carman [EMAIL PROTECTED] wrote: The AccessDecisionManager is defined by the hivemind-acegi module. On 3/21/07, Phillip Rhodes [EMAIL PROTECTED] wrote: I am implementing acegi/tapestry and pulling apart the wonderful work of James Carman (preserving the copyrights!) and re-implementing for my purposes. My @Secured annotation is erroring out in SecurityUtilsImpl when a call to the accessDecisionManager fails because it is null. How is the accessDecisionManager set in SecurityUtilsImpl? I reviewed the hivemodule.xml and do not see how it could be set... Could someone point out the magic in how the accessDecisionManager gets set? Thanks! It's for a project called authsum with is a security application that integrates with acegi. The cool part of it all is that it stores the authorizations in lucene and is available via xfire. Very enterprisy design (4 war files) I hope I to get some interest from the tapestry community. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: tapestry-acegi, how does SecurityUtilsImpl.accessDecisionManager get set?
Wow, it's evident in that version of hivemodule.xml For whatever reason, I must have a old copy of the tapestry-acegi project because the hivemodule.xml that I have been looking at is very different... Thanks. Phillip - Original Message - From: James Carman [EMAIL PROTECTED] To: Tapestry users users@tapestry.apache.org Sent: Wednesday, March 21, 2007 4:05:41 PM (GMT-0500) America/New_York Subject: Re: tapestry-acegi, how does SecurityUtilsImpl.accessDecisionManager get set? Sorry, I hit Send too quickly. Here's the hivemodule (anonymous/anon to login of course): http://svn.javaforge.com/svn/hivemind/hivemind-acegi/trunk/src/main/resources/META-INF/hivemodule.xml On 3/21/07, James Carman [EMAIL PROTECTED] wrote: The AccessDecisionManager is defined by the hivemind-acegi module. On 3/21/07, Phillip Rhodes [EMAIL PROTECTED] wrote: I am implementing acegi/tapestry and pulling apart the wonderful work of James Carman (preserving the copyrights!) and re-implementing for my purposes. My @Secured annotation is erroring out in SecurityUtilsImpl when a call to the accessDecisionManager fails because it is null. How is the accessDecisionManager set in SecurityUtilsImpl? I reviewed the hivemodule.xml and do not see how it could be set... Could someone point out the magic in how the accessDecisionManager gets set? Thanks! It's for a project called authsum with is a security application that integrates with acegi. The cool part of it all is that it stores the authorizations in lucene and is available via xfire. Very enterprisy design (4 war files) I hope I to get some interest from the tapestry community. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tapestry 5 tutorial: classes don't exist on package
One of the methods marked with @Contribute (see below) was a timing filter which would display in the console the duration of each request. After removing the @Contribute annotation (which is not available in 5.0.3) the filter is no longer called. So, is there another annotations to contribute services or the naming convention used here is inaccurate? Since generally in tapestry you can use either annotations or naming convention, I think it would be good to keep the same paradigm here. @Contribute(tapestry.RequestHandler) public void contributeRequestFilters(OrderedConfigurationRequestFilter configuration, @InjectService(TimingFilter) RequestFilter filter) { // Each contribution to an ordered configuration has a name, which will be qualified with // the module's id. Here, the fully qualified id will be app.Timing. When necessary, you may // set constraints to precisely control the invocation order of the contributed filter // within the pipeline. configuration.add(Timing, filter); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5 - Changing Locale
I've been doing some other things, when I get a chance to try it, I'll share the experience on the list. Bogdan. On 3/20/07, alexvs [EMAIL PROTECTED] wrote: Hi Bogdan, Were you ever able to change the locale? Thanks! Alex Bogdan Calmac-4 wrote: Is it possible in Tapestry 5 to programatically change the locale for a sesison similar to IEngine.setLocale() from Tapestry 4? In my case I want to set the locale after the login into the application (locale is stored in the user profile) and not rely on the browser locale. Thank you, Bogdan Calmac. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/T5---Changing-Locale-tf3376399.html#a9579521 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tapestry 5 tutorial: classes don't exist on package
The method name should now be contributeRequestHandler(). On 3/21/07, Bogdan Calmac [EMAIL PROTECTED] wrote: One of the methods marked with @Contribute (see below) was a timing filter which would display in the console the duration of each request. After removing the @Contribute annotation (which is not available in 5.0.3) the filter is no longer called. So, is there another annotations to contribute services or the naming convention used here is inaccurate? Since generally in tapestry you can use either annotations or naming convention, I think it would be good to keep the same paradigm here. @Contribute(tapestry.RequestHandler) public void contributeRequestFilters(OrderedConfigurationRequestFilter configuration, @InjectService(TimingFilter) RequestFilter filter) { // Each contribution to an ordered configuration has a name, which will be qualified with // the module's id. Here, the fully qualified id will be app.Timing. When necessary, you may // set constraints to precisely control the invocation order of the contributed filter // within the pipeline. configuration.add(Timing, filter); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Howard M. Lewis Ship TWD Consulting, Inc. Independent J2EE / Open-Source Java Consultant Creator and PMC Chair, Apache Tapestry Creator, Apache HiveMind Professional Tapestry training, mentoring, support and project work. http://howardlewisship.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tapestry 5 tutorial: classes don't exist on package
Thanks Howard, One of the contributions is OK now, the other is still not compatible with the changes in the framework. The error is: java.lang.RuntimeException: No service implements the interface org.apache.tapestry.ioc.MappedConfiguration and the contributing method is: public static void contributeRequestHandler( MappedConfigurationString, String configuration) { configuration.add(tapestry.supported-locales, en); } Thanks, Bogdan. On 3/21/07, Howard Lewis Ship [EMAIL PROTECTED] wrote: The method name should now be contributeRequestHandler(). On 3/21/07, Bogdan Calmac [EMAIL PROTECTED] wrote: One of the methods marked with @Contribute (see below) was a timing filter which would display in the console the duration of each request. After removing the @Contribute annotation (which is not available in 5.0.3) the filter is no longer called. So, is there another annotations to contribute services or the naming convention used here is inaccurate? Since generally in tapestry you can use either annotations or naming convention, I think it would be good to keep the same paradigm here. @Contribute(tapestry.RequestHandler) public void contributeRequestFilters(OrderedConfigurationRequestFilter configuration, @InjectService(TimingFilter) RequestFilter filter) { // Each contribution to an ordered configuration has a name, which will be qualified with // the module's id. Here, the fully qualified id will be app.Timing. When necessary, you may // set constraints to precisely control the invocation order of the contributed filter // within the pipeline. configuration.add(Timing, filter); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Howard M. Lewis Ship TWD Consulting, Inc. Independent J2EE / Open-Source Java Consultant Creator and PMC Chair, Apache Tapestry Creator, Apache HiveMind Professional Tapestry training, mentoring, support and project work. http://howardlewisship.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]