Re: [ANN] tapestry-atmosphere 0.0.1 released
I ment in comparison to baby :-) 2014/1/3 Lance Java > It's a toss up... tomcat (cloudbees default container) has special > requirements for async > > > https://github.com/Atmosphere/atmosphere/wiki/Installing-AtmosphereServlet-with-or-without-native-support >
Re: [ANN] tapestry-atmosphere 0.0.1 released
Leave the goddamn Jetty! 2014/1/3 Lance Java > Yeah, I'm having some issues with jetty on cloudbees. I'll hopefully fix it > over the weekend but I also have a baby due any day now... > On 2 Jan 2014 23:08, "Borut Bolčina" wrote: > > > "This application is currently unavailable." > > > > > > 2013/12/29 Lance Java > > > > > I've been working hard over the Christmas break to put together > tapestry > > / > > > atmosphere integration to support push application in tapestry > > (websocket / > > > comet / polling / jsonp). > > > > > > As with tapestry-cometd, the aim of this project is to support push > > > applications without requiring developers to write a single line of > > > javascript. You can see from the demo that I've created a multi room > chat > > > application without writing a single line of javascript. > > > > > > I have my reasons for not continuing with cometd as my push technology > of > > > choice. I can discuss that on another thread if need be. > > > > > > I've put together a chat demo here: > > > http://tapestry-atmosphere.uklance.cloudbees.net > > > > > > Source code here: > > > https://github.com/uklance/tapestry-atmosphere > > > > > > More goodies to come soon including: > > > - documentation > > > - jquery support > > > - tapestry 5.4 support > > > - push custom javascript > > > > > > Please give it a whirl... bugs, suggestions and pull-requests welcome!! > > > > > > Cheers, > > > Lance. > > > > > >
Re: [ANN] tapestry-atmosphere 0.0.1 released
"This application is currently unavailable." 2013/12/29 Lance Java > I've been working hard over the Christmas break to put together tapestry / > atmosphere integration to support push application in tapestry (websocket / > comet / polling / jsonp). > > As with tapestry-cometd, the aim of this project is to support push > applications without requiring developers to write a single line of > javascript. You can see from the demo that I've created a multi room chat > application without writing a single line of javascript. > > I have my reasons for not continuing with cometd as my push technology of > choice. I can discuss that on another thread if need be. > > I've put together a chat demo here: > http://tapestry-atmosphere.uklance.cloudbees.net > > Source code here: > https://github.com/uklance/tapestry-atmosphere > > More goodies to come soon including: > - documentation > - jquery support > - tapestry 5.4 support > - push custom javascript > > Please give it a whirl... bugs, suggestions and pull-requests welcome!! > > Cheers, > Lance. >
Re: [ANNOUNCEMENT] tynamo-federatedaccounts 0.4.3 released!
Turning on debug wire level reveals some data, but only small responses from fb are logged. No error messages receiving, logged in to facebook and local app, just a dialog which should close is still open presenting 500 error. After inspecting the communication with wireshark on port 443, I do get some larger chunks of encrypted data. Maybe tynamo-federatedaccounts-facebook has some logging - will investigate. 2013/11/25 Dmitry Gusev > Hi, > > I suspect you have some error and what you're receiving in your header is a > stacktrace or some error message/page. > > After you increased your header size, can you grab the traffic with some > sniffer to see what's in there? > > > > > On Mon, Nov 25, 2013 at 1:25 PM, Borut Bolčina >wrote: > > > Hi again, > > > > when using returnPageName I initially encountered a problem because our > > custom url encoder was interfering with generated return uris. > > > > When custom url encoder is not used, the authentication process comes a > > bit further now. I get the user info back from fb, but the dialog does > not > > close as there is a run time exception: > > WARN:oejs.AbstractHttpConnection:header full: java.lang.RuntimeException: > > Header>6144 > > > > Resolved this by configuring jetty maven plugin with header sizes > > > > > > > implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> > > 80 > > 60000 > > 16000 > > 1 > > > > > > > > but I was wondering what is causing headers larger then 6k bytes? > > > > > > > > > > > > 2013/11/22 Borut Bolčina > > > >> Thanks for additional info. > >> > >> Now, I have successfully managed to create a facebook login flow with > >> 0.2.0 version by using: > >> > >> In AppModule: > >> configuration.add(FederatedAccountSymbols.SUCCESSURL, > >> "/PrijavaRedirect"); //0.2.0 > >> > >> At Login.tml > >> > >> > >> > >> And a redirect page: > >> > >> public class PrijavaRedirect { > >> @Inject > >> private Logger logger; > >> > >> @Inject > >> private LoginContextService loginContextService; > >> > >> public Object onActivate(EventContext ec) { > >> String requestUri = loginContextService.getSuccessPage(); > >> logger.debug("Saved request url {}", > >> loginContextService.getSuccessPage()); > >> if (!requestUri.startsWith("/")) { > >> requestUri = "/" + requestUri; > >> } > >> try { > >> loginContextService.redirectToSavedRequest(requestUri); > >> return null; > >> } catch (Exception e) { > >> e.printStackTrace(); > >> } > >> return loginContextService.getSuccessPage(); > >> > >> } > >> } > >> > >> The drawback of this flow is quite nasty, as this white almost blank > page > >> gets displayed for users. > >> > >> I tried now with version 0.4.3 > >> > >> In AppModule: > >> configuration.add(FederatedAccountSymbols.DEFAULT_RETURNPAGE, > >> "PrijavaRedirect"); // 0.4.3 > >> > >> At Login.tml > >> > >> > >> But when run, I get > >> [09:50:38] ERROR > >> [org.tynamo.security.federatedaccounts.facebook.pages.FacebookOauth]: > >> Facebook access_token request returned status code 400 > >> > >> and the facebook dialog AFTER a FB login looks like: > >> [image: Slika v vrstici 1] > >> > >> My hosts file is the same for both cases: > >> 127.0.0.1 najdi.si > >> > >> I will now try to use the new parameter returnPageName without this > >> LoginRedirect page and see if it works. > >> > >> > >> > >> 2013/11/21 Alejandro Scandroli > >> > >>> Hi Borut > >>> > >>> > >>> The FacebookOauthSignIn has a new parameter "returnPageName". > >>> If the parameter is not specified the component will use the value of > >>> the FederatedAccountSymbols.DEFAULT_RETURNPAGE symbol. > >>> > >>> Alejandro. > >>> > >>> On Thu, Nov 21, 2013 at 12:17 PM, Borut Bolčina < > borut.bolc...@g
Re: The Rise and Fall of Tapestry
You need professional help. That's my contribution. 2013/11/21 Emmanuel Sowah > Hi guys, > > Tapestry did not make it to a recent Web frameworks report released by > Zeroturnaround found here: > > http://zeroturnaround.com/rebellabs/the-2014-decision-makers-guide-to-java-web-frameworks/ > . > > This to me, and many others, is the clearest evidence yet that Tapestry has > failed and that Tapestry is no more relevant. Tapestry, once a rising star > with huge following, is reduced to rags with a very small cult following. > Users of Tapestry now are mostly newbies to Java or just finished school > and playing about with some home hobby projects. Or people, like Thiago H > de Paula Figueiredo, who write applications not used by more than 3 people. > > Now, to hammer the last nails on Tapestry's coffin, I've decide to write a > blog with the title: *The Rise and Fall of Tapestry*. The paragraphs I > would discuss include: > > 1. The begin > 2. How Tapestry betrayed it's users by breaking existing code base at any > major release. > 3. The arrogance of Howard Lewis *Ship* > 4. When the 'H' in Howard became 'C' to form Coward. > 5. When the Ship sank. > 4. How Tapestry became a one-man project > 5. Migration path to other web frameworks > 6. How Tapestry would be remembered. > 7. Why Howard finally embraced Wicket and started using it in his clients' > projects. > 8. When Tapestry became Wicketstry or Tapwickstry. > ... > > I want to have 10 points to write about in my blog. Please feel free to > suggest some other points for me. > > I have to mention that I will strictly moderate comments on my blog in > order to filter out venomous comments from Tapestry cult trolls like the > ones I've seen here the last few days. > > Please contribute. > > Cheers >
Re: [ANNOUNCEMENT] tynamo-federatedaccounts 0.4.3 released!
And indeed in 0.4.3 there is a class with commented field. How to replace this functionality? public class FederatedAccountSymbols { // public static final String SUCCESSURL = "federatedaccounts.successurl"; public static final String COMMITAFTER_OAUTH = "federatedaccounts.commitafteroauth"; public static final String HTTPCLIENT_ON_GAE = "httpclient.gae"; public static final String DEFAULT_RETURNPAGE = "federatedaccounts.default_returnpage"; public static final String DEFAULT_REMEMBERME = "federatedaccounts.default_rememberme"; public static final String LOCALACCOUNT_REALMNAME = "federatedaccounts.localaccount_realmname"; } 2013/11/21 Borut Bolčina > Yes, indeed, another dependent project brought in the 0.2.0 version of > federatedaccounts-core. > > Now I am having another issue: > configuration.add(FederatedAccountSymbols.SUCCESSURL, "/prijavaRedirect"); > > SUCCESSURL is not a field anymore. > > > 2013/11/21 Kalle Korhonen > >> At a first glance, it'd looks like federatedaccounts-core in your >> classpath is a pre 0.4 version, based on: >> "Type >> >> org.tynamo.security.federatedaccounts.services.FederatedSignInComponentBlockSource >> not present" >> >> Is it possible you have multiple versions of the relevant libraries in >> your >> classpath? >> >> Kalle >> >> >> >> On Wed, Nov 20, 2013 at 11:41 PM, Borut Bolčina > >wrote: >> >> > Hi Kalle, >> > >> > I just tried the 0.4.3 version (before I had 0.2.0) and I get this >> > exception below. Is there something quick I can fix in my code? >> > >> > 2013-11-20 17:00:57.566:WARN:oejuc.AbstractLifeCycle:FAILED app: >> > java.lang.RuntimeException: Exception loading module(s) from manifest >> > >> > >> jar:file:/C:/Users/bolcinab/.m2/repository/org/tynamo/security/tynamo-federatedaccounts-facebook/0.4.3/tynamo-federatedaccounts-facebook-0.4.3.jar!/META-INF/MANIFEST.MF: >> > Failure loading Tapestry IoC module class >> > >> > >> org.tynamo.security.federatedaccounts.facebook.services.FacebookFederatedAccountsModule: >> > Type >> > >> > >> org.tynamo.security.federatedaccounts.services.FederatedSignInComponentBlockSource >> > not present >> > java.lang.RuntimeException: Exception loading module(s) from manifest >> > >> > >> jar:file:/C:/Users/bolcinab/.m2/repository/org/tynamo/security/tynamo-federatedaccounts-facebook/0.4.3/tynamo-federatedaccounts-facebook-0.4.3.jar!/META-INF/MANIFEST.MF: >> > Failure loading Tapestry IoC module class >> > >> > >> org.tynamo.security.federatedaccounts.facebook.services.FacebookFederatedAccountsModule: >> > Type >> > >> > >> org.tynamo.security.federatedaccounts.services.FederatedSignInComponentBlockSource >> > not present >> > at >> > >> > >> org.apache.tapestry5.ioc.IOCUtilities.addModulesInManifest(IOCUtilities.java:123) >> > at >> > >> > >> org.apache.tapestry5.ioc.IOCUtilities.addDefaultModules(IOCUtilities.java:77) >> > at >> > >> > >> org.apache.tapestry5.internal.TapestryAppInitializer.(TapestryAppInitializer.java:124) >> > at org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:103) >> > at >> > org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:119) >> > at >> > >> > >> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) >> > at >> > >> > >> org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:719) >> > at >> > >> > >> org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265) >> > at >> > >> > >> org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) >> > at >> > >> > >> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:710) >> > at >> > org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492) >> > at >> > >> > >> org.mortbay.jetty.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:293) >> > at >> > >> > >> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) >> > at >> > >> > >> org.eclipse
Re: [ANNOUNCEMENT] tynamo-federatedaccounts 0.4.3 released!
Yes, indeed, another dependent project brought in the 0.2.0 version of federatedaccounts-core. Now I am having another issue: configuration.add(FederatedAccountSymbols.SUCCESSURL, "/prijavaRedirect"); SUCCESSURL is not a field anymore. 2013/11/21 Kalle Korhonen > At a first glance, it'd looks like federatedaccounts-core in your > classpath is a pre 0.4 version, based on: > "Type > > org.tynamo.security.federatedaccounts.services.FederatedSignInComponentBlockSource > not present" > > Is it possible you have multiple versions of the relevant libraries in your > classpath? > > Kalle > > > > On Wed, Nov 20, 2013 at 11:41 PM, Borut Bolčina >wrote: > > > Hi Kalle, > > > > I just tried the 0.4.3 version (before I had 0.2.0) and I get this > > exception below. Is there something quick I can fix in my code? > > > > 2013-11-20 17:00:57.566:WARN:oejuc.AbstractLifeCycle:FAILED app: > > java.lang.RuntimeException: Exception loading module(s) from manifest > > > > > jar:file:/C:/Users/bolcinab/.m2/repository/org/tynamo/security/tynamo-federatedaccounts-facebook/0.4.3/tynamo-federatedaccounts-facebook-0.4.3.jar!/META-INF/MANIFEST.MF: > > Failure loading Tapestry IoC module class > > > > > org.tynamo.security.federatedaccounts.facebook.services.FacebookFederatedAccountsModule: > > Type > > > > > org.tynamo.security.federatedaccounts.services.FederatedSignInComponentBlockSource > > not present > > java.lang.RuntimeException: Exception loading module(s) from manifest > > > > > jar:file:/C:/Users/bolcinab/.m2/repository/org/tynamo/security/tynamo-federatedaccounts-facebook/0.4.3/tynamo-federatedaccounts-facebook-0.4.3.jar!/META-INF/MANIFEST.MF: > > Failure loading Tapestry IoC module class > > > > > org.tynamo.security.federatedaccounts.facebook.services.FacebookFederatedAccountsModule: > > Type > > > > > org.tynamo.security.federatedaccounts.services.FederatedSignInComponentBlockSource > > not present > > at > > > > > org.apache.tapestry5.ioc.IOCUtilities.addModulesInManifest(IOCUtilities.java:123) > > at > > > > > org.apache.tapestry5.ioc.IOCUtilities.addDefaultModules(IOCUtilities.java:77) > > at > > > > > org.apache.tapestry5.internal.TapestryAppInitializer.(TapestryAppInitializer.java:124) > > at org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:103) > > at > > org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:119) > > at > > > > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) > > at > > > > > org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:719) > > at > > > > > org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265) > > at > > > > > org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) > > at > > > > > org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:710) > > at > > org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492) > > at > > > > > org.mortbay.jetty.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:293) > > at > > > > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) > > at > > > > > org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) > > at > > > > > org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:172) > > at > > > > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) > > at > > > > > org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) > > at > > > > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) > > at > > > > > org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95) > > at org.eclipse.jetty.server.Server.doStart(Server.java:280) > > at org.mortbay.jetty.plugin.JettyServer.doStart(JettyServer.java:65) > > at > > > > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) > > at > > > > > org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:520) > > at > > > > > org.mortbay.jetty.plugin.Ab
Re: [ANNOUNCEMENT] tynamo-federatedaccounts 0.4.3 released!
Hi Kalle, I just tried the 0.4.3 version (before I had 0.2.0) and I get this exception below. Is there something quick I can fix in my code? 2013-11-20 17:00:57.566:WARN:oejuc.AbstractLifeCycle:FAILED app: java.lang.RuntimeException: Exception loading module(s) from manifest jar:file:/C:/Users/bolcinab/.m2/repository/org/tynamo/security/tynamo-federatedaccounts-facebook/0.4.3/tynamo-federatedaccounts-facebook-0.4.3.jar!/META-INF/MANIFEST.MF: Failure loading Tapestry IoC module class org.tynamo.security.federatedaccounts.facebook.services.FacebookFederatedAccountsModule: Type org.tynamo.security.federatedaccounts.services.FederatedSignInComponentBlockSource not present java.lang.RuntimeException: Exception loading module(s) from manifest jar:file:/C:/Users/bolcinab/.m2/repository/org/tynamo/security/tynamo-federatedaccounts-facebook/0.4.3/tynamo-federatedaccounts-facebook-0.4.3.jar!/META-INF/MANIFEST.MF: Failure loading Tapestry IoC module class org.tynamo.security.federatedaccounts.facebook.services.FacebookFederatedAccountsModule: Type org.tynamo.security.federatedaccounts.services.FederatedSignInComponentBlockSource not present at org.apache.tapestry5.ioc.IOCUtilities.addModulesInManifest(IOCUtilities.java:123) at org.apache.tapestry5.ioc.IOCUtilities.addDefaultModules(IOCUtilities.java:77) at org.apache.tapestry5.internal.TapestryAppInitializer.(TapestryAppInitializer.java:124) at org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:103) at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:119) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:719) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:710) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492) at org.mortbay.jetty.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:293) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:172) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95) at org.eclipse.jetty.server.Server.doStart(Server.java:280) at org.mortbay.jetty.plugin.JettyServer.doStart(JettyServer.java:65) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:520) at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:365) at org.mortbay.jetty.plugin.JettyRunMojo.execute(JettyRunMojo.java:523) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
Re: Pro / Contra: Splitting The Project
Hello Martin, always split your code! Of course it depends on how large the project is, but a good practice is to have separate projects for different layers. Some examples: simple scenario: myproject-web (contains the web app with majority of services and all the pages and components) myproject-persistence (contains dao interfaces, implementations and also model classes) a bit more advanced: myproject-web1 (contains the web app 1 with majority of services and all the pages) myproject-web2 (contains the web app 2 with majority of services and all the pages) myproject-web-components (contains reusable components for all web apps) myproject-persistence-api (contains dao interfaces - dao is not only a code which accesses database(s), but also solr indexes or datagrid for example) myproject-persistence (contains dao implementations and a module service to bootstrap persistence contexts) myproject-model (contains all model classes that is entities) even more advanced: add myproject-model-domain1 (model classes for domain1) myproject-model-domain2 (model classes for domain2) myproject-core (holds services and utility classes for all web apps) myproject-functional-tests (the name implies the purpose) When you have such separation you can share model classes with backend software (in which ever technology it is). You can test each layer separately. For easier installing/deploying artifacts you can cretae myproject-reactor project which only contains pom.xml to buils/install/deploy all projects. If you are serious then you must have jenkins and nexus and follow best practices of creating branches and a proper procedure to release software. There's a lot to it. Hope it helps, borut 2013/10/11 Martin Kersten > Hi, > >I am sitting in front of 1.5 MB of sources and I think about splitting > the project in half. One for the services + entities + utilities the rest > for the web fun. > > It would also allow to test the core only with unit test and barely with > integration tests. Where the web part might be all about integration + > acceptance testing. > > But I am in doubt. the only gain I would have is half the packages at once, > and some separation and shift in thinking. > > Does anyone split projects in core vs web? What is the point in doing so > and why not? > > > Cheers, > > Martin (Kersten), > Köthen >
Setting css property dynamically
Hi, what is causing the css style not changing in this TML? ${theme.imageUrl} .tema { background:url("${cdn:prop:theme?.imageUrl}") no-repeat top center; height:180px; } Look at ${cdn:prop:theme?.imageUrl} The value gets from Layout.java: @SetupRender public void setupRender() { List results = backgroundImageDAO.findActiveByType(BackgroundImage.Type.CROPPED); if (results.size() > 0) { theme = results.get(0); logger.debug("Active background image: " + theme.getImageUrl()); } else { logger.debug("No active background found:"); } } When the above method is executed the correct theme.getImageUrl() is printed out and also the correct value is displayed for ${theme.imageUrl}. The ${cdn:prop:theme?.imageUrl} is not changed - it stays the same. The cdn binding is our implementation for rotating cdn servers. Any hints guys? -borut
Re: Liquibase for Tapestry5
Also by running flyway maven plugin with production profile activated. We have several profiles based on environment and based on database. What puzzles me at the moment is how to streamline the editorial changes on some data made after migration has been made. Those changes should be somehow incorporated into new migration scripts once in a while maybe. 2013/8/14 Dmitry Gusev > Just curious, and how do you deliver your migrations to target > environments, like production? > > On Wed, Aug 14, 2013 at 10:39 AM, Borut Bolčina >wrote: > > > Hello, > > > > no reusable modules at the moment, nor any integration, as we use the > > flyway as a maven plugin. I do see a potential use, but have no clear > > vision on how to use the auto-migration in a more complex > > development/runtime environments. Will have to dedicate some time into it > > and discover safe and clear paths in development cycles in a small > > development team. > > > > There is a live #Tapestry IRC channel, interesting... > > > > Regards, > > borut > > > > > > 2013/8/14 Dmitry Gusev > > > > > Hi, > > > > > > It seems Flyway is popular among tapestry users, we've discussed it > > > yesterday on the #tapestry IRC channel. > > > > > > It seems (the only?) advantage of Flyway against Liquibase is that you > > can > > > run custom Java code during migrations. > > > > > > Do you have any reusable modules or, maybe, best practices how you use > > > Flyway with tapestry? > > > > > > On Wed, Aug 14, 2013 at 10:09 AM, Borut Bolčina < > borut.bolc...@gmail.com > > > >wrote: > > > > > > > Nice Dmitry! > > > > > > > > I (we) use Flyway for database migrations, but it is always nice to > > see a > > > > new Tapestry module! > > > > > > > > Regards, > > > > borut > > > > > > > > > > > > 2013/8/12 Dmitry Gusev > > > > > > > > > FYI: > > > > > > > > > > > > > > > > > > > > > > > > > https://github.com/anjlab/anjlab-tapestry-commons/tree/master/anjlab-tapestry-liquibase > > > > > > > > > > -- > > > > > Dmitry Gusev > > > > > > > > > > AnjLab Team > > > > > http://anjlab.com > > > > > > > > > > > > > > > > > > > > > -- > > > Dmitry Gusev > > > > > > AnjLab Team > > > http://anjlab.com > > > > > > > > > -- > Dmitry Gusev > > AnjLab Team > http://anjlab.com >
Re: Liquibase for Tapestry5
Hello, no reusable modules at the moment, nor any integration, as we use the flyway as a maven plugin. I do see a potential use, but have no clear vision on how to use the auto-migration in a more complex development/runtime environments. Will have to dedicate some time into it and discover safe and clear paths in development cycles in a small development team. There is a live #Tapestry IRC channel, interesting... Regards, borut 2013/8/14 Dmitry Gusev > Hi, > > It seems Flyway is popular among tapestry users, we've discussed it > yesterday on the #tapestry IRC channel. > > It seems (the only?) advantage of Flyway against Liquibase is that you can > run custom Java code during migrations. > > Do you have any reusable modules or, maybe, best practices how you use > Flyway with tapestry? > > On Wed, Aug 14, 2013 at 10:09 AM, Borut Bolčina >wrote: > > > Nice Dmitry! > > > > I (we) use Flyway for database migrations, but it is always nice to see a > > new Tapestry module! > > > > Regards, > > borut > > > > > > 2013/8/12 Dmitry Gusev > > > > > FYI: > > > > > > > > > > > > https://github.com/anjlab/anjlab-tapestry-commons/tree/master/anjlab-tapestry-liquibase > > > > > > -- > > > Dmitry Gusev > > > > > > AnjLab Team > > > http://anjlab.com > > > > > > > > > -- > Dmitry Gusev > > AnjLab Team > http://anjlab.com >
Re: Liquibase for Tapestry5
Nice Dmitry! I (we) use Flyway for database migrations, but it is always nice to see a new Tapestry module! Regards, borut 2013/8/12 Dmitry Gusev > FYI: > > > https://github.com/anjlab/anjlab-tapestry-commons/tree/master/anjlab-tapestry-liquibase > > -- > Dmitry Gusev > > AnjLab Team > http://anjlab.com >
Re: tapestry-security 0.5.1 released
Thanks from our team too! 2013/4/28 Dmitry Gusev > Congrats! > > And thanks for the great library! > > On Sat, Apr 27, 2013 at 10:21 PM, Kalle Korhonen < > kalle.o.korho...@gmail.com > > wrote: > > > Oops, we did it again! We cleaned the security component issue list and > cut > > a new release with a few nice little improvements. 0.5.0 was released a > few > > months before but never announced. 0.5.1 is the new stable release for > > T5.3.x. Unfortunately though, 0.5.1 will not work with the upcoming T5.4. > > It does compile and about half of the tests succeed but the ajax > interfaces > > are changed enough that there will likely be some issues. Well, at least > we > > have something to do for the next release. See > > http://tynamo.org/tapestry-security+guide for more info. > > > > Bug > > [TYNAMO-176] - Incorrect redirect to login page in case of ajax > request > > > > Improvement > > [TYNAMO-125] - Else block for the security components > > [TYNAMO-193] - Allow temporarily disabling security for an invocation > > of Callable > > [TYNAMO-195] - Make LoginForm error messages localizable > > [TYNAMO-183] - Improve support for Instance-Level Access Control > > > > Enjoy, > > Tynamo Team > > > > > > -- > Dmitry Gusev > > AnjLab Team > http://anjlab.com >
Re: Configuring pages to be "invisible"
Hi Alejandro, the above example works ok! I moron had forgotten to remove contributeSecurityConfiguration in DevelopmentModule which was overriding configuration in AppModule. Those three lines are all I need. I have a form in the allowed page and it works as expected. What did you mean by additional rules for forms and eventlinks? Can you also give a hint about @RequireRole("beta")? Thanks for your time! 2013/4/2 Alejandro Scandroli > Hi Borut > > For rulling out everything but one "public" folder this configuration > should work. > > > configuration.add(factory.createChain("/assets/**").add(factory.anon()).build()); > > configuration.add(factory.createChain("/public/**").add(factory.anon()).build()); > > configuration.add(factory.createChain("/**").add(factory.notfound()).build()); > > I've added the assets folder to the configuration for obvious reasons. > If that doesn't work for you let me know and we'll take a closer look > to the complete configuration. > > I've tested this with tapestry-security 0.5.0 and 0.4.6, which version > are you using? > > Alejandro. > > > > > > > > > On Tue, Apr 2, 2013 at 8:19 AM, Borut Bolčina > wrote: > > Alejandro, > > > > I have just tried this approach with factory chains, but the solution > still > > eludes me. I've tried "every" variation of creating the right chain for > > ruling out the index page and all other subfolders - besides one folder. > > > > This configuration is the closest of what I think should do the job: > > > > > configuration.add(factory.createChain("/index").add(factory.notfound()).build()); > > > configuration.add(factory.createChain("/hidden1/**").add(factory.notfound()).build()); > > > configuration.add(factory.createChain("/hidden2/**").add(factory.notfound()).build()); > > > > but accessing http://localhost (or http://localhost/index) still renders > > the index page and the hidden pages. > > > > If I remove the first line (with /index), then I get 404 as expected for > > the hidden folders, but the index page is visible. > > > > I am running the app locally with Jetty > > (jetty-maven-plugin:8.1.9.v20130131). > > > > -borut > > > > > > > > > > > > > > > > > > > > > > 2013/3/29 Alejandro Scandroli > > > >> Hi Borut > >> > >> Using tapestry-security you have a couple of options. > >> > >> If you have all the protected/hidden pages in the same folder you > >> could do something like this: > >> > >> > >> > configuration.add(factory.createChain("/yourfolder/**").add(factory.notfound()).build()); > >> > >> If they are not in the same folder you can create one rule per folder > >> or in the worst case one rule per page. > >> > >> The reversed logic would be, block access to the root "/" and then > >> give anon access to your visible pages. > >> > >> > >> > configuration.add(factory.createChain("/assets/**").add(factory.anon()).build()); > >> > >> > configuration.add(factory.createChain("/signin").add(factory.anon()).build()); > >> > >> > configuration.add(factory.createChain("/visibleFolder/**").add(factory.anon()).build()); > >> > >> > configuration.add(factory.createChain("/visiblePage1").add(factory.anon()).build()); > >> > >> > configuration.add(factory.createChain("/visiblePage2").add(factory.anon()).build()); > >> > >> configuration.add(factory.createChain("/").add(factory.anon()).build()); > >> > >> > configuration.add(factory.createChain("/**").add(factory.notfound()).build()); > >> > >> Please, be careful with this, eventlinks and forms in the visible > >> pages may need their own rules. > >> > >> Finally, my preferred way to handle this is with a role. You could use > >> something like @RequireRole("beta"). > >> > >> Good luck with the launch. > >> Alejandro. > >> > >> > >> > >> On Fri, Mar 29, 2013 at 2:54 PM, Thiago H de Paula Figueiredo > >> wrote: > >> > On Fri, 29 Mar 2013 09:05:04 -0300, Borut Bolčina < > >> borut.bolc...@gmail.com> > >> > wrote: > >> > > >> >> Hello, > >> > > >> > > >> > Hi! > >> > > >> > > >> >> What is the least obtrusive way to mark pages "hidden" in production > >> mode > >> >> or with some other configuration setting. > >> > > >> > > >> > I'd try adding a RequestFilter and have some logic there to define > >> whether > >> > the request is for a hidden page. If yes, return a 404 error. > >> > > >> > -- > >> > Thiago H. de Paula Figueiredo > >> > > >> > - > >> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > >> > For additional commands, e-mail: users-h...@tapestry.apache.org > >> > > >> > >> - > >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > >> For additional commands, e-mail: users-h...@tapestry.apache.org > >> > >> > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Configuring pages to be "invisible"
Alejandro, I have just tried this approach with factory chains, but the solution still eludes me. I've tried "every" variation of creating the right chain for ruling out the index page and all other subfolders - besides one folder. This configuration is the closest of what I think should do the job: configuration.add(factory.createChain("/index").add(factory.notfound()).build()); configuration.add(factory.createChain("/hidden1/**").add(factory.notfound()).build()); configuration.add(factory.createChain("/hidden2/**").add(factory.notfound()).build()); but accessing http://localhost (or http://localhost/index) still renders the index page and the hidden pages. If I remove the first line (with /index), then I get 404 as expected for the hidden folders, but the index page is visible. I am running the app locally with Jetty (jetty-maven-plugin:8.1.9.v20130131). -borut 2013/3/29 Alejandro Scandroli > Hi Borut > > Using tapestry-security you have a couple of options. > > If you have all the protected/hidden pages in the same folder you > could do something like this: > > > configuration.add(factory.createChain("/yourfolder/**").add(factory.notfound()).build()); > > If they are not in the same folder you can create one rule per folder > or in the worst case one rule per page. > > The reversed logic would be, block access to the root "/" and then > give anon access to your visible pages. > > > configuration.add(factory.createChain("/assets/**").add(factory.anon()).build()); > > configuration.add(factory.createChain("/signin").add(factory.anon()).build()); > > configuration.add(factory.createChain("/visibleFolder/**").add(factory.anon()).build()); > > configuration.add(factory.createChain("/visiblePage1").add(factory.anon()).build()); > > configuration.add(factory.createChain("/visiblePage2").add(factory.anon()).build()); > > configuration.add(factory.createChain("/").add(factory.anon()).build()); > > configuration.add(factory.createChain("/**").add(factory.notfound()).build()); > > Please, be careful with this, eventlinks and forms in the visible > pages may need their own rules. > > Finally, my preferred way to handle this is with a role. You could use > something like @RequireRole("beta"). > > Good luck with the launch. > Alejandro. > > > > On Fri, Mar 29, 2013 at 2:54 PM, Thiago H de Paula Figueiredo > wrote: > > On Fri, 29 Mar 2013 09:05:04 -0300, Borut Bolčina < > borut.bolc...@gmail.com> > > wrote: > > > >> Hello, > > > > > > Hi! > > > > > >> What is the least obtrusive way to mark pages "hidden" in production > mode > >> or with some other configuration setting. > > > > > > I'd try adding a RequestFilter and have some logic there to define > whether > > the request is for a hidden page. If yes, return a 404 error. > > > > -- > > Thiago H. de Paula Figueiredo > > > > - > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Configuring pages to be "invisible"
Thanks Alejandro! Didn't know about the factory.notfound(). I will test this as soon as I can. Cheers, borut 2013/3/29 Alejandro Scandroli > Hi Borut > > Using tapestry-security you have a couple of options. > > If you have all the protected/hidden pages in the same folder you > could do something like this: > > > configuration.add(factory.createChain("/yourfolder/**").add(factory.notfound()).build()); > > If they are not in the same folder you can create one rule per folder > or in the worst case one rule per page. > > The reversed logic would be, block access to the root "/" and then > give anon access to your visible pages. > > > configuration.add(factory.createChain("/assets/**").add(factory.anon()).build()); > > configuration.add(factory.createChain("/signin").add(factory.anon()).build()); > > configuration.add(factory.createChain("/visibleFolder/**").add(factory.anon()).build()); > > configuration.add(factory.createChain("/visiblePage1").add(factory.anon()).build()); > > configuration.add(factory.createChain("/visiblePage2").add(factory.anon()).build()); > > configuration.add(factory.createChain("/").add(factory.anon()).build()); > > configuration.add(factory.createChain("/**").add(factory.notfound()).build()); > > Please, be careful with this, eventlinks and forms in the visible > pages may need their own rules. > > Finally, my preferred way to handle this is with a role. You could use > something like @RequireRole("beta"). > > Good luck with the launch. > Alejandro. > > > > On Fri, Mar 29, 2013 at 2:54 PM, Thiago H de Paula Figueiredo > wrote: > > On Fri, 29 Mar 2013 09:05:04 -0300, Borut Bolčina < > borut.bolc...@gmail.com> > > wrote: > > > >> Hello, > > > > > > Hi! > > > > > >> What is the least obtrusive way to mark pages "hidden" in production > mode > >> or with some other configuration setting. > > > > > > I'd try adding a RequestFilter and have some logic there to define > whether > > the request is for a hidden page. If yes, return a 404 error. > > > > -- > > Thiago H. de Paula Figueiredo > > > > - > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Configuring pages to be "invisible"
Hello, it has been a while since my last post here, but I always like to return here on this list. We have created a big web site (with T5 of course), and it so turns out, that only a minor part of the pages should be launched in two weeks time and then later some more and so on. What is the least obtrusive way to mark pages "hidden" in production mode or with some other configuration setting. Currently I have the solution with @WhitelistAccessOnly with my own implementation of InternalNetwork implements WhitelistAnalyzer class. This solution works, but it demands that I annotate each and every page in the application which should not be visible to the outside world, but only to our internal network. It would be very conveniently if I could configure only pages which should be visible. We already have tynamo-security in place, so the answer might be there? Regards, borut
Re: Tapestry performance
Hi, great page you have created! You can add some possible solutions, like using datagrid session management. One possible solution is to use http://www.hazelcast.com/docs/2.5/manual/single_html/#HttpSessionClustering. This is the technique we will be using. -bob 2013/1/20 Bob Harner > Hello everybody, > > I recently threw together a new page in the documentation about > Tapestry performance. (Much of it plagiarizes mailing list posts from > Howard.) > > http://tapestry.apache.org/performance-and-clustering.html > > It's really just a first draft at this point. So if anyone has any > additional tips to share about how to achieve the best performance > with a Tapestry app, no matter how small, I'd love to hear them. > Please reply here. > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Deploying Tapestry 5.3.6 web app in OSGi
Howard, I already know that, but that is not an answer. Is there a known issue, so I can stop waisting my and my colleagues time? Cheers, borut On 4. dec. 2012, at 18:46, Howard Lewis Ship wrote: > I'm not a big fan of OSGi myself. > > > On Tue, Dec 4, 2012 at 8:26 AM, Borut Bolčina wrote: > >> I feel a bit lonely. So nobody attempted to deploy T5 app to any OSGi >> container? >> >> Sent from my iPad >> >> On 3. dec. 2012, at 16:16, Borut Bolčina wrote: >> >>> Hello, >>> >>> we are well under way of developing some new Tapestry 5 web apps and now >> we had some time to explore some less known environments to run and >> deploy/provision them. >>> >>> One of the possibilities is OSGi. We are running FuseESB Enterprise >> based on Apache Karaf based on Apache Felix. FuseESB offers cloud >> deployment/provisioning via Apache Fuse Fabric based on Apache Zookeeper >> and so why not use all this infrastructure to deploy web applications also >> - besides all those backend services. >>> >>> Has anybody here on this list successfully deployed their T5 web app >> into some OSGi container to share experience? >>> >>> We are having problems - there is a thread at >>> http://fusesource.com/forums/thread.jspa?threadID=4422&tstart=0 >>> and >> http://karaf.922171.n3.nabble.com/Pax-web-and-using-Apache-Tapestry-td4026946.html >>> >>> Or, if anybody can recommend any open source project dealing with >> deployment/provisioning of web applications to several web servers (like >> home made CloudBees). >>> >>> Regards, >>> Borut >> > > > > -- > Howard M. Lewis Ship > > Creator of Apache Tapestry > > The source for Tapestry training, mentoring and support. Contact me to > learn how I can get you up and productive in Tapestry fast! > > (971) 678-5210 > http://howardlewisship.com - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Deploying Tapestry 5.3.6 web app in OSGi
I feel a bit lonely. So nobody attempted to deploy T5 app to any OSGi container? Sent from my iPad On 3. dec. 2012, at 16:16, Borut Bolčina wrote: > Hello, > > we are well under way of developing some new Tapestry 5 web apps and now we > had some time to explore some less known environments to run and > deploy/provision them. > > One of the possibilities is OSGi. We are running FuseESB Enterprise based on > Apache Karaf based on Apache Felix. FuseESB offers cloud > deployment/provisioning via Apache Fuse Fabric based on Apache Zookeeper and > so why not use all this infrastructure to deploy web applications also - > besides all those backend services. > > Has anybody here on this list successfully deployed their T5 web app into > some OSGi container to share experience? > > We are having problems - there is a thread at > http://fusesource.com/forums/thread.jspa?threadID=4422&tstart=0 > and > http://karaf.922171.n3.nabble.com/Pax-web-and-using-Apache-Tapestry-td4026946.html > > Or, if anybody can recommend any open source project dealing with > deployment/provisioning of web applications to several web servers (like home > made CloudBees). > > Regards, > Borut
Deploying Tapestry 5.3.6 web app in OSGi
Hello, we are well under way of developing some new Tapestry 5 web apps and now we had some time to explore some less known environments to run and deploy/provision them. One of the possibilities is OSGi. We are running FuseESB Enterprise based on Apache Karaf based on Apache Felix. FuseESB offers cloud deployment/provisioning via Apache Fuse Fabric based on Apache Zookeeper and so why not use all this infrastructure to deploy web applications also - besides all those backend services. Has anybody here on this list successfully deployed their T5 web app into some OSGi container to share experience? We are having problems - there is a thread at http://fusesource.com/forums/thread.jspa?threadID=4422&tstart=0 and http://karaf.922171.n3.nabble.com/Pax-web-and-using-Apache-Tapestry-td4026946.html Or, if anybody can recommend any open source project dealing with deployment/provisioning of web applications to several web servers (like home made CloudBees). Regards, Borut
[OT] Arquillian Tapestry
Hello, just stumbled upon an announcement at http://arquillian.org/blog/2012/05/27/arquillian-extension-warp-1-0-0-Alpha1/ There is a call for action there to have support for your favorite web framework. Maybe someone could have a look at. Sent from my iPad - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Field versus constructor parameter injection
2012/1/6 DH > Yes, Try: > > @Inject > @Symbol("configuration.service.connectionTimeoutMillis") > private Integer configurationServiceConnectionTimeoutMillis; > > > Nope, tried that also, forgot to include it in my original email.
Field versus constructor parameter injection
Hi, I am exploring the possibilities of injecting Symbols into my service. While this works: public class RestEasyClientImpl implements RestEasyClient { private Logger logger; private Integer configurationServiceConnectionTimeoutMillis; private Integer configurationServiceSocketTimeoutMillis; public RestEasyClientImpl(Logger logger, @Symbol("configuration.service.connectionTimeoutMillis") Integer configurationServiceConnectionTimeoutMillis, @Symbol("configuration.service.socketTimeoutMillis") Integer configurationServiceSocketTimeoutMillis) { this.logger = logger; this.configurationServiceConnectionTimeoutMillis = configurationServiceConnectionTimeoutMillis; this.configurationServiceSocketTimeoutMillis = configurationServiceSocketTimeoutMillis; ... } this doesn't: public class RestEasyClientImpl implements RestEasyClient { private Logger logger; @Symbol("configuration.service.connectionTimeoutMillis") private Integer configurationServiceConnectionTimeoutMillis; @Symbol("configuration.service.socketTimeoutMillis") private Integer configurationServiceSocketTimeoutMillis; public RestEasyClientImpl(Logger logger) { this.logger = logger; logger.info("configuration.service.connectionTimeoutMillis: {}", configurationServiceConnectionTimeoutMillis); logger.info("configuration.service.socketTimeoutMillis: {}", configurationServiceSocketTimeoutMillis); ... } Both configurationServiceConnectionTimeoutMillis and configurationServiceSocketTimeoutMillis are null in this second case of symbol field injection. I would like to use the second approach becouse it is cleaner, it doesn't clutter the method/constructor parameter list. Is there a way of injecting symbol values into fields of the service or is the constructor injection point my only option? Does this http://tapestry.apache.org/defining-tapestry-ioc-services.html (Field injection) apply for Symbols too, therefore "I am doomed"? -borut
Re: Is it possible to initialize a custom SymbolProvider with another symbol?
Hi, I would still like an advice on the approach on how to initialize custom symbol provider with tapestry provided symbol. The code below ends in IllegalStateException Construction of service 'SymbolSource' has failed due to recursion: the service depends on itself in some way. The code from AppModule: public RESTSymbolProvider buildRESTSymbolProvider(Logger logger, @Inject @Symbol(SymbolConstants.EXECUTION_MODE) String executionMode) { return new RESTSymbolProvider(logger, executionMode); } public void contributeSymbolSource(OrderedConfiguration providers, Logger logger, @InjectService("RESTSymbolProvider") SymbolProvider restSymbolProvider) { providers.add("myAppConfiguration", restSymbolProvider); } Thanks for any input, borut 2011/12/30 Borut Bolčina > Hello, > > I am in a process of writting my own SymbolProvider (the configuration for > my app will come from REST service) and I am facing a dilemma. The > contribution looks like: > > public void > contributeSymbolSource(OrderedConfiguration providers, > Logger logger) { > providers.add("myAppConfiguration", new RESTSymbolProvider(logger, > "development"), "after:SystemProperties", "before:ApplicationDefaults"); > } > > You can see I hardcoded the string "development". I want to replace this > string with another symbol > > @Symbol(SymbolConstants.EXECUTION_MODE) String executionMode > > As I need this symbol in another method (sendEmailMessage) in the > AppModule I naively tried like this and failed: > > public class AppModule { > > private String *executionMode*; > > public AppModule(@Symbol(SymbolConstants.EXECUTION_MODE) String > executionMode) { > this.executionMode = executionMode; > } > > @Startup > public void sendEmailMessage(Logger logger) { > if ("development".equals(*executionMode*)) { > logger.info(MarkerFactory.getMarker("EDITORS"), "DEVELOPMENT > Starting najdi-web"); > } else { > logger.info(MarkerFactory.getMarker("EDITORS"), "PRODUCTION > Starting najdi-web"); > } > } > > public void > contributeSymbolSource(OrderedConfiguration providers, > Logger logger) { > providers.add("myAppConfiguration", new RESTSymbolProvider(logger, > *executionMode*), "after:SystemProperties", "before:ApplicationDefaults"); > } > ... > } > > > Fails with: > > [2011/12/30 14:59:04.537] ERROR [o.a.t.i.Registry:log]: Construction of > service 'SymbolSource' has failed due to recursion: the service depends on > itself in some way. Please check > org.apache.tapestry5.ioc.internal.services.SymbolSourceImpl(List) (at > SymbolSourceImpl.java:198) via > org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at > TapestryIOCModule.java:49) for references to another service that is itself > dependent on service 'SymbolSource'. > [2011/12/30 14:59:04.538] ERROR [o.a.t.i.Registry:log]: Operations trace: > [2011/12/30 14:59:04.539] ERROR [o.a.t.i.Registry:log]: [ 1] Realizing > service ServletApplicationInitializer > [2011/12/30 14:59:04.539] ERROR [o.a.t.i.Registry:log]: [ 2] Instantiating > service ServletApplicationInitializer implementation via > org.apache.tapestry5.services.TapestryModule.buildServletApplicationInitializer(Logger, > List, ApplicationInitializer) (at TapestryModule.java:1395) > [2011/12/30 14:59:04.540] ERROR [o.a.t.i.Registry:log]: [ 3] Constructing > module class org.apache.tapestry5.services.TapestryModule > [2011/12/30 14:59:04.540] ERROR [o.a.t.i.Registry:log]: [ 4] Determining > injection value for parameter #1 > (org.apache.tapestry5.ioc.services.PipelineBuilder) > [2011/12/30 14:59:04.541] ERROR [o.a.t.i.Registry:log]: [ 5] Resolving > object of type org.apache.tapestry5.ioc.services.PipelineBuilder using > MasterObjectProvider > [2011/12/30 14:59:04.541] ERROR [o.a.t.i.Registry:log]: [ 6] Realizing > service ServiceOverride > [2011/12/30 14:59:04.542] ERROR [o.a.t.i.Registry:log]: [ 7] Instantiating > service ServiceOverride implementation via > org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl(Map) (at > ServiceOverrideImpl.java:31) via > org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at > TapestryIOCModule.java:49) > [2011/12/30 14:59:04.542] ERROR [o.a.t.i.Registry:log]: [ 8] Creating plan > to instantiate > org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl via public > org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl(java.util.Map) > [2011/12/30 14:59
Is it possible to initialize a custom SymbolProvider with another symbol?
Hello, I am in a process of writting my own SymbolProvider (the configuration for my app will come from REST service) and I am facing a dilemma. The contribution looks like: public void contributeSymbolSource(OrderedConfiguration providers, Logger logger) { providers.add("myAppConfiguration", new RESTSymbolProvider(logger, "development"), "after:SystemProperties", "before:ApplicationDefaults"); } You can see I hardcoded the string "development". I want to replace this string with another symbol @Symbol(SymbolConstants.EXECUTION_MODE) String executionMode As I need this symbol in another method (sendEmailMessage) in the AppModule I naively tried like this and failed: public class AppModule { private String *executionMode*; public AppModule(@Symbol(SymbolConstants.EXECUTION_MODE) String executionMode) { this.executionMode = executionMode; } @Startup public void sendEmailMessage(Logger logger) { if ("development".equals(*executionMode*)) { logger.info(MarkerFactory.getMarker("EDITORS"), "DEVELOPMENT Starting najdi-web"); } else { logger.info(MarkerFactory.getMarker("EDITORS"), "PRODUCTION Starting najdi-web"); } } public void contributeSymbolSource(OrderedConfiguration providers, Logger logger) { providers.add("myAppConfiguration", new RESTSymbolProvider(logger, * executionMode*), "after:SystemProperties", "before:ApplicationDefaults"); } ... } Fails with: [2011/12/30 14:59:04.537] ERROR [o.a.t.i.Registry:log]: Construction of service 'SymbolSource' has failed due to recursion: the service depends on itself in some way. Please check org.apache.tapestry5.ioc.internal.services.SymbolSourceImpl(List) (at SymbolSourceImpl.java:198) via org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at TapestryIOCModule.java:49) for references to another service that is itself dependent on service 'SymbolSource'. [2011/12/30 14:59:04.538] ERROR [o.a.t.i.Registry:log]: Operations trace: [2011/12/30 14:59:04.539] ERROR [o.a.t.i.Registry:log]: [ 1] Realizing service ServletApplicationInitializer [2011/12/30 14:59:04.539] ERROR [o.a.t.i.Registry:log]: [ 2] Instantiating service ServletApplicationInitializer implementation via org.apache.tapestry5.services.TapestryModule.buildServletApplicationInitializer(Logger, List, ApplicationInitializer) (at TapestryModule.java:1395) [2011/12/30 14:59:04.540] ERROR [o.a.t.i.Registry:log]: [ 3] Constructing module class org.apache.tapestry5.services.TapestryModule [2011/12/30 14:59:04.540] ERROR [o.a.t.i.Registry:log]: [ 4] Determining injection value for parameter #1 (org.apache.tapestry5.ioc.services.PipelineBuilder) [2011/12/30 14:59:04.541] ERROR [o.a.t.i.Registry:log]: [ 5] Resolving object of type org.apache.tapestry5.ioc.services.PipelineBuilder using MasterObjectProvider [2011/12/30 14:59:04.541] ERROR [o.a.t.i.Registry:log]: [ 6] Realizing service ServiceOverride [2011/12/30 14:59:04.542] ERROR [o.a.t.i.Registry:log]: [ 7] Instantiating service ServiceOverride implementation via org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl(Map) (at ServiceOverrideImpl.java:31) via org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at TapestryIOCModule.java:49) [2011/12/30 14:59:04.542] ERROR [o.a.t.i.Registry:log]: [ 8] Creating plan to instantiate org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl via public org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl(java.util.Map) [2011/12/30 14:59:04.543] ERROR [o.a.t.i.Registry:log]: [ 9] Determining injection value for parameter #1 (java.util.Map) [2011/12/30 14:59:04.544] ERROR [o.a.t.i.Registry:log]: [10] Collecting mapped configuration for service ServiceOverride [2011/12/30 14:59:04.544] ERROR [o.a.t.i.Registry:log]: [11] Invoking org.apache.tapestry5.services.TapestryModule.productionModeOverrides(MappedConfiguration, boolean) (at TapestryModule.java:2871) [2011/12/30 14:59:04.545] ERROR [o.a.t.i.Registry:log]: [12] Determining injection value for parameter #2 (boolean) [2011/12/30 14:59:04.545] ERROR [o.a.t.i.Registry:log]: [13] Resolving object of type boolean using MasterObjectProvider [2011/12/30 14:59:04.546] ERROR [o.a.t.i.Registry:log]: [14] Realizing service SymbolSource [2011/12/30 14:59:04.546] ERROR [o.a.t.i.Registry:log]: [15] Instantiating service SymbolSource implementation via org.apache.tapestry5.ioc.internal.services.SymbolSourceImpl(List) (at SymbolSourceImpl.java:198) via org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at TapestryIOCModule.java:49) [2011/12/30 14:59:04.547] ERROR [o.a.t.i.Registry:log]: [16] Creating plan to instantiate org.apache.tapestry5.ioc.internal.services.SymbolSourceImpl via public org.apache.tapestry5.ioc.internal.services.SymbolSourceImpl(java.util.List) [2011/12/30 14:59:04.547] ERROR [o.a.t.i.Registry:log]: [17] Determining injection value for parameter #1 (java.util.List)
Re: Issues / feature requests for tapestry-security?
Hello, this is perfect timing for us! Just a week ago, we considered using tynamo-federatedaccounts for our new app (big one). We have already a tapestry 5 based openid server, so tynamo-federatedaccounts with openid realm would be a natural fit. As noted on the website, the support for openid is planned for version 0.0.3. Too late :-) we implemented it - so we can share the code back to the project if you wish. Currently we can sign-in into our webapp with facebook, our openid server and google account. We think it would be nice if LinkedIn would be supported too. There are some open questions, we can discuss if you want. -borut 2011/12/20 Kalle Korhonen > After grueling six months of development on Android, I'm back at the > server side. I'll be cutting a new, T5.3 specific version of Tynamo's > tapestry-security in the near future, though unfortunately it won't > make it to Santa's sleigh. I'm hoping to also pick up Shiro 1.2 as a > dependency if we get that finalized in time. If there's anything you > really wanted to change or fix in tapestry-security but never got > around reporting it, right about now would be a good time. All the > currently open issues will be resolved as well. Thanks to all, it's > been a great year for Tapestry! > > Kalle > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: [ANN] Tapestry5-jQuery 3.0.0 Available !!
Nice, thanks for this! I included the repositories and dependencies section into my project, but there seems to be a dependency to the Tapestry 5.3-beta-21 in the released tapestry5-jquery module and unfortunately this beta21 is not on line any more. Can you do a 3.0.1 release with dependeny to released tapestry version 3.0? Thanks, borut 2011/12/13 Emmanuel DEMEY > Atos is very pleased to announce a new version of Tapestry5-jQuery. This > new > release (3.0.0) is based on Tapestry 5.3. > > In this version, all the JavaScript layer has been revised, in order to > correspond to the one provided by Tapestry. There are also new components: > Gallery, InPlaceEditor, Draggable, andZoneRefresh ZoneDroppable and > DataTable. > > I would like to thank those who worked on this new version: > - Clement USTER and François FACON from Atos > - Christian RIEDEL, Pablo NUSSEMBAUM, Barry BOOKS and Alexander OBLOVATNIY > from the Tapestry Community. > - And finally, all users of this project. > > > If you want to test it, please add this dependency into your pom.xml file : > > org.got5 > tapestry5-jquery > 3.0.0 > > > > devlab722-repo > http://nexus.devlab722.net/nexus/content/repositories/releases > > > false > > > > >devlab722-snapshot-repo > > http://nexus.devlab722.net/nexus/content/repositories/snapshots > > false > > > > If this project interests you, here are 3 websites that may be of interest > to you : > - The demo site, where you will find examples of all components and all the > documentation. > - Our Google Group for you questions and your feedbacks > - Our Github repository for possible issues. If you want to contribute to > this project, Please fork our project, and send to us all your pull > requests. > > Thank you in advance for the interest you have for this project. > > Emmanuel > > > -- > View this message in context: > http://tapestry.1045711.n5.nabble.com/ANN-Tapestry5-jQuery-3-0-0-Available-tp5070822p5070822.html > Sent from the Tapestry - User mailing list archive at Nabble.com. > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
[OT] What happened to tynamo.org
Hello, The tynamo.org is dead for some days now. Anyone? -borut
Re: Meap Tapestry 5 book cancelled?
A sad day. 2011/9/22 Jon Williams > This is terrible news. That was some fine technical writing. Very > disappointed. > > > On Thu, Sep 22, 2011 at 10:24 AM, Lenny Primak >wrote: > > > Damn. I was looking forward to the rest of the book. Why did it happen. > > Does anybody know? > > > > > > > > On Sep 22, 2011, at 12:10 PM, cqasker wrote: > > > > > I also just got the news as I signed up for the MEAP. > > > > > > On related note: > > > I hope this project gets ressurected but I understand Tapestry is a > labor > > of > > > love and a lot of work by all the developers involved and writing a > book > > is > > > yet another huge task. > > > > > > I am loving Tapestry and everytime I need it to do something, the > answer > > is > > > always yes and 90% of the time, the solution is easy. The only hard > part > > is > > > figuring it out -- the book was something I used to help me out with > > that. > > > > > > -- > > > View this message in context: > > > http://tapestry.1045711.n5.nabble.com/Meap-Tapestry-5-book-cancelled-tp4830642p4830657.html > > > Sent from the Tapestry - User mailing list archive at Nabble.com. > > > > > > - > > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > > > > - > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > >
Re: Should T5 honor Accept-Encoding: gzip
Thanks, I looked into sources now and I see how it works now. I was under assumption that production mode also controls the compressing, well it is not. I was experimenting a bit with headers and also by looking at the source code of the isGZipSupported() method I can see that some rare cases are not supported - like when client sends Accept-Encoding: compress;q=0.5, gzip;q=1.0 or Accept-Encoding: gzip;q=1.0 but I guess there are no clients like that (haven't checked the browsers). -borut 2011/9/12 Steve Eynon > From GZipFilter implements HttpServletRequestFilter { > > private final ResponseCompressionAnalyzer analyzer; > > public boolean service(HttpServletRequest request, HttpServletResponse > response, HttpServletRequestHandler handler) >throws IOException > { >HttpServletResponse newResponse = analyzer.isGZipSupported() > ? > new GZIPEnabledResponse(response, request, cutover, analyzer) > : > response; > >return handler.service(request, newResponse); > } > } > > with ResponseCompressionAnalyzer being > > public boolean isGZipSupported() > { >if (!gzipCompressionEnabled) >return false; > >String supportedEncodings = request.getHeader("Accept-Encoding"); > >if (supportedEncodings == null) >return false; > >for (String encoding : > TapestryInternalUtils.splitAtCommas(supportedEncodings)) >{ >if (encoding.equalsIgnoreCase("gzip")) >return true; >} > > return false; > } > > I've read the entire source so far but it's looking pretty conclusive. > > Steve. > > > On 12 September 2011 21:36, Borut Bolčina wrote: > > So, the header takes precedence over production mode setting and the > > tapestry.gzip-compression-enabled? > > > > Is this really the case? > > > > -borut > > > > 2011/9/12 Steve Eynon > > > >> > >> > http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/ResponseCompressionAnalyzer.html > >> > >> Looks like it has been doing since T5.1. > >> > >> Steve. > >> > >> > >> On 12 September 2011 21:14, Borut Bolčina > wrote: > >> > Hi, > >> > > >> > at the moment the only way to configure T5 response compression is via > >> > tapestry.gzip-compression-enabled. > >> > > >> > Should the configuration extend to support checking Accept-Encoding > >> request > >> > header? > >> > > >> > -borut > >> > > >> > >> - > >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > >> For additional commands, e-mail: users-h...@tapestry.apache.org > >> > >> > > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Should T5 honor Accept-Encoding: gzip
So, the header takes precedence over production mode setting and the tapestry.gzip-compression-enabled? Is this really the case? -borut 2011/9/12 Steve Eynon > > http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/ResponseCompressionAnalyzer.html > > Looks like it has been doing since T5.1. > > Steve. > > > On 12 September 2011 21:14, Borut Bolčina wrote: > > Hi, > > > > at the moment the only way to configure T5 response compression is via > > tapestry.gzip-compression-enabled. > > > > Should the configuration extend to support checking Accept-Encoding > request > > header? > > > > -borut > > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Should T5 honor Accept-Encoding: gzip
Hi, at the moment the only way to configure T5 response compression is via tapestry.gzip-compression-enabled. Should the configuration extend to support checking Accept-Encoding request header? -borut
Re: [T5.3 beta 2] Using Tapestry-Spring-Security with 5.3?
Hi, if it's not a burden, can I have a copy of the trunk too, it is still not available :-( Even better, if someone has T5.3 compatible version of tapestry spring security, I would really appreciate someone sending it to me. Cheers, borut 2011/9/7 Robert Lentz > Rado, > > Just read your posting > Early this year I contacted Robin about the latest TSS version, as 2.1.0 > does not work with T5.2.x. > The trunk version 3.0.0 which uses spring-security-3.0 > (http://www.localhost.nu/svn/public/tapestry-spring-security/trunk) > works with T5.2.6 not sure about the changes to T5.3. > So try the trunk version, if you need the sources (in case repo is > offline) I can zip them to you. > Hope this helps > Aloha > Robert > > > On 12 jan 2011, at 09.59, Robert Lentz wrote: > > > Hi Robin, > > > > I am desperately trying to download the latest TSS trunk from > http://www.localhost.nu/svn/public/tapestry-spring-security/trunk or the > the mvn 3.0.0-SNAPSHOT version. > > But it appears that "your" server is not reachable for days/weeks > and I can't find them anywhere else. > > Can you provide me with jars? Your assistance would save me a lot of > trouble. > > Hi, should be working now. > > -- > regards, > Robin > > > Immutability schrieb: > > Thank you guys! I'll be definitely giving Tynamo's security a try. > > > > In the meantime I scanned through the sources of TSS 2.1.0 that I've > checked > > out from SVN several months ago, and now I have some basic understanding > of > > what the issue with Tapestry 5.3 is - it removed the deprecated Aliases > > service in favor of the ServiceOverrides introduced back in 5.1. I'll > just > > need to figure out how to do this properly, since I'll need to do it for > our > > existing projects anyway, in order to migrate them to 5.3 at some point. > If > > someone can get me started (since this is a bit new to me) here's how the > > original method of the SecurityModule looked like: > > > > public static void contributeAlias( > > @SpringSecurityServices > > SaltSourceService saltSource, > > @SpringSecurityServices > > AuthenticationProcessingFilter authenticationProcessingFilter, > > Configuration> configuration) > > { > > > configuration.add(AliasContribution.create(SaltSourceService.class, > > saltSource)); > > configuration.add(AliasContribution.create( > > AuthenticationProcessingFilter.class, > > authenticationProcessingFilter)); > > } > > > > I also tried to contact Robin Helgelin (who seems to be the original > > maintainer of TSS) about the status of the project and if the latest > sources > > are available somewhere but didn't get a response yet. > > > > Thanks, > > Rado > > > > > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Starting 5.3-beta-1 reports the wrong version
And in the generated HTML: -bob 2011/8/31 Massimo Lusetti > On Wed, Aug 31, 2011 at 4:28 PM, Borut Bolčina > wrote: > > > I just tried the new 5.3-beta-1 release and I immediately saw this new > ASCII > > art in the logs spitting out "Tapestry 5" > > I've saw that too... Simply a left over... > > -- > Massimo > http://meridio.blogspot.com > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Starting 5.3-beta-1 reports the wrong version
I just tried the new 5.3-beta-1 release and I immediately saw this new ASCII art in the logs spitting out "Tapestry 5" __ __ /_ __/__ ___ ___ / /___ __ / __/ / / / _ `/ _ \/ -_|_-
Re: [T5.3] Passing page activation context to a component
Man, thank you! In case somebody else will search for this answer before reading http://tapestry.apache.org/environmental-services.html here is a sample code: Index.java == @Inject private Environment environment; private MyComponentContext myComponentContext; public void setupRender() { environment.push(MyComponentContext.class, new MyComponentContext(myString, myInteger)); } public void afterRender() { environment.pop(MyComponentContext.class); } MyComponentContext.java == public class MyComponentContext { String myString; Integer myInteger; public MyComponentContext(String myString, Integer myInteger) { this.myString= myString; this.myInteger= myInteger; } // getters and setters } MyComponent.java == public class MyComponent { @Environmental private MyComponentContext myComponentContext; public String someMethod() { String justSomething = myComponentContext.getMyString(); return "Hello " + justSomething; } } Cheers, borut 2011/8/24 Steve Eynon > > As soon as one component pops the object(s) > > Ahh - that's why there's an Environement.peek() !!! > > Or, in your component, you could just annotate the Object with > @Environmental, e.g. > > @Environmental > private MyTwoStrings ss; > > Steve. > -- > Steve Eynon > > > On 24 August 2011 21:33, Borut Bolčina wrote: > > 2011/8/24 Steve Eynon > > > >> If the component needs 2 string parameters to function, then it needs > >> 2 string parameters! (Much like if a method needs 2 strings, then you > >> need to pass 2 strings.) > >> > >> > > Well, yes :-) > > > > > >> Other alternatives are dependent on re-usability requirements: > >> > >> a) If the 2 strings are always used together then wrap them in a value > >> object and pass that (you can pass anything as Component parameters). > >> > >> > > Goes without saying - OO style. > > > > > >> b) If the component is deeply nested and / or the strings need to be > >> available to multiple components (and you're certain they'll always > >> exist) then you could push them on the Environmental stack and not > >> pass any parameters - just have the component query the stack. > >> > >> > > Wouldn't that work just for one component? As soon as one component pops > the > > object(s) from the Environment stack, others won't have it (them) > anymore? > > > > Thanks, > > borut > > > > > > Steve. > >> -- > >> Steve Eynon > >> > >> > >> On 24 August 2011 18:07, Borut Bolčina wrote: > >> > Hi, > >> > > >> > if a component needs to have its parent's activation context (say two > >> > strings), is the preffered way to pass it as parameters or is there a > >> "less > >> > code way"? > >> > > >> > The solution must not use a session. > >> > > >> > Cheers, > >> > Borut > >> > > >> > >> - > >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > >> For additional commands, e-mail: users-h...@tapestry.apache.org > >> > >> > > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: [T5.3] Passing page activation context to a component
2011/8/24 Steve Eynon > If the component needs 2 string parameters to function, then it needs > 2 string parameters! (Much like if a method needs 2 strings, then you > need to pass 2 strings.) > > Well, yes :-) > Other alternatives are dependent on re-usability requirements: > > a) If the 2 strings are always used together then wrap them in a value > object and pass that (you can pass anything as Component parameters). > > Goes without saying - OO style. > b) If the component is deeply nested and / or the strings need to be > available to multiple components (and you're certain they'll always > exist) then you could push them on the Environmental stack and not > pass any parameters - just have the component query the stack. > > Wouldn't that work just for one component? As soon as one component pops the object(s) from the Environment stack, others won't have it (them) anymore? Thanks, borut Steve. > -- > Steve Eynon > > > On 24 August 2011 18:07, Borut Bolčina wrote: > > Hi, > > > > if a component needs to have its parent's activation context (say two > > strings), is the preffered way to pass it as parameters or is there a > "less > > code way"? > > > > The solution must not use a session. > > > > Cheers, > > Borut > > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
[T5.3] Passing page activation context to a component
Hi, if a component needs to have its parent's activation context (say two strings), is the preffered way to pass it as parameters or is there a "less code way"? The solution must not use a session. Cheers, Borut
Re: T5.2.6 HTML 5 validation fails
Thanks, with small modifications to XhtmlMarkupModel now the web app is HTML5 valid. Cheers, borut 2011/8/18 nillehammer > Hi Borut, > > You can provide your custom implementation of MarkupModel to do just that. > As a start look at Tapesty's DefaultMarkupModel for inspiration. And > there's > an article in the wiki: > http://wiki.apache.org/tapestry/Tapestry5HowToXhtml > It refers to T5.1 though so I don't know whether the code is 100% valid. > > Cheers nillehammer > > - > http://www.winfonet.eu > -- > View this message in context: > http://tapestry.1045711.n5.nabble.com/T5-2-6-HTML-5-validation-fails-tp4712132p4713247.html > Sent from the Tapestry - User mailing list archive at Nabble.com. > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
T5.2.6 HTML 5 validation fails
Hello, just out of curiosity I tried validating one Tapestry 5.2.5 page against HTML and some elements get rendered like this or To be HTML 5 valid, it should render like this and The HTML begins with I tried validating with Firefox plugin ( https://addons.mozilla.org/sl/firefox/addon/html-validator/) and at http://validator.w3.org Is it possible to configure this element closing? Regards, Borut
[OT] The response time of websites - comparison between frameworks
Hello, just wanted to share this link http://www.jtict.com/blog/rails-wicket-grails-play-lift-jsp/ -borut
Re: [ANNOUNCEMENT] upcoming module: tynamo-federatedaccounts
Great, I hope I'll get the opportunity to try it out! 2011/3/4 Kalle Korhonen > 0.0.1 version of tynamo-federatedaccounts with Facebook Oauth is now > released! Additional openID & Oauth providers to follow. More at > http://tynamo.org/tynamo-federatedaccounts+guide. The following blog > entry also provides relevant information: > > http://docs.codehaus.org/display/TYNAMO/2011/02/23/OAuth+-+auth+is+for+authorization > > Release notes (from > > http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=12041&version=17103 > ): > > Improvement > >[TYNAMO-74] - Support inline Facebook oauth permission screen > > New Feature > >[TYNAMO-72] - Initial implementation of Facebook Oauth >[TYNAMO-73] - Initial implementation of federatedaccounts sample > running on GAE >[TYNAMO-80] - Implement different windowmodes for Facebook oauth > > Enjoy, > Tynamo team > > > On Sat, Jan 29, 2011 at 11:08 PM, Kalle Korhonen > wrote: > > With 600 million users and counting, it's the new Internet. Yes, I'm > > talking about Facebook. Whether you love it or hate it, these days you > > have to have a Facebook strategy. Every other site is doing Facebook, > > Twitter and Google integrations and why not, your fledgling little > > website wouldn't need more than 1/1000th of their users to make it a > > success. So why is that everybody needs to suffer on their own through > > implementing various versions of Oauth & other open authorization > > standards? With that suffering in mind, tynamo-federatedaccounts, a > > module for supporting remote authentication and merged (federated) > > authorization, was born. > > > > I've been using various versions of more specialized implementations > > of the same concept before, but tynamo-federatedaccounts is the first > > attempt at generalizing Oauth & similar work flows to an easy-to-use > > package. The module is based on Tynamo's tapestry-security, a stable > > and well-maintained security package based on Apache Shiro for > > Tapestry5 applications. At this point, I'm looking for early user > > feedback for the current implementation and APIs. I've put together a > > simple, live demonstration running at > > http://tynamo-federatedaccounts.tynamo.org/ and documentation is > > available at http://tynamo.org/tynamo-federatedaccounts+guide. > > > > The module was pre-announced earlier on Tynamo users list. Here's what > > Alejandro (the co-founder of Tynamo) had to say about it: > > "On Wed, Jan 26, 2011 at 2:01 AM, Alejandro Scandroli > > wrote: > >> I don't know if we should release this module, It's so easy to use > >> that's not fair for people that suffered the Facebook nightmare. > >> I want people to suffer as I DID!!!. Damn it Kalle!! Excellent work! :) > >> > >> In the next couple of days I would be testing the extension points. I > >> want to try google oauth. > >> > >> Cheers. > >> Alejandro." > > > > Happy hacking, > > Tynamo Team > > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: [ANNOUNCEMENT] upcoming module: tynamo-federatedaccounts
This is a great contribution to Tapestry! Words would only spoil the good moment :-) Bravo! 2011/1/30 Kalle Korhonen > With 600 million users and counting, it's the new Internet. Yes, I'm > talking about Facebook. Whether you love it or hate it, these days you > have to have a Facebook strategy. Every other site is doing Facebook, > Twitter and Google integrations and why not, your fledgling little > website wouldn't need more than 1/1000th of their users to make it a > success. So why is that everybody needs to suffer on their own through > implementing various versions of Oauth & other open authorization > standards? With that suffering in mind, tynamo-federatedaccounts, a > module for supporting remote authentication and merged (federated) > authorization, was born. > > I've been using various versions of more specialized implementations > of the same concept before, but tynamo-federatedaccounts is the first > attempt at generalizing Oauth & similar work flows to an easy-to-use > package. The module is based on Tynamo's tapestry-security, a stable > and well-maintained security package based on Apache Shiro for > Tapestry5 applications. At this point, I'm looking for early user > feedback for the current implementation and APIs. I've put together a > simple, live demonstration running at > http://tynamo-federatedaccounts.tynamo.org/ and documentation is > available at http://tynamo.org/tynamo-federatedaccounts+guide. > > The module was pre-announced earlier on Tynamo users list. Here's what > Alejandro (the co-founder of Tynamo) had to say about it: > "On Wed, Jan 26, 2011 at 2:01 AM, Alejandro Scandroli > wrote: > > I don't know if we should release this module, It's so easy to use > > that's not fair for people that suffered the Facebook nightmare. > > I want people to suffer as I DID!!!. Damn it Kalle!! Excellent work! :) > > > > In the next couple of days I would be testing the extension points. I > > want to try google oauth. > > > > Cheers. > > Alejandro." > > Happy hacking, > Tynamo Team > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: chenillekit-tapestry 1.3.0 Unable to resolve 'chenillekit/TabSet'
Here is something to backup my claims: http://docs.codehaus.org/display/JETTY/Socket+reuse+on+Windows, but seems old. I can repeat this behaviour any time. No complaint about port already taken! I can start webapp A, then webapp B, browse to localhost:8080, it displays the webapp B, then I stop webapp B, hit refresh in the browser and immediately see webapp A. -Borut 2011/1/11 Josh Canfield > I'd be stunned and surprised if your second instance was able to start > on the same port. Try to do this intentionally and you should get a > "port already in use" error on the second instance, is it possible you > didn't notice the error? This isn't a Jetty thing, it's an OS thing, > or more specifically TCP stack thing. > > Josh > > On Tue, Jan 11, 2011 at 6:46 AM, Borut Bolčina > wrote: > > Just not to leave this hanging... > > > > The problem has nothing to do with ChenilleKit nor with Tapestry - it is > > Jetty related. I run the application in the command line (mvn jetty:run) > in > > Friday and forgot about it. Then I ran another instance within Eclipse, > but > > the browser was still responding to the first instance. > > > > Can Jetty (or Jetty maven plugin) be configured not to start if the port > > (8080) is already in use? It is easy to start more than one instance of > web > > app with Jetty on the same port. I am developing on Windows. > > > > -Borut > > > > 2011/1/10 Borut Bolčina > > > >> Hi, > >> > >> just now I tried to use the TabSet component from chenillekit-tapestry > >> 1.3.0 with Tapestry 5.2.4. I am getting this > >> > >> Unable to resolve 'chenillekit/TabSet' to a component class name. > >> > >> When my application starts, it prints the available components and > TabSet > >> is one of them: > >> chenillekit/TabSet: org.chenillekit.tapestry.core.components.TabSet > >> and > >> ck/TabSet: org.chenillekit.tapestry.core.components.TabSet > >> > >> I even looked inside the manifest of the chenillekit-tapestry jar and it > >> seems ok. > >> > >> The error page however does not list the ck components: > >> > >> org.apache.tapestry5.ioc.util.UnknownValueException > >> Unable to resolve 'chenillekit/TabSet' to a component class name. > >> availableValues > >> > >> Component types: > >> > >>- ActionLink > >>- AddRowLink > >>- AjaxFormLoop > >>- Any > >>- BeanDisplay > >>- BeanEditForm > >>- BeanEditor > >>- Checkbox > >>- DateField > >>- Delegate > >>- Error > >>- Errors > >>- EventLink > >>- ExceptionDisplay > >>- Form > >>- FormFragment > >>- FormInjector > >>- Grid > >>- GridCell > >>- GridColumns > >>- GridPager > >>- GridRows > >>- Hidden > >>- If > >>- Label > >>- Layout > >>- LinkSubmit > >>- Loop > >>- Output > >>- OutputRaw > >>- PageLink > >>- Palette > >>- PasswordField > >>- ProgressiveDisplay > >>- PropertyDisplay > >>- PropertyEditor > >>- Radio > >>- RadioGroup > >>- RemoveRowLink > >>- RenderObject > >>- Select > >>- Submit > >>- SubmitNotifier > >>- TextArea > >>- TextField > >>- TextOutput > >>- Trigger > >>- Unless > >>- Zone > >>- cay/EntityField > >>- cay/Select > >>- cay/ToManyViewer > >>- cay/ToOneEditor > >> > >> > >> I am including the component library like: > >> > >> > >> org.chenillekit > >> chenillekit-tapestry > >> 1.3.0 > >> > >> > >> Any ideas? > >> > >> Regards, > >> Borut > >> > > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: chenillekit-tapestry 1.3.0 Unable to resolve 'chenillekit/TabSet'
Just not to leave this hanging... The problem has nothing to do with ChenilleKit nor with Tapestry - it is Jetty related. I run the application in the command line (mvn jetty:run) in Friday and forgot about it. Then I ran another instance within Eclipse, but the browser was still responding to the first instance. Can Jetty (or Jetty maven plugin) be configured not to start if the port (8080) is already in use? It is easy to start more than one instance of web app with Jetty on the same port. I am developing on Windows. -Borut 2011/1/10 Borut Bolčina > Hi, > > just now I tried to use the TabSet component from chenillekit-tapestry > 1.3.0 with Tapestry 5.2.4. I am getting this > > Unable to resolve 'chenillekit/TabSet' to a component class name. > > When my application starts, it prints the available components and TabSet > is one of them: > chenillekit/TabSet: org.chenillekit.tapestry.core.components.TabSet > and > ck/TabSet: org.chenillekit.tapestry.core.components.TabSet > > I even looked inside the manifest of the chenillekit-tapestry jar and it > seems ok. > > The error page however does not list the ck components: > > org.apache.tapestry5.ioc.util.UnknownValueException > Unable to resolve 'chenillekit/TabSet' to a component class name. > availableValues > > Component types: > >- ActionLink >- AddRowLink >- AjaxFormLoop >- Any >- BeanDisplay >- BeanEditForm >- BeanEditor >- Checkbox >- DateField >- Delegate >- Error >- Errors >- EventLink >- ExceptionDisplay >- Form >- FormFragment >- FormInjector >- Grid >- GridCell >- GridColumns >- GridPager >- GridRows >- Hidden >- If >- Label >- Layout >- LinkSubmit >- Loop >- Output >- OutputRaw >- PageLink >- Palette >- PasswordField >- ProgressiveDisplay >- PropertyDisplay >- PropertyEditor >- Radio >- RadioGroup >- RemoveRowLink >- RenderObject >- Select >- Submit >- SubmitNotifier >- TextArea >- TextField >- TextOutput >- Trigger >- Unless >- Zone >- cay/EntityField >- cay/Select >- cay/ToManyViewer >- cay/ToOneEditor > > > I am including the component library like: > > > org.chenillekit > chenillekit-tapestry > 1.3.0 > > > Any ideas? > > Regards, > Borut >
chenillekit-tapestry 1.3.0 Unable to resolve 'chenillekit/TabSet'
Hi, just now I tried to use the TabSet component from chenillekit-tapestry 1.3.0 with Tapestry 5.2.4. I am getting this Unable to resolve 'chenillekit/TabSet' to a component class name. When my application starts, it prints the available components and TabSet is one of them: chenillekit/TabSet: org.chenillekit.tapestry.core.components.TabSet and ck/TabSet: org.chenillekit.tapestry.core.components.TabSet I even looked inside the manifest of the chenillekit-tapestry jar and it seems ok. The error page however does not list the ck components: org.apache.tapestry5.ioc.util.UnknownValueException Unable to resolve 'chenillekit/TabSet' to a component class name. availableValues Component types: - ActionLink - AddRowLink - AjaxFormLoop - Any - BeanDisplay - BeanEditForm - BeanEditor - Checkbox - DateField - Delegate - Error - Errors - EventLink - ExceptionDisplay - Form - FormFragment - FormInjector - Grid - GridCell - GridColumns - GridPager - GridRows - Hidden - If - Label - Layout - LinkSubmit - Loop - Output - OutputRaw - PageLink - Palette - PasswordField - ProgressiveDisplay - PropertyDisplay - PropertyEditor - Radio - RadioGroup - RemoveRowLink - RenderObject - Select - Submit - SubmitNotifier - TextArea - TextField - TextOutput - Trigger - Unless - Zone - cay/EntityField - cay/Select - cay/ToManyViewer - cay/ToOneEditor I am including the component library like: org.chenillekit chenillekit-tapestry 1.3.0 Any ideas? Regards, Borut
Re: [T5] Complexity for simple things, where is the documentation?
Thanks! 2011/1/8 Taha Hafeez > Hi Borut.. > > With pleasure. > > var PeriodicAjaxUpdater = Class.create({ > initialize:function(params){ > this.element = $(params.element); > this.url = params.url; > this.period = params.period; > $T(this.element).zoneId = params.zone; > var self = this; > new PeriodicalExecuter(function(){ > self.updateZone(); > }, this.period); > }, > > updateZone:function(){ > var zoneManager = Tapestry.findZoneManager(this.element); > if(!zoneManager){ > return; > } > > zoneManager.updateFromURL(this.url); > } > }); > > Had to search it using 'find' command on my laptop ... Seriously need to > update my work at http://code.google.com/p/tapestry-addons > > regards > Taha > > > On Sat, Jan 8, 2011 at 12:41 PM, Borut Bolčina >wrote: > > > Taha, > > > > can you please post the PeriodicAjaxUpdater.js also? > > > > Cheers, > > Borut > > > > 2010/10/17 Taha Hafeez > > > > > May be this helps! > > > > > > // > > > // Mixin > > > // > > > package tapestrydemo.mixins; > > > > > > import org.apache.tapestry5.ComponentResources; > > > import org.apache.tapestry5.BindingConstants; > > > import org.apache.tapestry5.services.javascript.JavaScriptSupport; > > > import org.apache.tapestry5.ClientElement; > > > import org.apache.tapestry5.annotations.Import; > > > import org.apache.tapestry5.annotations.Environmental; > > > import org.apache.tapestry5.annotations.InjectContainer; > > > import org.apache.tapestry5.annotations.Parameter; > > > import org.apache.tapestry5.ioc.annotations.Inject; > > > import org.apache.tapestry5.json.JSONObject; > > > > > > @Import(library="PeriodicAjaxUpdater.js") > > > public class PeriodicAjaxUpdater { > > > @Inject > > > private ComponentResources _componentResources; > > > > > > @Environmental > > > private JavaScriptSupport _javaScriptSupport; > > > > > > @Parameter(required=true, defaultPrefix=BindingConstants.LITERAL) > > > private String _event; > > > > > > @Parameter > > > private Object[] _context; > > > > > > @Parameter(defaultPrefix=BindingConstants.LITERAL, required=true) > > > private String _zone; > > > > > > @Parameter(defaultPrefix=BindingConstants.LITERAL, required=true) > > > private int _period; > > > > > > @InjectContainer > > > private ClientElement _container; > > > > > > void afterRender(){ > > > String url = _componentResources.createEventLink(_event, > > > _context).toAbsoluteURI(); > > > JSONObject params = new JSONObject(); > > > params.put("url", url); > > > params.put("element", _container.getClientId()); > > > params.put("zone", _zone); > > > params.put("period", _period); > > > _javaScriptSupport.addScript("new PeriodicAjaxUpdater(%s);", > > > params.toString()); > > > } > > > } > > > > > > //A simple page > > > > > t:event='refresh' t:id='timeZone'>${today} > > > > > > //Page java > > > public class Index { > > > @Component(id="timeZone") > > > private Zone _zone; > > > > > > public java.util.Date getToday(){ > > > return new java.util.Date(); > > > } > > > > > > Object onRefresh(){ > > > return _zone.getBody(); > > > } > > > } > > > > > > regards > > > Taha > > > > > > > > > > > > On Sun, Oct 17, 2010 at 3:09 AM, Thiago H. de Paula Figueiredo < > > > thiag...@gmail.com> wrote: > > > > > > > On Sat, 16 Oct 2010 18:30:15 -0300, iberck wrote: > > > > > > > > In this example, > > > >> what happend if I want to learn mixins for create my own, where is > the > > > >> official documentation? > > > >> > > > > > > > > http://tapestry.apache.org/tapestry5.2-dev/guide/mixins.html. I just > > > went > > > > to the T5.2 front page and searched for "mixin". > > > > > > > > > > > > Must I necessarily download and understand the source code of > > > >> Autocompletemixin for learn? > > > >> > > > > > > > > No, but it's a good thing to do. :) > > > > > > > > > > > > I think not all users are used to download the source code of the > > > >> frameworks for learning > > > >> > > > > > > > > I agree, but you can learn a lot from reading source code. ;) > > > > > > > > -- > > > > Thiago H. de Paula Figueiredo > > > > Independent Java, Apache Tapestry 5 and Hibernate consultant, > > developer, > > > > and instructor > > > > Owner, Ars Machina Tecnologia da Informação Ltda. > > > > http://www.arsmachina.com.br > > > > > > > > > > > > - > > > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > > > > > > > > > > >
Re: [T5] Complexity for simple things, where is the documentation?
Taha, can you please post the PeriodicAjaxUpdater.js also? Cheers, Borut 2010/10/17 Taha Hafeez > May be this helps! > > // > // Mixin > // > package tapestrydemo.mixins; > > import org.apache.tapestry5.ComponentResources; > import org.apache.tapestry5.BindingConstants; > import org.apache.tapestry5.services.javascript.JavaScriptSupport; > import org.apache.tapestry5.ClientElement; > import org.apache.tapestry5.annotations.Import; > import org.apache.tapestry5.annotations.Environmental; > import org.apache.tapestry5.annotations.InjectContainer; > import org.apache.tapestry5.annotations.Parameter; > import org.apache.tapestry5.ioc.annotations.Inject; > import org.apache.tapestry5.json.JSONObject; > > @Import(library="PeriodicAjaxUpdater.js") > public class PeriodicAjaxUpdater { > @Inject > private ComponentResources _componentResources; > > @Environmental > private JavaScriptSupport _javaScriptSupport; > > @Parameter(required=true, defaultPrefix=BindingConstants.LITERAL) > private String _event; > > @Parameter > private Object[] _context; > > @Parameter(defaultPrefix=BindingConstants.LITERAL, required=true) > private String _zone; > > @Parameter(defaultPrefix=BindingConstants.LITERAL, required=true) > private int _period; > > @InjectContainer > private ClientElement _container; > > void afterRender(){ > String url = _componentResources.createEventLink(_event, > _context).toAbsoluteURI(); > JSONObject params = new JSONObject(); > params.put("url", url); > params.put("element", _container.getClientId()); > params.put("zone", _zone); > params.put("period", _period); > _javaScriptSupport.addScript("new PeriodicAjaxUpdater(%s);", > params.toString()); > } > } > > //A simple page > t:event='refresh' t:id='timeZone'>${today} > > //Page java > public class Index { > @Component(id="timeZone") > private Zone _zone; > > public java.util.Date getToday(){ > return new java.util.Date(); > } > > Object onRefresh(){ > return _zone.getBody(); > } > } > > regards > Taha > > > > On Sun, Oct 17, 2010 at 3:09 AM, Thiago H. de Paula Figueiredo < > thiag...@gmail.com> wrote: > > > On Sat, 16 Oct 2010 18:30:15 -0300, iberck wrote: > > > > In this example, > >> what happend if I want to learn mixins for create my own, where is the > >> official documentation? > >> > > > > http://tapestry.apache.org/tapestry5.2-dev/guide/mixins.html. I just > went > > to the T5.2 front page and searched for "mixin". > > > > > > Must I necessarily download and understand the source code of > >> Autocompletemixin for learn? > >> > > > > No, but it's a good thing to do. :) > > > > > > I think not all users are used to download the source code of the > >> frameworks for learning > >> > > > > I agree, but you can learn a lot from reading source code. ;) > > > > -- > > Thiago H. de Paula Figueiredo > > Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, > > and instructor > > Owner, Ars Machina Tecnologia da Informação Ltda. > > http://www.arsmachina.com.br > > > > > > - > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > >
Re: [ANNOUNCE] Tapestry Service Cache
Great, this deserves a test drive! 2011/1/4 Ciaran Wood > Hi All, > > I'm pleased to announce the release of my first Tapestry project: > tapestry-service-cache. It's an annotations based caching library that makes > it really easy to cache your Services without any boilerplate code! Here's a > simple example: > > public class CachedService implements Service { > > @CacheResult > public String expensiveOperation() { >//some expensive operation here > } > > @CacheResult > public String expensiveOperation(@CacheKey Integer key) { >//This uses the key parameter as a discriminator in the cache key, so >//invocations with different parameters are cached under different keys. > } > } > > Even better, I've created versions for both Tapestry 5.1 and the latest > release, 5.2. The dependency is available in the central maven repository, > just add the following to your pom.xml and you're ready to go: > > >com.ciaranwood >tapestry-service-cache >2.0.1 > > > (If you are using Tapestry 5.1, use version 1.0 of the library). > > Sources and documentation are available at the project's github page: > http://github.com/ciaranw/tapestry-service-cache > > Cheers > Ciaran Wood > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: t5: using Tapestry with Memcached
Yes, we have used memcached, but it has nothing to do with T5. Are you asking for memcached performance? -borut 2010/12/23 Angelo C. > > Hi, > > Anybody tried T5 with Memcached? has good performance? any wiki on this? > Thanks, > > Angelo > -- > View this message in context: > http://tapestry.1045711.n5.nabble.com/t5-using-Tapestry-with-Memcached-tp3315939p3315939.html > Sent from the Tapestry - User mailing list archive at Nabble.com. > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Can I disable template proessing for a section of my TML file ?
Hi, might be unrelated, but add the following DOCTYPE at the very top of your TML: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";> -Borut 2010/12/22 Gunnar Eketrapp > Hi! > > I am in the process of adding some jquery-ui controls. > > For testing purposes I added a javascript section in my TML file but I then > got errors like ... > > Failure parsing template classpath:utskicket/pages/group/SelectMembers.tml: > The entity name must immediately follow the '&' in the entity reference > > 43 }44 45 jQuery( "#tags" )46 // don't navigate away from the field on tab > when selecting an item47 .bind( "keydown", function( event ) {48 if ( > event.keyCode === $.ui.keyCode.TAB &&49 $( this ).data( "autocomplete" > ).menu.active ) {50 event.preventDefault();51 }52 })53 .autocomplete({ > > > So my question is can I insert a bigger chunk of javascript and tell T5 not > to parse it !? > > Or do I have to move it to a separate .js file !? > > Btw T5 rocks! > > Thanks in Advance, > Gunnar Eketrapp >
Re: [Tapestry Central] Announcing Tapestry 5.2
Congratulations! We were just discusing here at work to rewrite our main web application from JSP to T5. I wanted to send some useful links to my coworkers for them to start reading about T5. I stumbled upon http://tapestry.apache.org/introduction.html which needs to be updated - the text must be very old as it covers 5.1 release. I filed https://issues.apache.org/jira/browse/TAP5-1376. And now lets's try the new version, I hope ChenilleKit will upgrade deps from 5.2.2 to 5.2.4 soon :-) Cheers, Borut 2010/12/16 Howard > I'm very proud to announce that the next major release of Tapestry, > release 5.2, is now available as Tapestry version 5.2.4. > This is the first stable release of Tapestry since 5.1.0.5 (back in > April 2009), which is far too long a cycle. You might wonder: what's > been the holdup? The answer, for myself personally, is that I've been > using Tapestry on two very, very different applications for two very, > very different clients and I've been updating Tapestry to embrace the > real world concerns of both of them. At the same time, I've done about > a dozen public and private Tapestry training sessions and gathered > reams of input from my students. > Let's talk about some of the major enhancements in this release: > Removal of Page Pooling > Prior versions of Tapestry used a page pool; for each page, Tapestry > would track multiple instances of the page, binding one page instance > to a particular request. This was an important part of Tapestry's > appeal ... all the issues related to multi-threading were taken over by > the framework, and you could code your pages and components as simple > POJOs, without worrying about the threading issues caused by running > inside a servlet container. > Unfortunately pages are big: it's not just one object but instead the > root of a large tree of objects: components and templates, bindings for > component parameters, component resources, and all the extra > infrastructure (lists and maps and such) to tie it together. Some of > the largest Tapestry projects have hit memory problems when they > combined deeply componentized pages with large numbers of parallel > threads. > Tapestry 5.2 rewrites the rules here; only a single page tree is now > needed for each page; the page and component classes have an extra > transformation step that moves per-request data out of the objects > themselves and into a per-thread Map object. Now, any number of > requests can operate at the same time, without requiring additional > page instances. Even better, the old page pooling mechanism included > some locking and blocking that also gets jettisoned in the new > approach. It's just a big win all around. Live Service Reloading > People love the ability to change page and component classes in a > Tapestry application and see the changes immediately; prior to 5.2 the > same people would be disappointed that they couldn't change their > services and see changes just as immediately. Tapestry 5.2 eliminates > that restriction in most cases. > This is super handy for services such as DAOs (data access objects) > where it is now possible to tweak a Hibernate query and see the results > as immediately as changing some content in a template. This is another > Tapestry feature that you'll find you can't live without once you use > it the first time! ClassTransformation API Improvements > At the heart of Tapestry is the Class Transformation API; the > extensible pipeline that is the basis for how Tapestry transforms > simple POJOs into working components. Prior to 5.2, if you wanted to do > any interesting transformations, you had to master the Javassist > psuedo-Java language. > Tapestry 5.2 reworks the API; it is now possible to do all kinds of > interesting transformations in strict Java code; Javassist has been > walled off, with an eventual goal to eliminate it entirely. Query > Parameter Support > Tapestry traditionally has stored information in the HTTP request path. > For example, a URL might be /viewaccount/12345; the viewaccount part of > the URL is the name of a page, and the 12345 part is the ID of an > Account object. Tapestry calls the latter part the page activation > context (which can contain one or more values). > That works well when the a page has a fixed set of values for the page > activation context, but not so well when the values may vary. For > instance, you may be doing a search and want to store optional query > parameters to identify the query term or the page number. > Tapestry 5.2 adds the @ActivationRequestParameter annotation that > automates the process of gathering such data, encoding into URLs as > query parameters, and making it available in subsequent requests. > Testing > A lot of work has gone into Tapestry's testing support, especially the > base classes that support integration testing using Selenium. The new > base classes make it easy to write test cases that work independently, > or as part of a larger test, automatically starti
Getting ChenilleKit ConfigurationService from the Registry in my UnitTest
Hello, I have a TestNG method @BeforeClass public void startRegistry() { registry = RegistryBuilder.buildAndStartupRegistry(TestModule.class); hub = registry.getService(RegistryShutdownHub.class); ConfigurationService configurationService = registry.getService(ConfigurationService.class); Resource configResource = new ClasspathResource("my.properties"); configuration = configurationService.getConfiguration(configResource); } The TestModule is almost empty: public class TestModule { public static void bind(ServiceBinder binder) { binder.bind(WorkQueue.class); } } It just contains one of MY services for some other test. What do I have to do, to get the ConfigurationService out of the Registry? Now I am getting java.lang.RuntimeException: No service implements the interface org.chenillekit.core.services.ConfigurationService. when the test runs. Regards, Borut
Re: Tapestry Web Site Updated
Wow, I didn't know we could make our own stackoverflow! Just read the http://area51.stackexchange.com/faq But yes, this would make a lot of effort, so it is just a nice dream. -Borut 2010/11/25 Paul Stanton > Andreas, > > Agreed 100%. > > http://stackoverflow.com/questions/tagged/tapestry > or as a feed: > http://stackoverflow.com/feeds/tag/tapestry > > Maybe the tapestry site can leverage stackoverflow as it's recommended > question/answer forum? > > To work however, this would require some of the people here to take > interest. > > p. > > > On 25/11/2010 11:41 AM, Andreas Andreou wrote: > >> You're probably right on the reasons, but the thing is that it's a pain >> having >> to monitor multiple sources of user feedback - there's just never enought >> free >> time to do so. >> >> And there's also a few big risks: >> 1) Making the community appear to be unresponsive >> 2) Frustrating users who never get their questions answered >> 3) Spreading the info to multiple places is hard to update >> and easy to get obsolete >> >> So, anyway, Tapestry has the mailing list, its website/documentation and >> there's >> always StackOverflow. Perhaps it makes sense to define a strategy on how >> to take >> advantage of that last one though >> >> On Thu, Nov 25, 2010 at 01:36, Paul Stanton wrote: >> >>> it did. it's still there but doesn't have the community. >>> >>> the reason it dies was twofold: >>> >>> 1. it was very spam prone: the way it was set up did not do enough to >>> limit/kill spammers >>> 2. it did not get the tapestry community support - it was not even >>> acknowledged by the tapestry site >>> >>> that's not to say a forum wouldn't work if setup and supported by the >>> core >>> tapestry community. >>> >>> p. >>> >>> On 25/11/2010 8:18 AM, Robert Zeigler wrote: >>> Tapestry had a forum for awhile. I think it died. Robert On Nov 24, 2010, at 11/244:46 AM , Paul Stanton wrote: i know most of you guys, who have been using ml for so long probably > prefer ml, that's not the point! > > i guarantee there's a number of users who don't want to configure their > inbox for ml and give up. > > just a thought, if no one can see the benefit i guess it isn't going to > happen! > > i use stackoverflow a lot and attempt to answer or contribute to most > tapestry questions. > > p. > > On 24/11/2010 8:35 PM, Ivano Luberti wrote: > >> I prefer ml to forums and in nay case ML web archives allow to search >> them. >> I cannot see any other advantage of a forum over a ml. >> >> Il 24/11/2010 4.56, Paul Stanton ha scritto: >> >>> how about adding a forum? >>> >>> personally i prefer forums to mailing lists, and i believe a lot of >>> people don't participate in this 'user-group' community and therefore >>> don't get help and therefore don't like tapestry... >>> >>> if you want to attract more users i recommend this. >>> >>> p. >>> >>> On 20/11/2010 8:15 AM, Howard Lewis Ship wrote: >>> We're still working out the kinks ... and I've been working hard on revising the tutorial ... but at long last, we're debuting the new Tapestry Web Site: http://tapestry.apache.org/ Feedback is encouraged; just post to users@tapestry.apache.org with [SITE] in the subject. - >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>> For additional commands, e-mail: users-h...@tapestry.apache.org >>> >>> >>> - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>> For additional commands, e-mail: users-h...@tapestry.apache.org >>> >>> >>> >> >> > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Tapestry Web Site Updated
If you register on the user mailing list with your google mail account and create a filter on the mailbox, then you have the ultimate power of sorting threads and searching the knowledge. It can not get better. When I see a forum which has a search link which takes you to another page where you are presented with unfamiliar and often user unfriendly web form and later with a result page which also often does not meet minimum quality requirements, then I see a forum like software as an outdated form of communication and collaboration. Stackoverflow is an ideal service for questions and answers, whereas mailing list often serves also as a discussion and propositions media. -Borut 2010/11/25 Paul Stanton > "I don't see why those questions can't be asked and answered on the mailing > lists. " > > you are missing the point. they probably haven't been asked on the ml > because the user doesn't want to register/subscribe/manage the ml. some > people have a general aversion to ml's. > > p. > > > On 25/11/2010 7:07 PM, Ulrich Stärk wrote: > >> I don't see why those questions can't be asked and answered on the mailing >> lists. >> >> If you want to ask or answer questions on stackoverflow, do it. If you >> want to create a forum that's fine too. But the only *official* help source >> will be the mailing lists. Everything else will just partition the >> community. >> >> Uli >> >> On 25.11.2010 02:12, Paul Stanton wrote: >> >>> Andreas, >>> >>> Agreed 100%. >>> >>> http://stackoverflow.com/questions/tagged/tapestry >>> or as a feed: >>> http://stackoverflow.com/feeds/tag/tapestry >>> >>> Maybe the tapestry site can leverage stackoverflow as it's recommended >>> question/answer forum? >>> >>> To work however, this would require some of the people here to take >>> interest. >>> >>> p. >>> >>> On 25/11/2010 11:41 AM, Andreas Andreou wrote: >>> You're probably right on the reasons, but the thing is that it's a pain having to monitor multiple sources of user feedback - there's just never enought free time to do so. And there's also a few big risks: 1) Making the community appear to be unresponsive 2) Frustrating users who never get their questions answered 3) Spreading the info to multiple places is hard to update and easy to get obsolete So, anyway, Tapestry has the mailing list, its website/documentation and there's always StackOverflow. Perhaps it makes sense to define a strategy on how to take advantage of that last one though On Thu, Nov 25, 2010 at 01:36, Paul Stanton wrote: > it did. it's still there but doesn't have the community. > > the reason it dies was twofold: > > 1. it was very spam prone: the way it was set up did not do enough to > limit/kill spammers > 2. it did not get the tapestry community support - it was not even > acknowledged by the tapestry site > > that's not to say a forum wouldn't work if setup and supported by the > core > tapestry community. > > p. > > On 25/11/2010 8:18 AM, Robert Zeigler wrote: > >> Tapestry had a forum for awhile. I think it died. >> >> Robert >> >> On Nov 24, 2010, at 11/244:46 AM , Paul Stanton wrote: >> >> i know most of you guys, who have been using ml for so long probably >>> prefer ml, that's not the point! >>> >>> i guarantee there's a number of users who don't want to configure >>> their >>> inbox for ml and give up. >>> >>> just a thought, if no one can see the benefit i guess it isn't going >>> to >>> happen! >>> >>> i use stackoverflow a lot and attempt to answer or contribute to most >>> tapestry questions. >>> >>> p. >>> >>> On 24/11/2010 8:35 PM, Ivano Luberti wrote: >>> I prefer ml to forums and in nay case ML web archives allow to search them. I cannot see any other advantage of a forum over a ml. Il 24/11/2010 4.56, Paul Stanton ha scritto: > how about adding a forum? > > personally i prefer forums to mailing lists, and i believe a lot of > people don't participate in this 'user-group' community and > therefore > don't get help and therefore don't like tapestry... > > if you want to attract more users i recommend this. > > p. > > On 20/11/2010 8:15 AM, Howard Lewis Ship wrote: > >> We're still working out the kinks ... and I've been working hard >> on >> revising >> the tutorial ... but at long last, we're debuting the new Tapestry >> Web Site: >> >> http://tapestry.apache.org/ >> >> Feedback is encouraged; just post to us...@tapestry.apache.orgwith >> [SITE] >> in the subject. >> >> -
Re: Tapestry Web Site Updated
I would, but there is no link to JIRA, at least I can no longer find it. -Borut 2010/11/23 Christophe Cordenier > Hi > > Once again all your comments are valuable, but a mailing list is too poor > to > keep track of those, please signup to add comments where needed and/or use > JIRA with documentation task. > > 2010/11/23 Borut Bolčina > > > Hello, > > > > first congratulations on a new site! > > > > Today I needed some information about how to test my services, so I > visited > > the new site and started browsing. Couldn't find the answer. Can someone > > give me some pointers here? > > > > First I looked in the FAQ and serached for "test" withing the page with > my > > browser. Found 2 irrelavant hits, so I went on to the User guide. There > is > > a > > section Test, but covers only testing of pages. > > > > Inspecting further to Tapestry IOC and eyeballing for something useful I > > discovered a lin to registry startup, which briefly mentions what would > one > > want to use it: > > > > "However, you may want to do some integration testing using the Registry > > from within a test case," > > > > I know there are projects out there, so you can inspect the source code > to > > get an example of how to test the services, but I feel it should be > better > > explained right on the offical page - at least in the FAQ section. It is > > very hard to embrace testing to start with, so some guidance is much > > appreciated. > > > > And the red background links must go away. > > > > The download section should include maven instruction, at least the > > dependency section of the pom should be listed. > > > > There should be more room at the bottom between the last paragraph and > the > > footer. The header on most pages is very "white", the bottom has no space > > at > > all. Give it some air. > > > > Why is there a Book section in the Documentation with only one link to > more > > books? It look like an error. At least last two books (their images and > > caption) should be there. > > > > I like the ComponentCheetSheet! A sentance or two more on each annotation > > would be great. > > > > The tutorial Setting up your environment should be improved. Alternatives > > should be described on how to run T5 apps in the Eclipse or other IDEs, > but > > not in the text as that would make it too long. I think there should be > > links for alternative setups - like how to run the T5 app from a main > class > > and even start VisualVM for early debugging and optimizing (each > > alternative > > has pros and cons). There is no mention of m2eclipse plugin. Of course > one > > can use JDK 6 also - only 1.5 is there. There is a sentence: "You should > > not > > have to download this directly". Why are then download links on the > > download > > page and no mention of maven at the same time. It is confusing for newbs. > > > > The should also be a more visible link to T5 wiki somewhere. > > > > I hope I wasn't too harsh, just wanna put my perspective. > > > > -Borut > > > > > > 2010/11/19 Howard Lewis Ship > > > > > We're still working out the kinks ... and I've been working hard on > > > revising > > > the tutorial ... but at long last, we're debuting the new Tapestry Web > > > Site: > > > > > > http://tapestry.apache.org/ > > > > > > Feedback is encouraged; just post to users@tapestry.apache.org with > > [SITE] > > > in the subject. > > > > > > -- > > > Howard M. Lewis Ship > > > > > > Creator of Apache Tapestry > > > > > > The source for Tapestry training, mentoring and support. Contact me to > > > learn > > > how I can get you up and productive in Tapestry fast! > > > > > > (971) 678-5210 > > > http://howardlewisship.com > > > > > > > > > -- > Regards, > Christophe Cordenier. > > Committer on Apache Tapestry 5 > Co-creator of wooki @wookicentral.com >
Re: Tapestry Web Site Updated
Hello, first congratulations on a new site! Today I needed some information about how to test my services, so I visited the new site and started browsing. Couldn't find the answer. Can someone give me some pointers here? First I looked in the FAQ and serached for "test" withing the page with my browser. Found 2 irrelavant hits, so I went on to the User guide. There is a section Test, but covers only testing of pages. Inspecting further to Tapestry IOC and eyeballing for something useful I discovered a lin to registry startup, which briefly mentions what would one want to use it: "However, you may want to do some integration testing using the Registry from within a test case," I know there are projects out there, so you can inspect the source code to get an example of how to test the services, but I feel it should be better explained right on the offical page - at least in the FAQ section. It is very hard to embrace testing to start with, so some guidance is much appreciated. And the red background links must go away. The download section should include maven instruction, at least the dependency section of the pom should be listed. There should be more room at the bottom between the last paragraph and the footer. The header on most pages is very "white", the bottom has no space at all. Give it some air. Why is there a Book section in the Documentation with only one link to more books? It look like an error. At least last two books (their images and caption) should be there. I like the ComponentCheetSheet! A sentance or two more on each annotation would be great. The tutorial Setting up your environment should be improved. Alternatives should be described on how to run T5 apps in the Eclipse or other IDEs, but not in the text as that would make it too long. I think there should be links for alternative setups - like how to run the T5 app from a main class and even start VisualVM for early debugging and optimizing (each alternative has pros and cons). There is no mention of m2eclipse plugin. Of course one can use JDK 6 also - only 1.5 is there. There is a sentence: "You should not have to download this directly". Why are then download links on the download page and no mention of maven at the same time. It is confusing for newbs. The should also be a more visible link to T5 wiki somewhere. I hope I wasn't too harsh, just wanna put my perspective. -Borut 2010/11/19 Howard Lewis Ship > We're still working out the kinks ... and I've been working hard on > revising > the tutorial ... but at long last, we're debuting the new Tapestry Web > Site: > > http://tapestry.apache.org/ > > Feedback is encouraged; just post to users@tapestry.apache.org with [SITE] > in the subject. > > -- > Howard M. Lewis Ship > > Creator of Apache Tapestry > > The source for Tapestry training, mentoring and support. Contact me to > learn > how I can get you up and productive in Tapestry fast! > > (971) 678-5210 > http://howardlewisship.com >
Re: [ANNOUNCEMENT] tapestry-security 0.2.1 and 0.3.0 released!
This is a very good day! Congrats! 2010/11/22 Kalle Korhonen > Ta daa! This time we are announcing a dual release of > tapestry-security, versions 0.2.1 for T5.1.x and 0.3.0 for T5.2.x! > Probably not much of a surprise anymore as I've hinted at numerous > occasions about the new releases but announcing still has its place > since major dependencies changed. Most importantly, these versions > pull in and integrate with Apache Shiro 1.1.0, the first Shiro release > as a top level Apache project. I'm also happy to report that some of > Tynamo-born annotations made their way to Shiro core so > tapestry-security doesn't need to supplement Shiro annotations with > our own extensions anymore. If you were using previous > tapestry-security releases, you are advised to upgrade immediately as > there were some security vulnerabilities in Shiro 1.0.0-incubating > (which don't directly affect tapestry-security but you should still > upgrade). > > Tapestry-security 0.3.0 uses the brand new T5.2.4, the best Tapestry > release yet. 0.2.1 and 0.3.0 are functionally equivalent, the only > difference is that 0.3.0 moved onto newer APIs (thanks Massimo) and we > started using some T5.2 features in the tests ourselves. Testament to > the backwards compatibility of Tapestry 5.x, tapestry-security 0.2.1 > will work for T5.2 just the same but it pulls in T5.1.0.5 and is > tested against that version. Both versions will be maintained going > forward but 0.3.x will start using more of T5.2 features in the > future. Read more at http://tynamo.org/tapestry-security+guide. > Release notes (from > > http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=12041&version=16804 > ) > are for both versions except for TYNAMO-66: > > Bug >* [TYNAMO-56] - tapestry-security sources missing from central repo > > Improvement >* [TYNAMO-61] - tynamo-security: bypass security check during > application start >* [TYNAMO-66] - Update tapestry-security to use T5.2.x APIs >* [TYNAMO-55] - Rewrite ShiroExceptionHandler for T5.2 > > Task >* [TYNAMO-62] - Update tapestry-security to use Shiro 1.1.0 APIs > > > Enjoy, > Tynamo Team > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: chenillekit-quartz 1.3.0 Service 'QuartzSchedulerManager'
Odd. Can't explain why the error was about QuartzSchedulerManager. The changed contribution public void contributeSchedulerFactory(OrderedConfiguration configuration) { Resource configResource = new ClasspathResource("quartz.properties"); configuration.add("configuration", configResource.toURL()); } works and the contribution to public static void contributeQuartzSchedulerManager(OKxAdImporter oKxAdImporter, ConfigurationService configurationService, OrderedConfiguration configuration) { configuration.add("oKxAdImporter", new OKxAdImporterBundle(oKxAdImporter, configurationService)); } stays the same. So, problem solved. -Borut 2010/11/18 Borut Bolčina > Hi, > > I am using Tapestry 5.2.2 with chenillekit-quartz 1.3.0 > > With this (per documentation) > > public static void > contributeSchedulerFactory(MappedConfiguration > configuration) { > Resource configResource = new > ClasspathResource("quartz.properties"); > configuration.add("quartz.properties", configResource); > } > > public static void contributeQuartzSchedulerManager(OKxAdImporter > oKxAdImporter, ConfigurationService configurationService, > OrderedConfiguration configuration) { > configuration.add("oKxAdImporter", new > OKxAdImporterBundle(oKxAdImporter, configurationService)); > } > > I get > > [2010/11/18 12:02:39.556] ERROR [ioc.Registry:log]: Service > 'QuartzSchedulerManager' is configured using > org.apache.tapestry5.ioc.OrderedConfiguration, not > org.apache.tapestry5.ioc.MappedConfiguration. > [2010/11/18 12:02:39.556] ERROR [ioc.Registry:log]: Operations trace: > [2010/11/18 12:02:39.556] ERROR [ioc.Registry:log]: [ 1] Realizing service > QuartzSchedulerManager > [2010/11/18 12:02:39.557] ERROR [ioc.Registry:log]: [ 2] Invoking > org.chenillekit.quartz.ChenilleKitQuartzModule.buildQuartzSchedulerManager(Logger, > SchedulerFactory, List) (at ChenilleKitQuartzModule.java:119) > [2010/11/18 12:02:39.557] ERROR [ioc.Registry:log]: [ 3] Determining > injection value for parameter #3 (java.util.List) > [2010/11/18 12:02:39.557] ERROR [ioc.Registry:log]: [ 4] Collecting ordered > configuration for service QuartzSchedulerManager > [2010/11/18 12:02:39.558] ERROR [ioc.Registry:log]: [ 5] Invoking method > si.planet9.maps.services.AppModule.contributeQuartzSchedulerManager(OKxAdImporter, > ConfigurationService, MappedConfiguration) (at AppModule.java:47). > [2010/11/18 12:02:39.558] ERROR [ioc.Registry:log]: [ 6] Determining > injection value for parameter #3 > (org.apache.tapestry5.ioc.MappedConfiguration) > [2010/11/18 12:02:39.560] ERROR > [ChenilleKitQuartzModule.QuartzSchedulerManager:createObject]: Construction > of service QuartzSchedulerManager failed: Error invoking service builder > method > org.chenillekit.quartz.ChenilleKitQuartzModule.buildQuartzSchedulerManager(Logger, > SchedulerFactory, List) (at ChenilleKitQuartzModule.java:119) (for service > 'QuartzSchedulerManager'): Error invoking service contribution method > si.planet9.maps.services.AppModule.contributeQuartzSchedulerManager(OKxAdImporter, > ConfigurationService, MappedConfiguration): Service 'QuartzSchedulerManager' > is configured using org.apache.tapestry5.ioc.OrderedConfiguration, not > org.apache.tapestry5.ioc.MappedConfiguration. > java.lang.RuntimeException: Error invoking service builder method > org.chenillekit.quartz.ChenilleKitQuartzModule.buildQuartzSchedulerManager(Logger, > SchedulerFactory, List) (at ChenilleKitQuartzModule.java:119) (for service > 'QuartzSchedulerManager'): Error invoking service contribution method > si.planet9.maps.services.AppModule.contributeQuartzSchedulerManager(OKxAdImporter, > ConfigurationService, MappedConfiguration): Service 'QuartzSchedulerManager' > is configured using org.apache.tapestry5.ioc.OrderedConfiguration, not > org.apache.tapestry5.ioc.MappedConfiguration. > at > org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:76) > > > > The above contribution used to work with chenillekit-quartz 1.0.0. > > Any hint appreciated, > Borut >
Re: chenillekit-quartz 1.3.0 Service 'QuartzSchedulerManager'
But the error is not with contributeSchedulerFactory. 2010/11/18 Sven Homburg > try this > >/** > * configuring the quartz scheduler. > * > * @param configuration configuration map > */ >public void contributeSchedulerFactory(OrderedConfiguration > configuration) >{ >String fileName = applConfigDir + "/quartz.properties"; >File file = new File(fileName); >if (!file.canRead()) >throw new RuntimeException(String.format("can't read > file '%s'", > file.toURI())); > >try >{ >configuration.add("configuration", > file.toURI().toURL()); >} >catch (MalformedURLException e) >{ >throw new RuntimeException(e); >} >} > > > with regards > Sven Homburg > Founder of the Chenille Kit Project > http://chenillekit.codehaus.org > > > > > > 2010/11/18 Borut Bolčina : > > Hi, > > > > I am using Tapestry 5.2.2 with chenillekit-quartz 1.3.0 > > > > With this (per documentation) > > > >public static void > > contributeSchedulerFactory(MappedConfiguration > > configuration) { > >Resource configResource = new > > ClasspathResource("quartz.properties"); > >configuration.add("quartz.properties", configResource); > >} > > > >public static void contributeQuartzSchedulerManager(OKxAdImporter > > oKxAdImporter, ConfigurationService configurationService, > >OrderedConfiguration configuration) { > >configuration.add("oKxAdImporter", new > > OKxAdImporterBundle(oKxAdImporter, configurationService)); > >} > > > > I get > > > > [2010/11/18 12:02:39.556] ERROR [ioc.Registry:log]: Service > > 'QuartzSchedulerManager' is configured using > > org.apache.tapestry5.ioc.OrderedConfiguration, not > > org.apache.tapestry5.ioc.MappedConfiguration. > > [2010/11/18 12:02:39.556] ERROR [ioc.Registry:log]: Operations trace: > > [2010/11/18 12:02:39.556] ERROR [ioc.Registry:log]: [ 1] Realizing > service > > QuartzSchedulerManager > > [2010/11/18 12:02:39.557] ERROR [ioc.Registry:log]: [ 2] Invoking > > > org.chenillekit.quartz.ChenilleKitQuartzModule.buildQuartzSchedulerManager(Logger, > > SchedulerFactory, List) (at ChenilleKitQuartzModule.java:119) > > [2010/11/18 12:02:39.557] ERROR [ioc.Registry:log]: [ 3] Determining > > injection value for parameter #3 (java.util.List) > > [2010/11/18 12:02:39.557] ERROR [ioc.Registry:log]: [ 4] Collecting > ordered > > configuration for service QuartzSchedulerManager > > [2010/11/18 12:02:39.558] ERROR [ioc.Registry:log]: [ 5] Invoking method > > > si.planet9.maps.services.AppModule.contributeQuartzSchedulerManager(OKxAdImporter, > > ConfigurationService, MappedConfiguration) (at AppModule.java:47). > > [2010/11/18 12:02:39.558] ERROR [ioc.Registry:log]: [ 6] Determining > > injection value for parameter #3 > > (org.apache.tapestry5.ioc.MappedConfiguration) > > [2010/11/18 12:02:39.560] ERROR > > [ChenilleKitQuartzModule.QuartzSchedulerManager:createObject]: > Construction > > of service QuartzSchedulerManager failed: Error invoking service builder > > method > > > org.chenillekit.quartz.ChenilleKitQuartzModule.buildQuartzSchedulerManager(Logger, > > SchedulerFactory, List) (at ChenilleKitQuartzModule.java:119) (for > service > > 'QuartzSchedulerManager'): Error invoking service contribution method > > > si.planet9.maps.services.AppModule.contributeQuartzSchedulerManager(OKxAdImporter, > > ConfigurationService, MappedConfiguration): Service > 'QuartzSchedulerManager' > > is configured using org.apache.tapestry5.ioc.OrderedConfiguration, not > > org.apache.tapestry5.ioc.MappedConfiguration. > > java.lang.RuntimeException: Error invoking service builder method > > > org.chenillekit.quartz.ChenilleKitQuartzModule.buildQuartzSchedulerManager(Logger, > > SchedulerFactory, List) (at ChenilleKitQuartzModule.java:119) (for > service > > 'QuartzSchedulerManager'): Error invoking service contribution method > > > si.planet9.maps.services.AppModule.contributeQuartzSchedulerManager(OKxAdImporter, > > ConfigurationService, MappedConfiguration): Service > 'QuartzSchedulerManager' > > is configured using org.apache.tapestry5.ioc.OrderedConfiguration, not > > org.apache.tapestry5.ioc.MappedConfiguration. > >at > > > org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:76) > > > > > > > > The above contribution used to work with chenillekit-quartz 1.0.0. > > > > Any hint appreciated, > > Borut > > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
chenillekit-quartz 1.3.0 Service 'QuartzSchedulerManager'
Hi, I am using Tapestry 5.2.2 with chenillekit-quartz 1.3.0 With this (per documentation) public static void contributeSchedulerFactory(MappedConfiguration configuration) { Resource configResource = new ClasspathResource("quartz.properties"); configuration.add("quartz.properties", configResource); } public static void contributeQuartzSchedulerManager(OKxAdImporter oKxAdImporter, ConfigurationService configurationService, OrderedConfiguration configuration) { configuration.add("oKxAdImporter", new OKxAdImporterBundle(oKxAdImporter, configurationService)); } I get [2010/11/18 12:02:39.556] ERROR [ioc.Registry:log]: Service 'QuartzSchedulerManager' is configured using org.apache.tapestry5.ioc.OrderedConfiguration, not org.apache.tapestry5.ioc.MappedConfiguration. [2010/11/18 12:02:39.556] ERROR [ioc.Registry:log]: Operations trace: [2010/11/18 12:02:39.556] ERROR [ioc.Registry:log]: [ 1] Realizing service QuartzSchedulerManager [2010/11/18 12:02:39.557] ERROR [ioc.Registry:log]: [ 2] Invoking org.chenillekit.quartz.ChenilleKitQuartzModule.buildQuartzSchedulerManager(Logger, SchedulerFactory, List) (at ChenilleKitQuartzModule.java:119) [2010/11/18 12:02:39.557] ERROR [ioc.Registry:log]: [ 3] Determining injection value for parameter #3 (java.util.List) [2010/11/18 12:02:39.557] ERROR [ioc.Registry:log]: [ 4] Collecting ordered configuration for service QuartzSchedulerManager [2010/11/18 12:02:39.558] ERROR [ioc.Registry:log]: [ 5] Invoking method si.planet9.maps.services.AppModule.contributeQuartzSchedulerManager(OKxAdImporter, ConfigurationService, MappedConfiguration) (at AppModule.java:47). [2010/11/18 12:02:39.558] ERROR [ioc.Registry:log]: [ 6] Determining injection value for parameter #3 (org.apache.tapestry5.ioc.MappedConfiguration) [2010/11/18 12:02:39.560] ERROR [ChenilleKitQuartzModule.QuartzSchedulerManager:createObject]: Construction of service QuartzSchedulerManager failed: Error invoking service builder method org.chenillekit.quartz.ChenilleKitQuartzModule.buildQuartzSchedulerManager(Logger, SchedulerFactory, List) (at ChenilleKitQuartzModule.java:119) (for service 'QuartzSchedulerManager'): Error invoking service contribution method si.planet9.maps.services.AppModule.contributeQuartzSchedulerManager(OKxAdImporter, ConfigurationService, MappedConfiguration): Service 'QuartzSchedulerManager' is configured using org.apache.tapestry5.ioc.OrderedConfiguration, not org.apache.tapestry5.ioc.MappedConfiguration. java.lang.RuntimeException: Error invoking service builder method org.chenillekit.quartz.ChenilleKitQuartzModule.buildQuartzSchedulerManager(Logger, SchedulerFactory, List) (at ChenilleKitQuartzModule.java:119) (for service 'QuartzSchedulerManager'): Error invoking service contribution method si.planet9.maps.services.AppModule.contributeQuartzSchedulerManager(OKxAdImporter, ConfigurationService, MappedConfiguration): Service 'QuartzSchedulerManager' is configured using org.apache.tapestry5.ioc.OrderedConfiguration, not org.apache.tapestry5.ioc.MappedConfiguration. at org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:76) The above contribution used to work with chenillekit-quartz 1.0.0. Any hint appreciated, Borut
Re: tapestry-resteasy next release
Hooray! 2010/11/16 Alejandro Scandroli > Hi Borut and other tapestry-resteasy users > > In a very lucky turn of events (at least for us) TAP5-1349 made it in > to the 5.2.4 release that is being voted right now :P > Expect a new release of tapestry-resteasy soon. > > Thanks to Igor for taking care of the issue so quickly! > Alejandro. > > On Sun, Nov 14, 2010 at 8:51 PM, Alejandro Scandroli > wrote: > > Hi Borut > > > > I've fixed TYNAMO-64 but I've hit: TAP5-1349 > > It looks like we are going to need to wait until the Tapestry 5.2.4 > release. > > > > Cheers. > > Alejandro. > > > > On Tue, Nov 9, 2010 at 5:30 PM, Alejandro Scandroli > > wrote: > >> Hi Borut > >> > >> Hi have upgraded the trunk to 2.0.1-GA. > >> I want to fix the live class reloading of the REST services > >> (TYNAMO-64) before releasing the new version. > >> I've been working on it, but I still don't have a good enough solution. > >> > >> Cheers. > >> Alejandro. > >> > >> > >> On Fri, Nov 5, 2010 at 10:55 AM, Borut Bolčina > wrote: > >>> Hi, > >>> > >>> is there a plan to release the next version of tapestry-resteasy with > the > >>> latest resteasy 2.0.1-GA? I see the trunk has 2.0.0-GA (commited in > July), > >>> but it would be much nicer to use a released version. :-) > >>> > >>> Thanks, > >>> Borut > >>> > >> > > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: [ANNOUNCEMENT] tapestry-conversations 0.1.2 released!
Great! What's next! ;-) 2010/11/13 Kalle Korhonen > Hello all, we'll start Tynamo project's "onslaught of announcements" > by announcing tapestry-conversations 0.1.2 release (stay tuned, other > announcements to follow in the coming days). Testament to backwards > compatibility of Tapestry 5, conversations 0.1.2 is tested to work > with T5.1.0.5 and T5.2.1, T5.2.2 and even the not-yet-finalized > T5.2.3. This is mostly a maintenance release so we can start working > on T5.2.x specific enhancements to the conversations api. Read more at > http://tynamo.org/tapestry-conversations+guide > > Bug >* [TYNAMO-59] - conversation.moderator seem like doesn't work with IE7. > Task >* [TYNAMO-60] - Upgrade conversations module to T5.2 > > Enjoy, > Tynamo team > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
slf4j conflicting versions
Hi, just wanted to point out that if using T 5.2.2 and tapestry-resteasy module you will have a http://www.slf4j.org/faq.html#IllegalAccessError That is becouse tapestry ioc is using slf4j 1.5.2, and tapestry-restasy brings in slf4j-simple 1.5.8. Both are old. The current version of slf4j is 1.6.1. Current solution is org.tynamo tapestry-resteasy 0.2.1-SNAPSHOT slf4j-simple org.slf4j and explicitly declaring org.slf4j slf4j-simple 1.5.2 -Borut
Re: ChenilleKit RELEASE 1.3.0
Great, thanks! 2010/11/8 Massimo Lusetti > I would like to announce the availability of ChenilleKit 1.3.0, our > first release to support Tapestry 5.2 branch... namely version 5.2.2 > > This release is done after too much time spent away from the project > and is just there to help everyone running our trunk upgrading to a > not-moving-target as a release is. > > The 1.3.0 release is simply the trunk polished and tagged so anyone > using the SNAPSHOTS is welcome to upgrade. > > We are experiencing issues with deploying our site and the maven guys > and codehaus too are looking at it. > > Cheers > -- > Massimo > http://meridio.blogspot.com > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
tapestry-resteasy next release
Hi, is there a plan to release the next version of tapestry-resteasy with the latest resteasy 2.0.1-GA? I see the trunk has 2.0.0-GA (commited in July), but it would be much nicer to use a released version. :-) Thanks, Borut
T 5.2.2 API URL
Hi, I am having difficulties to find 5.2.2 API docs. Howard posted http://tapestryjava.blogspot.com/2010/11/tapestry-522.html and there is a link to release notes ( http://people.apache.org/~uli/tapestry-site/release-notes-522.html). At http://people.apache.org/~uli/tapestry-site/documentation.html there is a link under Current beta release 5.2., but points to http://tapestry.apache.org/tapestry5.2-dev/apidocs/ which is Tapestry 5 Project 5.2.1-SNAPSHOT API. At official site (http://tapestry.apache.org/) there are errors also. The menu says Tapestry 5.2 (alpha) and the the link leads to http://tapestry.apache.org/tapestry5.2-dev/ which again leads to Tapestry 5 Project 5.2.1-SNAPSHOT API. Where are the API docs? Regards, Borut
Re: Chenillekit maven repos
Yeah, thanks, it seems we were typing the email at the same time. Thanks again. 2010/11/3 Massimo Lusetti > On Wed, Nov 3, 2010 at 3:22 PM, Borut Bolčina > wrote: > > > Aren't snapshots generated daily? If I look at the > > > http://snapshots.repository.codehaus.org/org/chenillekit/chenillekit-core/1.3.0-SNAPSHOT/ > > > > there is something fishy. There were only 4 snapshot releases in one > year? > > As i said up to date snapshots release can be found here: > http://ci.repository.codehaus.org/ > > Cheers > -- > Massimo > http://meridio.blogspot.com > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Chenillekit maven repos
Aren't snapshots generated daily? If I look at the http://snapshots.repository.codehaus.org/org/chenillekit/chenillekit-core/1.3.0-SNAPSHOT/ there is something fishy. There were only 4 snapshot releases in one year? -Borut 2010/11/3 Dávið Klein Sundsskarð > I think that if you use those files with Tapestry 5.2.2, you will run into > this issue: > > http://tapestry.1045711.n5.nabble.com/chenillekit-not-working-with-tapestry-5-2-1-td3213460.html > (At least, that is what I'm experiencing) > > It would be great if a new snapshot was built and submitted to the > repositories. > It is fixed in trunk according http://jira.codehaus.org/browse/CHEN-38 > > Until then, I'll probably just have to build it from trunk. > > /David > > -Original Message- > From: Eric Chatellier [mailto:chatell...@codelutin.com] > Sent: 3. november 2010 14:53 > To: Tapestry users > Subject: Re: Chenillekit maven repos > > Le 03/11/2010 14:47, Borut Bolčina a écrit : > > Hi, > > > > I wanted to use the latest 1.3.0-SNAPSHOT chenillekit which should > > work with Tapestry 5.2.2. > > > > > which does not contain 1.3.0-SNAPSHOT. It seems rather old. Where is > > the new repo? > There is a repo here : > > http://snapshots.repository.codehaus.org/org/chenillekit/chenillekit-core/1.3.0-SNAPSHOT/ > > -- > Éric > Tel: 02 40 50 29 28 > http://www.codelutin.com > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Chenillekit maven repos
Thanks man, appreciate the speed! And the release? Anybody? It is quite annoying to do product releases based on frozen snapshots, but yes, I know, it is open source :-) -Borut 2010/11/3 Eric Chatellier > Le 03/11/2010 14:47, Borut Bolčina a écrit : > > Hi, > > > > I wanted to use the latest 1.3.0-SNAPSHOT chenillekit which should work > with > > Tapestry 5.2.2. > > > > > which does not contain 1.3.0-SNAPSHOT. It seems rather old. Where is the > new > > repo? > There is a repo here : > > http://snapshots.repository.codehaus.org/org/chenillekit/chenillekit-core/1.3.0-SNAPSHOT/ > > -- > Éric > Tel: 02 40 50 29 28 > http://www.codelutin.com > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Chenillekit maven repos
Hi, I wanted to use the latest 1.3.0-SNAPSHOT chenillekit which should work with Tapestry 5.2.2. At http://chenillekit.codehaus.org/mvnrepo.html there is chenillekit http://www.chenillekit.org/mvnrepo/snapshot true which does not contain 1.3.0-SNAPSHOT. It seems rather old. Where is the new repo? Is there a T5.2.2 compatible release coming up for the chenillekit? Regards, Borut
Re: tapestry-resteasy how to configure httpclient
Ah, forget about it. I was looking at the wrong class, I am using resteasy directly for the client part. 2010/10/28 Borut Bolčina > Hi, > > I am making thousands of requests sequentally with tapestry-resteasy acting > as client to some in-house jersey service. I guess the defaul http client > configuration is used and this involves reusing connection and making > concurrent calls. > > How can I configure this using tapestry-resteasy? Please don't say it is > impossible :-o > > Thanks, > Borut >
tapestry-resteasy how to configure httpclient
Hi, I am making thousands of requests sequentally with tapestry-resteasy acting as client to some in-house jersey service. I guess the defaul http client configuration is used and this involves reusing connection and making concurrent calls. How can I configure this using tapestry-resteasy? Please don't say it is impossible :-o Thanks, Borut
Re: [T5.2] What security framework do you recommend ?
+1 on that Very easy to use (read shiro documentation), very well integrated in Tapestry and the components are right there to use them. -Borut Another +1 for Kalle's responsiveness. 2010/10/18 Mark W. Shead > I've been very pleased with tynamo's tapestry-security module (which > uses Shiro). > > One nice benefit is that it provides components you can use in your > tapestry templates to do stuf like: > > >You have user1role > > > Other reasons I like tapestry-security: > > - Good documentation and examples in an actual tapestry application > (http://tynamo.org/tapestry-security+guide) > > - Kalle is very helpful. > > - Leverages the tapestry approach of doing things. Your knowledge base > of how tapestry works makes it easier to look at the source code of > tapestry-security to understand something if necessary. (Anything that > comes as a Tapestry module is likely to give you this benefit.) > > > Mark > > - > On Mon, Oct 18, 2010 at 10:52 AM, Muhammad Mohsen > wrote: > > Hi All, > > > > I'm currently trying to decide what framework to use to secure my > tapestry > > applications efficiently and easily. So I found tapestry-acegi and > > tynamo-security so far. Been reading some about tynamo's. > > May be someone could share his experience with either frameworks or > securing > > tapestry applications in general. > > > > Regards. > > -- > > *Regards,* > > *Muhammad Gelbana > > Java Software Programmer* > > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Deploying several T5 apps in one servlet container
So, to handle resources like javascript, css and images I would create a cdn binding which would be configurable to accept from which host to get these resources. When doing this, I would loose asset versioning wouldn't I? What about gzip and cache header settings? What about page and action links, actually all links generated by tapestry? Is this at all important? -Borut 2010/9/15 Thiago H. de Paula Figueiredo > On Wed, 15 Sep 2010 17:05:55 -0300, Borut Bolčina > wrote: > > Yes, almost all web apps we deploy need clustering, load balancing, >> failover and CDN. I am looking for "best architecture" and practices with >> real world T5 apps with high traffic. Also, company policy may "dictate" use >> of http >> server. >> > > To facilitate things, I would create a binding (or AssetHandler, couldn't > try Tapestry 5.2 yet) to deal with a CDN and isolate this from the app > itself. > > -- > Thiago H. de Paula Figueiredo > Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, > and instructor > Owner, Ars Machina Tecnologia da Informação Ltda. > http://www.arsmachina.com.br > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Deploying several T5 apps in one servlet container
Yes, almost all web apps we deploy need clustering, load balancing, failover and CDN. I am looking for "best architecture" and practices with real world T5 apps with high traffic. Also, company policy may "dictate" use of http server. -Borut 2010/9/15 Kalle Korhonen > On Wed, Sep 15, 2010 at 12:18 PM, Thiago H. de Paula Figueiredo > wrote: > > On Wed, 15 Sep 2010 16:11:32 -0300, Borut Bolčina < > borut.bolc...@gmail.com> > > wrote: > >> I would also like http server to serve static content. > > Tapestry adds caching HTTP headers and versioning to your static content, > so > > I really don't know why Apache would do a significant difference here. > > One size doesn't fit all. If you build for speed & scalability, it may > justify using a different system to serve static files. This is > especially true if you a have a big number of large files to serve. > The conventional wisdom is that httpd is roughly on par with > Tomcat/Jetty serving static content and none are especially good in it > (not that these guys are final authorities on it but..), see for > example: > http://rocketscience.itteco.org/2010/01/03/efficient-serving-static-files-via-http/ > or http://marakana.com/forums/tomcat/general/7.html. > > Kalle > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Deploying several T5 apps in one servlet container
Hi, Thiago. What is not correct? You do not have http server in front? I would also like http server to serve static content. What are the pros and cons with that? Asset versioning? -Borut 2010/9/15 Thiago H. de Paula Figueiredo > On Wed, 15 Sep 2010 15:28:40 -0300, Borut Bolčina > wrote: > > Hi, >> > > Hi! > > I was wondering what is the recipe to deploy several T5 web apps under >> *one*Jetty or Tomcat instance. Each of the web apps have their on >> context name (app1, app2, app3). There must be apache http server or nginx >> in front of >> them. >> > > This is not correct. I have a single Jetty instance handling both > arsmachina.com.br, pronutricionista.com.br and cristilenesalomao.com.br(which > is rewritten to > cristilenesalomao.pronutricionista.com.br and the rewritten again > depending on the page). and their subdomains. Kalle showed the Tomcat > documentation for virtual domains. Here's the Jetty one: > http://docs.codehaus.org/display/JETTY/Virtual+hosts. Very easy. > > -- > Thiago H. de Paula Figueiredo > Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, > and instructor > Owner, Ars Machina Tecnologia da Informação Ltda. > http://www.arsmachina.com.br > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Deploying several T5 apps in one servlet container
Hi, I was wondering what is the recipe to deploy several T5 web apps under *one*Jetty or Tomcat instance. Each of the web apps have their on context name (app1, app2, app3). There must be apache http server or nginx in front of them. Each web app must be accessible by some specific domain name url. For example: app1 must be accessible at http://a1.acme.com, app2 for example at http://acme.com/a2 How do I achieve this with most elegance? Can someone explain this in more detail as there seem to be no information on this subject. I have no experience in Apache or Nginx http servers and haven't yet used Tapestry URL rewriting support. Do I have to abandon using context: binding in my web apps? -Borut
Re: override the default message!!
Did you contribute to the ApplicationDefaults? public static void contributeApplicationDefaults(MappedConfiguration configuration) { configuration.add(SymbolConstants.SUPPORTED_LOCALES, "zh_cn,en"); ... -bob 2010/9/9 Fanzhen > > hey friends, > > tapestry5 return me "You must correct the following errors before you may > continue.xx" > > are there some methods to override it with my own custom message? > > I have search it via Google . what I got is : > > should to create two files in my project with the same package as Tapestry. > > org.apache.tapestry5.corelib.components.Errors_zh_cn.properties > org.apache.tapestry5.internal.ValidationMessages_zh_cn.properties > > but it seems it doesn't work well for me , and I thought it is not a good > method well. > this way make my project strange > > so , any help are welcome!!! > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Tapestry5 friendly Message headache!!!
Use FLASH persistence ( http://tapestry.apache.org/tapestry5.1/guide/persist.html). See also http://jumpstart.doublenegative.com.au/jumpstart/fr/examples/navigation/actionlinks. Search for FLASH in the page. -bob 2010/9/7 Fanzhen > hey dear friends I got a stupid question: >when a event link or a form submit finished some friendly message > should return to the current page! > but tapestry do a redirect return !! I couldn't get the message set in my > page!! >And when I mark a @persist on the _msg field,I really can get the > message, but anther thing come out, the > msg show when I refresh the page > > could anyone tell me a better way supplying friendly message to my > client user!! > > >maybe something like _form.record("xxx"); > > thanks in advance!!! > > Fanzhen > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: tapestry-jersey
Fount the solution: You have to configure the jetty not to use default context path ( ) like so: org.mortbay.jetty maven-jetty-plugin 6.1.22 / true And now the Jersey responds at: http://localhost:8080/rest/helloworld -Borut 2010/8/16 Borut Bolčina > I cloned the "trunk" of the tapestry-jersey and run it against simple > T5.1.0.5 (and T5.2) project, but without success. My tiny test webapp is not > responding at http://localhost:8080/myjerseytest/rest/helloworld > > <http://localhost:8080/myjerseytest/rest/helloworld>-Borut > > dep tree: > [INFO] The following files have been resolved: > [INFO]asm:asm:jar:3.1:compile > [INFO]com.bluetangstudio:tapestry-jersey:jar:1.0.3-SNAPSHOT:compile > [INFO]com.sun.jersey:jersey-core:jar:1.3:compile > [INFO]com.sun.jersey:jersey-server:jar:1.3:compile > [INFO]commons-codec:commons-codec:jar:1.3:compile > [INFO]javassist:javassist:jar:3.9.0.GA:compile > [INFO]javax.servlet:servlet-api:jar:2.5:provided > [INFO]javax.ws.rs:jsr311-api:jar:1.1.1:compile > [INFO]javax.xml.stream:stax-api:jar:1.0-2:compile > [INFO]junit:junit:jar:3.8.1:test > [INFO]log4j:log4j:jar:1.2.14:compile > [INFO]org.antlr:antlr-runtime:jar:3.1.1:compile > [INFO]org.apache.tapestry:tapestry-core:jar:5.1.0.5:compile > [INFO]org.apache.tapestry:tapestry-ioc:jar:5.1.0.5:compile > [INFO]org.apache.tapestry:tapestry5-annotations:jar:5.1.0.5:compile > [INFO]org.codehaus.woodstox:stax2-api:jar:3.0.1:compile > [INFO]org.codehaus.woodstox:woodstox-core-asl:jar:4.0.3:compile > [INFO]org.easymock:easymock:jar:2.4:test > [INFO]org.slf4j:slf4j-api:jar:1.5.2:compile > [INFO]org.slf4j:slf4j-log4j12:jar:1.5.2:compile > [INFO]org.testng:testng:jar:5.12.1:test > [INFO]stax:stax-api:jar:1.0.1:compile > > 2010/8/13 Alejandro Scandroli > >> Hi Borut >> >> >> Do you know http://wiki.github.com/yunglin/tapestry-jersey/ ? >> I haven't tried it, but it sure looks like what you are looking for. >> >> Cheers. >> Alejandro. >> >> On Thu, Aug 12, 2010 at 7:05 PM, Kalle Korhonen >> wrote: >> > On Thu, Aug 12, 2010 at 9:15 AM, Borut Bolčina >> wrote: >> >> perhaps this should go to tynamo user list, but I guess no one will >> mind >> >> posting this here. >> >> Before looking at the source code for tynamo-resteasy, how hard would >> it be >> >> to write tapestry-jersey integration module? >> > >> > Not that hard :) In all seriousness, you probably *do* want to look at >> > the source code of Tynamo's tapestry-resteasy. There isn't that much >> > but I'm sure it'd be way easier to mimic that code than write it all >> > from scratch. I'm a fan of Jersey and used to use it heavily before - >> > not with Tapestry though. If you are serious about writing it, I could >> > very well see Tynamo hosting a tapestry-jersey module. The situation >> > would be similar to native hibernate and JPA modules we offer. Feel >> > free to put it up on google code or github or just keep the >> > implementation to yourself. You know, publishing code is a >> > double-edged sword - it raises the bar and as soon as you share it, >> > the pesky users crop up from everywhere and start demanding >> > improvements. On the other hand, you might get a few free bug fixes ;) >> > >> > Kalle >> > >> > - >> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> > For additional commands, e-mail: users-h...@tapestry.apache.org >> > >> > >> >> - >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> >
Re: tapestry-jersey
I cloned the "trunk" of the tapestry-jersey and run it against simple T5.1.0.5 (and T5.2) project, but without success. My tiny test webapp is not responding at http://localhost:8080/myjerseytest/rest/helloworld <http://localhost:8080/myjerseytest/rest/helloworld>-Borut dep tree: [INFO] The following files have been resolved: [INFO]asm:asm:jar:3.1:compile [INFO]com.bluetangstudio:tapestry-jersey:jar:1.0.3-SNAPSHOT:compile [INFO]com.sun.jersey:jersey-core:jar:1.3:compile [INFO]com.sun.jersey:jersey-server:jar:1.3:compile [INFO]commons-codec:commons-codec:jar:1.3:compile [INFO]javassist:javassist:jar:3.9.0.GA:compile [INFO]javax.servlet:servlet-api:jar:2.5:provided [INFO]javax.ws.rs:jsr311-api:jar:1.1.1:compile [INFO]javax.xml.stream:stax-api:jar:1.0-2:compile [INFO]junit:junit:jar:3.8.1:test [INFO]log4j:log4j:jar:1.2.14:compile [INFO]org.antlr:antlr-runtime:jar:3.1.1:compile [INFO]org.apache.tapestry:tapestry-core:jar:5.1.0.5:compile [INFO]org.apache.tapestry:tapestry-ioc:jar:5.1.0.5:compile [INFO]org.apache.tapestry:tapestry5-annotations:jar:5.1.0.5:compile [INFO]org.codehaus.woodstox:stax2-api:jar:3.0.1:compile [INFO]org.codehaus.woodstox:woodstox-core-asl:jar:4.0.3:compile [INFO]org.easymock:easymock:jar:2.4:test [INFO]org.slf4j:slf4j-api:jar:1.5.2:compile [INFO]org.slf4j:slf4j-log4j12:jar:1.5.2:compile [INFO]org.testng:testng:jar:5.12.1:test [INFO]stax:stax-api:jar:1.0.1:compile 2010/8/13 Alejandro Scandroli > Hi Borut > > Do you know http://wiki.github.com/yunglin/tapestry-jersey/ ? > I haven't tried it, but it sure looks like what you are looking for. > > Cheers. > Alejandro. > > On Thu, Aug 12, 2010 at 7:05 PM, Kalle Korhonen > wrote: > > On Thu, Aug 12, 2010 at 9:15 AM, Borut Bolčina > wrote: > >> perhaps this should go to tynamo user list, but I guess no one will mind > >> posting this here. > >> Before looking at the source code for tynamo-resteasy, how hard would it > be > >> to write tapestry-jersey integration module? > > > > Not that hard :) In all seriousness, you probably *do* want to look at > > the source code of Tynamo's tapestry-resteasy. There isn't that much > > but I'm sure it'd be way easier to mimic that code than write it all > > from scratch. I'm a fan of Jersey and used to use it heavily before - > > not with Tapestry though. If you are serious about writing it, I could > > very well see Tynamo hosting a tapestry-jersey module. The situation > > would be similar to native hibernate and JPA modules we offer. Feel > > free to put it up on google code or github or just keep the > > implementation to yourself. You know, publishing code is a > > double-edged sword - it raises the bar and as soon as you share it, > > the pesky users crop up from everywhere and start demanding > > improvements. On the other hand, you might get a few free bug fixes ;) > > > > Kalle > > > > - > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: tapestry-jersey
Uf, thanks! Is there a T5 wiki reference to it? I will try it. -Borut 2010/8/13 Alejandro Scandroli > Hi Borut > > Do you know http://wiki.github.com/yunglin/tapestry-jersey/ ? > I haven't tried it, but it sure looks like what you are looking for. > > Cheers. > Alejandro. > > On Thu, Aug 12, 2010 at 7:05 PM, Kalle Korhonen > wrote: > > On Thu, Aug 12, 2010 at 9:15 AM, Borut Bolčina > wrote: > >> perhaps this should go to tynamo user list, but I guess no one will mind > >> posting this here. > >> Before looking at the source code for tynamo-resteasy, how hard would it > be > >> to write tapestry-jersey integration module? > > > > Not that hard :) In all seriousness, you probably *do* want to look at > > the source code of Tynamo's tapestry-resteasy. There isn't that much > > but I'm sure it'd be way easier to mimic that code than write it all > > from scratch. I'm a fan of Jersey and used to use it heavily before - > > not with Tapestry though. If you are serious about writing it, I could > > very well see Tynamo hosting a tapestry-jersey module. The situation > > would be similar to native hibernate and JPA modules we offer. Feel > > free to put it up on google code or github or just keep the > > implementation to yourself. You know, publishing code is a > > double-edged sword - it raises the bar and as soon as you share it, > > the pesky users crop up from everywhere and start demanding > > improvements. On the other hand, you might get a few free bug fixes ;) > > > > Kalle > > > > - > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
tapestry-jersey
Hello, perhaps this should go to tynamo user list, but I guess no one will mind posting this here. I am successfully using tapestry-resteasy integration module, but have come to a dead-end on a JSONP issue. I wanted my web service to return a JSON wrapped in a javascript callback function and found out that resteasy does not support this. See https://jira.jboss.org/browse/RESTEASY-342 Now, the Jersey library can do this. See http://java.dzone.com/articles/jersey-featuring-jquery-jsonp?utm_source=feedburner and http://persistentdesigns.com/wp/?p=233 It is all about the @Produces( { application/x-javascript, MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) and @QueryParam("jsoncallback") @DefaultValue("fn") String callback Of course I could live without this, I can just return concatenated String, but that does not "feel right", well it would be ugly. Before looking at the source code for tynamo-resteasy, how hard would it be to write tapestry-jersey integration module? Best, Borut
Re: Dynamic Label name
Thanks, embarrassing easy. 2010/8/10 Thiago H. de Paula Figueiredo > On Tue, 10 Aug 2010 10:07:21 -0300, Borut Bolčina > wrote: > > Hi, >> > > Hi! > > is it possible to programmatically (rather then from localized properties >> file) set label string to display >> >> >> >> >> something like >> >>String getEmailLabel() { >>return "something from database"; >>} >> > > It is: > > ${emailLabel} > > You can also use the label parameter of the form field components for that: > > size="30"/> > > -- > Thiago H. de Paula Figueiredo > Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, > and instructor > Owner, Ars Machina Tecnologia da Informação Ltda. > http://www.arsmachina.com.br > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Dynamic Label name
Hi, is it possible to programmatically (rather then from localized properties file) set label string to display something like String getEmailLabel() { return "something from database"; } Thanks, Borut
Catching an event prior to form submition
Hi, seems very basic, but I can't make it work. I want to do some custom form validation before submit happens. What is wrong with my form observers? Clicking on gameImage works just fine. None of the bellow versions of questionnarie event observers work. var MyValidator = Class.create({ initialize: function() { $('gameImage').observe('click', this.hello.bind(this)); Event.observe('questionnarie', 'submit', function() { Tapestry.debug("hello x"); }); //$('questionnarie').observe(Tapestry.FORM_VALIDATE_EVENT, this.hello.bind(this)); //$('questionnarie').observe('submit', this.hello.bind(this)); //$('questionnarie').observe('submit', this.hello.bindAsEventListener(this)); }, hello: function(event) { Tapestry.debug("hello"); } }); Template snippet: Thanks for any input.
Re: Label id for RadioGroup component is "null-label"
OK, I downloaded the sources for T 5.1.0.5 from https://svn.apache.org/repos/asf/tapestry/tapestry5/tags/releases/5.1.0.5 and the RadioGroup.java has a method getClientId which always returns null: /** * Returns null; the radio group does not render as a tag and so doesn't have an id to share. RadioGroup implements * {...@link org.apache.tapestry5.Field} only so it can interact with the {...@link org.apache.tapestry5.ValidationTracker}. * * @return null */ public String getClientId() { return null; } Why is then in the documentation at http://tapestry.apache.org/tapestry5/tapestry-core/ref/org/apache/tapestry5/corelib/components/RadioGroup.html the option to set clientId if it always returns null? Would it brake something if RadioGroup component would return clientId as other (renderable) components? >From user's perspective the validation error messages should be displayed the same for TextBox, Select, RadioGroup and others. And of course it would be great if validation can be implemented in the same pattern for developers also. I can see that error bubbles can not be applied to radio group (they should be removed from further versions of Tapestry), but the mechanics for displaying the error message should be the same for all components. It is not ok, to just make the label and all the radios red when no radio is selected, for example. IMHO the text should be displayed somewhere in the vicinity of the RadioGroup. What do you say and how the hell should I display the error message if user selected no radio option without too much coding (client and server side validation)? Cheers, Borut 2010/8/2 Borut Bolčina > Hi, > > I am trying to use the "No Validation Bubbles" from the JumpStart and it > works just fine, but it fails for RadioGroup component. After some FireBug > investigation I found out that this template: > > : > > > > > > > > renders as: > > CC Type: id="masterCard" name="cctype" value="MASTER_CARD" /> > Master Card > > Visa > > I would expect: > CC Type > > > I have a properties file and the browser correctly displays the label from: > cctype-label=CC Type > > as it can be seen from the HTML source code. > > I guess the "No Validation Bubbles" can not handle elements with ids such > as "null-something". I will look into the sources now... > > ...but the question is: Is this a bug in Tapestry 5.1.0.5? > > > Regards, > Borut >
Label id for RadioGroup component is "null-label"
Hi, I am trying to use the "No Validation Bubbles" from the JumpStart and it works just fine, but it fails for RadioGroup component. After some FireBug investigation I found out that this template: : renders as: CC Type: Master Card Visa I would expect: CC Type I have a properties file and the browser correctly displays the label from: cctype-label=CC Type as it can be seen from the HTML source code. I guess the "No Validation Bubbles" can not handle elements with ids such as "null-something". I will look into the sources now... ...but the question is: Is this a bug in Tapestry 5.1.0.5? Regards, Borut
Re: Binding component parameter of type byte[]
Dear lord, of course it is not bound, the name of the parameter is inccorect. It should be @Parameter(name = "*image*", required = false) private byte[] imageBytes; And I was already debugging Tapestry sources... 2010/7/15 Christophe Cordenier > Hi > > AFAIK Primitive arrays are coerced to List. > > 2010/7/14 Borut Bolčina > > > Hi, > > > > I am having problem binding a parameter of type byte[]. It is not bound > for > > some reason while imageTitle works as expected. The page template looks > > like: > > > > > > > > DynaImage is my custom component which displays image from byte[], or so > it > > should :-) > > > > In my page class: > > > >@Property > >private String imageTitle; > > > >@Property > >private byte[] imageBytes; > > > >void onActivate(Game game) { > >this.game = game; > >this.imageBytes = game.getImage(); > >this.imageTitle = "Hello"; > >logger.info("image size: " + this.imageBytes.length); // > correctly > > displays image size (cca 200kbytes) > >} > > > > And here is the component class: > > > > public class DynaImage { > > > >@Inject > >private Logger logger; > > > >@Inject > >private ComponentResources componentResources; > > > >@Parameter(name = "imageBytes", required = false) > >private byte[] imageBytes; > > > >@Parameter(name = "title", required = false) > >private String title; > > > >@BeginRender > >protected boolean beginRender(MarkupWriter writer) throws SQLException > { > >if (!componentResources.isBound("title")) { > >logger.warn("title not bound."); > >} else { > >logger.info("title: " + title); > >} > >if (!componentResources.isBound("imageBytes")) { > >logger.warn("imageBytes not bound."); > >return true; > >} > > > >ImageIcon image = null; > > > >image = new ImageIcon(imageBytes); > > > >// Write an action link for this photo > >final Link link = componentResources.createEventLink("photo", new > > Object[] { 999 }); > >writer.element("img", "src", link, "title", title, "alt", "Loading > " > > + title, "height", > >image.getIconHeight(), "width", image.getIconWidth()); > >componentResources.renderInformalParameters(writer); > > > >writer.end(); > >return true; > >} > > > > > > Any help appreciated, > > Borut > > > > > > -- > Regards, > Christophe Cordenier. > > Committer on Apache Tapestry 5 > Co-creator of wooki @wookicentral.com >
Re: OAuth support in tynamos tapestry-security
That would be awesome. I am using tapestry security in two apps currently. One is a 5.1 and the other T5.2. So far very smooth. I am very pleased. Keep up! Regards, Borut 2010/7/14 Moritz Gmelin > Hi, > > I was wondering if there is some kind of support planned to support OAuth > authentication with tynamos tapestry-security. I would love to be able to > offer RESTful webservices with OAuth authentication with tapestry, > tapestry-restful and tapestry-security. > Any plans? Pointers? > > Thanks > > Moritz > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Binding component parameter of type byte[]
Hi, I am having problem binding a parameter of type byte[]. It is not bound for some reason while imageTitle works as expected. The page template looks like: DynaImage is my custom component which displays image from byte[], or so it should :-) In my page class: @Property private String imageTitle; @Property private byte[] imageBytes; void onActivate(Game game) { this.game = game; this.imageBytes = game.getImage(); this.imageTitle = "Hello"; logger.info("image size: " + this.imageBytes.length); // correctly displays image size (cca 200kbytes) } And here is the component class: public class DynaImage { @Inject private Logger logger; @Inject private ComponentResources componentResources; @Parameter(name = "imageBytes", required = false) private byte[] imageBytes; @Parameter(name = "title", required = false) private String title; @BeginRender protected boolean beginRender(MarkupWriter writer) throws SQLException { if (!componentResources.isBound("title")) { logger.warn("title not bound."); } else { logger.info("title: " + title); } if (!componentResources.isBound("imageBytes")) { logger.warn("imageBytes not bound."); return true; } ImageIcon image = null; image = new ImageIcon(imageBytes); // Write an action link for this photo final Link link = componentResources.createEventLink("photo", new Object[] { 999 }); writer.element("img", "src", link, "title", title, "alt", "Loading " + title, "height", image.getIconHeight(), "width", image.getIconWidth()); componentResources.renderInformalParameters(writer); writer.end(); return true; } Any help appreciated, Borut
Re: Realize operations on "blur" from a textfield
Hi Claude, you can use chenillekit mixin OnEvent (). Here is the link: http://www.chenillekit.org/chenillekit-tapestry/ref/org/chenillekit/tapestry/core/mixins/OnEvent.html If you are developing with Tapestry 5.1, then put org.chenillekit chenillekit-tapestry 1.2.0 jboss javassist in your POM. In your template use the mixin on the input field: : Then in your class: @IncludeJavaScriptLibrary("context:js/util.js") public class Index { ... @Property private String email; ... @OnEvent(component = "email", value = "blur") public JSONObject checkIfUserWithThisEmailExists(String value) { UserData userData = new UserData(); if(value.equals("b...@example.com")) { logger.info("Exists."); userData.setPostOfficeNumberAndName("1236 Trzin"); userData.setGender("male"); userData.setBirthDay("29"); userData.setBirthMonth("4"); userData.setBirthYear("1973"); } else { logger.info("Bob does not exist."); } JSONObject jsonObject = new JSONObject(JSONSerializer.toJSON(userData).toString()); return jsonObject; } ... Create util.js in src/main/webapp/js and put the callback function which updates your page's data in there, like: function onCompletePrefillInputFields(response) { Tapestry.debug("onCompletePrefillInputFields():" + response.postOfficeNumberAndName); Tapestry.debug("onCompletePrefillInputFields():" + response.gender); Tapestry.debug("onCompletePrefillInputFields():" + response.birthDay); Tapestry.debug("onCompletePrefillInputFields():" + response.birthMonth); Tapestry.debug("onCompletePrefillInputFields():" + response.birthYear); $('postOffice').value = response.postOfficeNumberAndName; if (response.gender == "male") { $('radioM').checked = true; } else if (response.gender == "female") { $('radioF').checked = true; } selectOptionByValue($('select'), response.birthDay); //selectOptionByValue($('select_0'), response.birthMonth); // values are month names and not a number if (response.birthMonth != "") { $('select_0').options[response.birthMonth].selected = true; // so find by index } selectOptionByValue($('select_1'), response.birthYear); } That should do it. Cheers, Borut 2010/7/8 Claude Dubois > > Hello everybody, > > I'm developing a Tapestry 5 application, and I would like to add an > autocomplete functionality, but not like the one integrated in T5. > > What I want to do is to search in my database the corresponding name of one > part from its number, e.g. to detect the "onblur" action on my textfield to > trigger this search. Once the search is over, the part name will appear in > the corresponding textfield. > > Does anyone have any idea of how it is possible to detect "onBlur" like we > could do in Javascript? > > Thank you in advance > > - > Claude Dubois > -- > View this message in context: > http://old.nabble.com/Realize-operations-on-%22blur%22-from-a-textfield-tp29106396p29106396.html > Sent from the Tapestry - User mailing list archive at Nabble.com. > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Return type net.sf.json.JSONObject can not be handled
Thanks for ultra fast responses. I guess they went through AjaxComponentEventResultProcessor :-) Until I try implementing the processor class, I found a compromise. return org.apache.tapestry5.json.JSONObject jsonObject = new org.apache.tapestry5.json.JSONObject(JSONSerializer.toJSON(userData).toString()); I found out that org.apache.tapestry5.json.JSONObject has a constructor with a String form of a JSON object. Thanks! Borut > 2010/7/8 Ulrich Stärk > You'll probably want to contribute it to AjaxComponentEventResultProcessor > though. > > > On 08.07.2010 12:36, Christophe Cordenier wrote: > >> Hi >> >> You will have to create your own ComponentEventResultProcessor and >> contribute it in your AppModule class : >> >> public void contributeComponentEventResultProcessor( >> MappedConfiguration >> configuration) { >> >> configuration.addInstance(net.sf.json.JSONObject.class, >> YouProcessor.class); >> >> } >> >> 2010/7/8 Borut Bolčina >> >> Hello, >>> >>> Is it possible to configure return types? >>> >>> In one of my event methods I was trying to return net.sf.json.JSONObject >>> instead of org.apache.tapestry5.json.JSONObject and got this error >>> message: >>> >>> [ERROR] TapestryModule.RequestExceptionHandler Processing of request >>> failed >>> with uncaught exception: A component event handler method returned the >>> value >>> >>> >>> {"birthDay":"","birthMonth":"","birthYear":"","gender":"male","postOfficeNumberAndName":"1236 >>> Trzin"}. Return type net.sf.json.JSONObject can not be handled. >>> Configured >>> return types are java.lang.Class, java.lang.String, >>> org.apache.tapestry5.Link, org.apache.tapestry5.StreamResponse, >>> org.apache.tapestry5.ajax.MultiZoneUpdate, >>> org.apache.tapestry5.json.JSONArray, >>> org.apache.tapestry5.json.JSONObject, >>> org.apache.tapestry5.runtime.Component, >>> org.apache.tapestry5.runtime.RenderCommand. >>> org.apache.tapestry5.runtime.ComponentEventException: A component event >>> handler method returned the value >>> >>> >>> {"birthDay":"","birthMonth":"","birthYear":"","gender":"male","postOfficeNumberAndName":"1236 >>> Trzin"}. Return type net.sf.json.JSONObject can not be handled. >>> Configured >>> return types are java.lang.Class, java.lang.String, >>> org.apache.tapestry5.Link, org.apache.tapestry5.StreamResponse, >>> org.apache.tapestry5.ajax.MultiZoneUpdate, >>> org.apache.tapestry5.json.JSONArray, >>> org.apache.tapestry5.json.JSONObject, >>> org.apache.tapestry5.runtime.Component, >>> org.apache.tapestry5.runtime.RenderCommand. [at context:Index.tml, line >>> 20] >>> >>> >>> My event method: >>> >>>@OnEvent(component = "email", value = "blur") >>>public JSONObject checkIfUserWithThisEmailExists(String value) { >>>UserData userData = new UserData(); >>>if(value.equals("b...@example.com")) { >>>userData.setPostOfficeNumberAndName("1236 Trzin"); >>>userData.setGender("male"); >>>} else { >>>logger.info("Bob does not exist."); >>>} >>>JSONObject jsonObject = (JSONObject) >>> JSONSerializer.toJSON(userData); >>>return jsonObject; >>>} >>> >>> The reason I used net.sf.json.JSONObject is because it offers great >>> conversion and construction capabilities to/from JavaBeans/XML/JSON. Have >>> a >>> look at http://json-lib.sourceforge.net/snippets.html. >>> >>> Is it possible or do I have to construct the >>> org.apache.tapestry5.json.JSON >>> object by hand? >>> >>> Thanks, >>> Borut >>> >>> >> >> >> > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Return type net.sf.json.JSONObject can not be handled
Hello, Is it possible to configure return types? In one of my event methods I was trying to return net.sf.json.JSONObject instead of org.apache.tapestry5.json.JSONObject and got this error message: [ERROR] TapestryModule.RequestExceptionHandler Processing of request failed with uncaught exception: A component event handler method returned the value {"birthDay":"","birthMonth":"","birthYear":"","gender":"male","postOfficeNumberAndName":"1236 Trzin"}. Return type net.sf.json.JSONObject can not be handled. Configured return types are java.lang.Class, java.lang.String, org.apache.tapestry5.Link, org.apache.tapestry5.StreamResponse, org.apache.tapestry5.ajax.MultiZoneUpdate, org.apache.tapestry5.json.JSONArray, org.apache.tapestry5.json.JSONObject, org.apache.tapestry5.runtime.Component, org.apache.tapestry5.runtime.RenderCommand. org.apache.tapestry5.runtime.ComponentEventException: A component event handler method returned the value {"birthDay":"","birthMonth":"","birthYear":"","gender":"male","postOfficeNumberAndName":"1236 Trzin"}. Return type net.sf.json.JSONObject can not be handled. Configured return types are java.lang.Class, java.lang.String, org.apache.tapestry5.Link, org.apache.tapestry5.StreamResponse, org.apache.tapestry5.ajax.MultiZoneUpdate, org.apache.tapestry5.json.JSONArray, org.apache.tapestry5.json.JSONObject, org.apache.tapestry5.runtime.Component, org.apache.tapestry5.runtime.RenderCommand. [at context:Index.tml, line 20] My event method: @OnEvent(component = "email", value = "blur") public JSONObject checkIfUserWithThisEmailExists(String value) { UserData userData = new UserData(); if(value.equals("b...@example.com")) { userData.setPostOfficeNumberAndName("1236 Trzin"); userData.setGender("male"); } else { logger.info("Bob does not exist."); } JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(userData); return jsonObject; } The reason I used net.sf.json.JSONObject is because it offers great conversion and construction capabilities to/from JavaBeans/XML/JSON. Have a look at http://json-lib.sourceforge.net/snippets.html. Is it possible or do I have to construct the org.apache.tapestry5.json.JSON object by hand? Thanks, Borut
Re: Tapestry-security 0.2.0 released!
That is a wonderful news! As it just happens, I will begin to code a new T5 app just today, and guess what, I won't craft a new security solution by myself thanks to you guys. :-) I've used tapestry-spring-security for our former project (200K registered users) so I am very interested to see what is the overall experience in using this new Shiro-Tapestry combo. I see it has some nice components out of the box which is very cool. I thought of starting this new T5 app with 5.2-SNAPSHOT, what are the chances it will work? Regards, Borut 2010/7/2 Kalle Korhonen > As an Apache Shiro committer and a strong proponent of Tapestry, I'm > proud to announce the 0.2.0 release and immediate availability of > tapestry-security module, which represents the best and most > comprehensive security framework integration for Tapestry 5 > applications. I can say that since it's largely written by others :) > Tapestry-security is based on the great work by Valentin Yerastov, the > original author of tapestry-jsecurity. Later on, JSecurity became an > Apache project and was renamed to Apache Shiro, the first official > release of which (as an Apache project) was recently made. Alejandro > Scandroli, who else, updated the code to use the latest Shiro APIs and > finally, we added a few other bells and whistles on top of it all. > Pierce Wetter gets an honorable mention of being a guinea pig and > starting to use tapestry-security all without documentation (so it > can't be that bad). Now both tapestry-security and Shiro even have > proper documentation, read more from our tapestry-security guide > (http://tynamo.org/tapestry-security+guide). Hope you find the module > as useful as we have! > > Enjoy, > Tynamo team > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Tree Component in Tapestry 5
As you can see here; http://www.questionpro.com/akira/ShowResults?id=1151880&mode=data it is one of the most wanted T5 component. 2010/6/29 Halil Karakose > Hi, > I searched over the net but couldn't find a nice tree component. Is there a > working tapestry 5 tree component available? > > thanks... >
Re: Tapestry 5 and Html 5
Hi, I just ran into a cool presentation of HTML 5 features. Make sure you open the page in Chrome: http://apirocks.com/html5/html5.html Cheers, Borut P.S. I hope you don't regard this email as spam, but rather as inspiration for T5 commiters and users. 2010/6/9 Angelo Chen > > Hi, > > Html 5 is getting popular lately, any idea how we can try to integrate it > with tapestry 5? or what is direction we can take for html 5? Thanks, > > Angelo > > -- > View this message in context: > http://old.nabble.com/Tapestry-5-and-Html-5-tp28824708p28824708.html > Sent from the Tapestry - User mailing list archive at Nabble.com. > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >