Re: Tapestry is a sinking Ship
the tapestry committee will get the behavior it tolerates. unproductive behavior should not be tolerated any more than obnoxious behavior would be tolerated in your own home. tapestry group would be well advised to ban obnoxious behavior like this. Patrick Moore (256) 203-3775 Currently looking for the next software / software management opportunity View my LinkedIn Profile: https://www.linkedin.com/in/patricksmoore On Mon, Feb 15, 2016 at 5:36 AM, JT <jem...@gmail.com> wrote: > Dumb idea. How about background check? Are we applying for a CIA job? > On Feb 15, 2016 8:34 AM, "Ido Dovrat" <ido.dov...@gmail.com> wrote: > > > Thiago, I think it would be reasonable to put in place some kind of > > identity verification /screening process before admitting someone into > the > > group. For example, use the email address to look up the applicant on > > Facebook or LinkedIn, and apply some judgement as to whether he/she seems > > legit. You can also require that someone else (with verifiable identity) > > vouch for the candidate. > > > > Then you can ban trolls without the fear of having them return under > > various assumed identities. > > > > On Mon, Feb 15, 2016 at 2:33 PM, Thiago H de Paula Figueiredo < > > thiag...@gmail.com> wrote: > > > > > On Sat, 13 Feb 2016 10:17:59 -0200, JT <jem...@gmail.com> wrote: > > > > > > Shitty idea. All voice should be heard. Not just the one you like to > > hear. > > >> > > > > > > If only this guy wrote anything which isn't trolling and outright lies, > > > all them repetitive. If he said that feature X doesn't work, that would > > be > > > valid. That feature Y doesn't work in the way it should, it would be > > valid. > > > But this troll just repeats the same lies and ad-hominen attacks over > and > > > over, disappears for some time, and reappears. > > > > > > On Feb 13, 2016 3:19 AM, "Ilya Obshadko" <ilya.obsha...@gmail.com> > > wrote: > > >> > > >> Thiago, I have an idea. > > >>> > > >>> Why don't we ban this poor excuse of an idiot from a mailing list and > > >>> address real problems latest release has? > > >>> > > >>> On Fri, Feb 12, 2016 at 10:53 PM, Thiago H de Paula Figueiredo < > > >>> thiag...@gmail.com> wrote: > > >>> > > >>> > On Fri, 12 Feb 2016 17:19:28 -0200, Emmanuel Sowah < > eso...@gmail.com > > > > > >>> > wrote: > > >>> > > > >>> > Hi Tapestry sect, > > >>> >> > > >>> > > > >>> > Hi, insistent, annoying, repetitive, low-quality troll! > > >>> > > > >>> > The state of Tapestry now is very bad, as Howard and all the other > > >>> >> commiters have abandoned it. > > >>> >> > > >>> > > > >>> > This is not true. Just check Jira and the Git logs. > > >>> > > > >>> > Even Thiago has secretly abandoned Tapestry. > > >>> >> > > >>> > > > >>> > I have not, and you're telling a lie. > > >>> > > > >>> > I'm just answering this troll because of the lies he keeps on > > >>> spreading, > > >>> > which are bordering on defamation. > > >>> > > > >>> > -- > > >>> > Thiago H. de Paula Figueiredo > > >>> > Tapestry, Java and Hibernate consultant and developer > > >>> > http://machina.com.br > > >>> > > > >>> > > > >>> > > - > > >>> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > >>> > For additional commands, e-mail: users-h...@tapestry.apache.org > > >>> > > > >>> > > > >>> > > >>> > > >>> -- > > >>> Ilya Obshadko > > >>> > > >>> > > > > > > -- > > > Thiago H. de Paula Figueiredo > > > Tapestry, Java and Hibernate consultant and developer > > > http://machina.com.br > > > > > > - > > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > > > > > >
Re: how to put pages / components java code and tml files in same directory?
Thanks, for the pointer. resources resourcedirectorysrc/main/java/directory excludes exclude*.java/exclude /excludes /resource resourcedirectorysrc/main/resources/directory/resource /resources in the pom.xml solves the issue. On Mon, Aug 6, 2012 at 6:43 PM, Thiago H de Paula Figueiredo thiag...@gmail.com wrote: On Mon, 06 Aug 2012 20:47:13 -0300, PS M. transparentpolit...@gmail.com** wrote: Hi there -- Hi! I thought there was a way to put the java files and the related tml files in the same directory. I would like to put the MyPage.tml file in the same src/main/java/org/example/**pages directory that the MyPage.java file is in. Similarly, I would like to have MyComponent.tml in the same src/main/java/org/example/**components directory that the MyComponent.java file is in. This makes it much easier to switch back and forth in eclipse between the template and the java code. * Have you seen Gavin Lei's Tapestry Eclipse plugin? I thought there was a way to do it in Tapestry 5, but now I can't find the documentation on how to do so. Any suggestions? This is completely unrelated to Tapestry. This is all about configuration (IDE nad/or build tool). All Tapestry cares is having the .tml files need to be in the right folders in the classpath. How you organize the sources is completely ignored by Tapestry. -- Thiago H. de Paula Figueiredo --**--**- To unsubscribe, e-mail: users-unsubscribe@tapestry.**apache.orgusers-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: T4: an official 4.1.7 build?
Hi there -- So how do I get that quiet release made? -Pat On Tue, May 15, 2012 at 8:39 AM, Howard Lewis Ship hls...@gmail.com wrote: I know I haven't looked at that code in nearly six years, but it would not be impossible to quietly create a release for it. On Mon, May 14, 2012 at 10:55 PM, Patrick Moore patmo...@amplafi.com wrote: Hi there -- We are using 4.1.7-SNAPSHOT because it has some fixes from the last official build 4.1.6. Using the snapshots have been fine for a while. Unfortunately the last few months have new 4.1.7-SNAPSHOT builds being deployed with no changes. It looks like some sort of automated build process happening. This kind of messes us up when we are using maven to build over a slow connection. I know the world has moved on to the 5.x world, but would it be possible to push an official 4.1.7 build so that we don't have to get the snapshot build? Thanks Patrick Moore -- 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: T4: an official 4.1.7 build?
Hi there -- We are using 4.1.7-SNAPSHOT because it has some fixes from the last official build 4.1.6. Using the snapshots have been fine for a while. Unfortunately the last few months have new 4.1.7-SNAPSHOT builds being deployed with no changes. It looks like some sort of automated build process happening. This kind of messes us up when we are using maven to build over a slow connection. I know the world has moved on to the 5.x world, but would it be possible to push an official 4.1.7 build so that we don't have to get the snapshot build? Thanks Patrick Moore
T4: an official 4.1.7 build?
Hi there -- We are using 4.1.7-SNAPSHOT because it has some fixes from the last official build 4.1.6. Using the snapshots have been fine for a while. Unfortunately the last few months have new 4.1.7-SNAPSHOT builds being deployed with no changes. It looks like some sort of automated build process happening. This kind of messes us up when we are using maven to build over a slow connection. I know the world has moved on to the 5.x world, but would it be possible to push an official 4.1.7 build so that we don't have to get the snapshot build? Thanks Patrick Moore FarReach.es mobile: 650-207-9792
Re: Live reload in production?
Hi Howard, Maybe the question should really be: Does anyone out there rely on live class (template, message catalog, whatever) reloading in their live, production application? and what critical benefit does this offer? I am with you on the paradox of choice. When I roll out new versions, there are usually db schema and directory structure changes not just UI changes. So the roll out has to have the server brought down. I would love to have an atomic updating service. A new war is placed in a staging location. The db update magically happens and then the older server is brought down and replaced with the new server. But absence this magical update genie, I would prefer the performance improvements because that will be useful every day. For those who feel that they need this, is there any sort of hooking that a side project could use to restore this functionality without impact the people who rather take the benefits of not having dynamic class loading in production? Or maybe they just run in development mode on the production box? ( maybe silly statement - but we are still on T4 :-( ) Patrick Moore Amplafi http://amplafi.com mobile: 650-207-9792 Put your front window on your front page personal blog : http://sworddance.com/blog On Tue, Apr 19, 2011 at 10:11 AM, Howard Lewis Ship hls...@gmail.comwrote: Out of curiosity ... does anyone out there rely on live class (template, message catalog, whatever) reloading in their live, production application? Now, normally, I'd think not, because the deployed app will be packaged in a WAR and the unit of redeployment is the entire WAR ... but I suppose some people could be using the exploded WAR format, which would allow classes and templates to be updated while the application runs. Live reloading is a feature that was originally intended for development only; Tapestry 5.2 supports live reloading in the live application, but as of yesterday, Tapestry 5.3 does NOT. I'm hoping to see some improvements in throughput and a reduction in memory utilization in production applications ... but it's not too late to shift things so that 5.3 can support production reloading as well. I'd prefer not to, however. -- 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: Tapestry Perf4J
Looks like you should get your work added here: http://perf4j.codehaus.org/index.html under Integrated Tools beat the wicket people to the punch ;-) Patrick Moore Amplafi http://amplafi.com mobile: 650-207-9792 Put your front window on your front page personal blog : http://sworddance.com/blog On Mon, Mar 28, 2011 at 3:10 PM, Jérôme BERNARD jerome.bern...@gmail.comwrote: I've heard of it and used it in the past. Hopefully, it has changed to an Apache license which was not the case at the time I looked into it (it used to be LGPL). I can't find much information about the pro cons of Perf4J vs rrd4j though :-( I just saw many OSS projects using it and it proved to be simple to use and understand. Jerome. On Mon, Mar 28, 2011 at 23:57, Howard Lewis Ship hls...@gmail.com wrote: Have you looked at http://code.google.com/p/rrd4j/ as a way to aggregate performance metrics over time? I used this on a project a couple of years ago and, outside some hassles involving dates and time zones (we were attempting to aggregate information from multiple servers) it worked quite nicely. (This may be more of a question for Perf4J than for your integration). On Mon, Mar 28, 2011 at 2:07 PM, Jérôme BERNARD jerome.bern...@gmail.com wrote: On Mon, Mar 28, 2011 at 22:44, Thiago H. de Paula Figueiredo thiag...@gmail.com wrote: On Mon, 28 Mar 2011 17:05:38 -0300, Jérôme BERNARD jerome.bern...@gmail.com wrote: Hi, Hi! Quick email to let you know that if some of you are interested in using Perf4J (http://perf4j.codehaus.org) with Tapestry, I've released a module simplifying this a bit: http://kalixia.github.com/tapestry-perf4j/ Bookmarked! This seems very interesting. :) Thanks for sharing! You're welcome. I have some few ideas on how to enhance the components, so I will most likely update it in a short time. I'd like at least to add auto-refresh (simple as I already use a zone for the graph). I'd like also to dynamically generate the appenders from Java code instead of relying on log4j configuration files. This would give the ability to dynamically add/remove appenders hence graphs ;-) There has been many Tapestry and Tapestry-IoC based projects being announced lately. This shows how the framework and its community are alive and thriving. :) Definitely! And TIA book will also help a lot the community ;-) Jerome. -- 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 -- Jérôme Bernard Blog : http://www.jerome-bernard.com
X-Frame-Options support?
Hi there -- Does T5 have support for X-Frame-Options ? http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frame-options.aspx Patrick Moore Amplafi http://amplafi.com mobile: 650-207-9792 Put your front window on your front page corp blog : http://amplafi.com/blog personal blog : http://www.sworddance.com/blog
T5: How/where to add a new template generator?
Hi there -- In T4, we have an implementation of org.apache.tapestry.engine.ITemplateSourceDelegate that we use to generate certain component templates. The T4 hivemind configuration looked like: implementation service-id=tapestry.parse.TemplateSourceDelegate invoke-factory construct class=org.amplafi.flow.web.resolvers.FlowAwareTemplateSourceDelegate /construct /invoke-factory /implementation Additionally, we had replacements for the tapestry.page.ComponentSpecificationResolver service, which extends org.apache.tapestry.resolver.ComponentSpecificationResolver implementation service-id=tapestry.page.ComponentSpecificationResolver Locates the specification for a component or page. invoke-factory model=threaded construct class=org.amplafi.flow.web.resolvers.FlowComponentSpecResolver set-object property=specificationSource value=infrastructure:specificationSource/ set-service property=delegate service-id=tapestry.page.SpecificationResolverDelegate/ set-object property=applicationId value=infrastructure:applicationId/ set-object property=contextRoot value=infrastructure:contextRoot/ set-object property=classFinder value=infrastructure:classFinder/ set-configuration property=substitutions configuration-id=tacos.services.ComponentSubstitutions/ set-configuration property=templateMap configuration-id=templateMap/ /construct /invoke-factory /implementation service-point id=FlowTemplateMemoryMappedLocationRenderStrategy interface=org.apache.tapestry.describe.RenderStrategy invoke-factory construct class=org.amplafi.flow.web.resolvers.MemoryMappedLocationRenderStrategy /construct /invoke-factory /service-point I would appreciate someone pointing me to the equivalent interfaces in T5. Thanks! Patrick Moore Amplafi http://amplafi.com mobile: 650-207-9792 Put your front window on your front page corp blog : http://amplafi.com/blog personal blog : http://www.sworddance.com/blog
Re: T5: How to have .tml/.properties files in the same directory as the .java files
I tried with the tutorial and it didn't work. the rendering failed. Patrick Moore Amplafi http://amplafi.com mobile: 650-207-9792 Put your front window on your front page corp blog : http://amplafi.com/blog personal blog : http://www.sworddance.com/blog On Sat, Aug 7, 2010 at 10:38 PM, Josh Canfield joshcanfi...@gmail.comwrote: I am working to move our project from T4 to T5. In T4 we are using the tacos component resolver that allows the templates and properties files to be in the same directory. In T5 how can we do the same thing? Hmm... Just do it. The .tml and properties can be in the same package structure as the classes. Josh On Sat, Aug 7, 2010 at 4:34 PM, Patrick Moore patmo...@amplafi.com wrote: Hi there -- I am working to move our project from T4 to T5. In T4 we are using the tacos component resolver that allows the templates and properties files to be in the same directory. In T5 how can we do the same thing? In T4, I have found that having all 3 files .java, .properties, .tml in the same directory makes editing enormously easier. So this is really, really important to me. Switching between template and .java when the files are scattered is a pain. If there is no existing way, does anyone have some suggestions on how to gracefully add this in. In T4 it wasn't that hard and it seems like it should be even easier in T5. -Pat -- -- http://www.bodylabgym.com - a private, by appointment only, one-on-one health and fitness facility. -- http://www.ectransition.com - Quality Electronic Cigarettes at a reasonable price! -- TheDailyTube.com. Sign up and get the best new videos on the internet delivered fresh to your inbox. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: T5: How to have .tml/.properties files in the same directory as the .java files
Well ... sure enough... it works! I was expecting a problem because the documentation kept talking about /webapp being the required directory for the .tml files. With no mention of any other option, I was expecting to have to rig it up. thanks! Patrick Moore Amplafi http://amplafi.com mobile: 650-207-9792 Put your front window on your front page corp blog : http://amplafi.com/blog personal blog : http://www.sworddance.com/blog On Sun, Aug 8, 2010 at 4:15 AM, Ville Virtanen ville.virta...@cerion.fiwrote: T5 application works ok as is if the files are in the same directory. If you use maven, then the maven default structure layout dictates that the non-java files must be in resources or webapp folders. (The build process copies the resources to the same directory structure from java and resources.) Now you want to tell maven to also copy the tml and properties files from the java side. One way to do this is to alter your pom.xml: add this inside the build tag: (This is not tested, just something I typed on the fly. There are better ways to do it.) resources resource directorysrc/main/java/directory filteringfalse/filtering includes indluce**/*.*/indluce /includes excludes exclude**/*.java/exclude exclude**/*.class/exclude /excludes /resource /resources On the other hand, there is support for IDE:s. We are using Netbeans support, which let's users change (and open if not already open) between .tml, .java and .properties files. https://nbtapestrysupport.dev.java.net/ - Ville Tapestry 5 actually Patrick Moore-6 wrote: Hi there -- I am working to move our project from T4 to T5. In T4 we are using the tacos component resolver that allows the templates and properties files to be in the same directory. In T5 how can we do the same thing? In T4, I have found that having all 3 files .java, .properties, .tml in the same directory makes editing enormously easier. So this is really, really important to me. Switching between template and .java when the files are scattered is a pain. If there is no existing way, does anyone have some suggestions on how to gracefully add this in. In T4 it wasn't that hard and it seems like it should be even easier in T5. -Pat -- View this message in context: http://old.nabble.com/T5%3A-How-to-have-.tml-.properties-files-in-the-same-directory-as-the--.java-files-tp29377569p29379502.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: T5: How to have .tml/.properties files in the same directory as the .java files
Sounds like a good idea to me btw I was looking to figure out where I started going wrong in my understanding. I fell victim to a confirmation bias that was confirmed by this page: http://tapestry.apache.org/tapestry5.1/tutorial1/first.html , which indicated that T5 required all templates be in the webapp directory. It was also confirmed by the archetype tutorial1. I would suggest changing the example to reflect the thinking of putting templates under resources or in the java directories in a maven project. thx On Sun, Aug 8, 2010 at 1:42 PM, Howard Lewis Ship hls...@gmail.com wrote: The only exception is page templates which are allowed to be stored in the context root. And in fact, if I were starting T5 again, that would not be supported. It may even be removed in a future release. On Sun, Aug 8, 2010 at 12:07 PM, Thiago H. de Paula Figueiredo thiag...@gmail.com wrote: On Sat, 07 Aug 2010 20:34:29 -0300, Patrick Moore patmo...@amplafi.com wrote: Hi there -- Hi! I am working to move our project from T4 to T5. In T4 we are using the tacos component resolver that allows the templates and properties files to be in the same directory. In T5 how can we do the same thing? In Tapestry 5, it's mandatory you to put them in the same package. -- 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 -- 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
T5: How to have .tml/.properties files in the same directory as the .java files
Hi there -- I am working to move our project from T4 to T5. In T4 we are using the tacos component resolver that allows the templates and properties files to be in the same directory. In T5 how can we do the same thing? In T4, I have found that having all 3 files .java, .properties, .tml in the same directory makes editing enormously easier. So this is really, really important to me. Switching between template and .java when the files are scattered is a pain. If there is no existing way, does anyone have some suggestions on how to gracefully add this in. In T4 it wasn't that hard and it seems like it should be even easier in T5. -Pat
Re: [ANNOUNCEMENT] tapestry-watchdog 0.0.1 released!
Use email filter -- really what is the big deal? They are announcing that they are doing their part to add value to the community. They are not soliciting. On Sun, May 30, 2010 at 5:43 PM, Paul Stanton p...@mapshed.com.au wrote: How do I unsubscribe from tynamo's solicitation without leaving the tapestry users list?
Re: [ANNOUNCEMENT] tapestry-watchdog 0.0.1 released!
Keep on making the announcements! I wasn't aware of your project before! Glad that you are contributing! Just because someone takes offense doesn't mean you did anything wrong! sarcasmAfter all, I get offended by people who have the initials PS . So imagine how offend I get with people adding PS to their letters./sarcasm On Sun, May 30, 2010 at 6:43 PM, Kalle Korhonen kalle.o.korho...@gmail.comwrote: My apologies if announcing Tynamo modules on Tapestry users list offend anybody - if community feels that way, we have no problem keeping the announcements only on Tynamo lists and site. However, as an open source project completely based on Tapestry, I would have thought Tapestry users would generally be interested in our releases. In any case, solicitation feels pretty degrading. It's not like anybody's making any money out of this. Suppose a vote is on order if there are others who feel Tynamo or other related Tapestry projects shouldn't be announcing on Tapestry Users list. Kalle On Sun, May 30, 2010 at 5:43 PM, Paul Stanton p...@mapshed.com.au wrote: How do I unsubscribe from tynamo's solicitation without leaving the tapestry users list? Kalle Korhonen wrote: Hey all, it's the Tynamo project here again. Just to keep up with releasing something new every month, we are announcing tapestry-watchdog, version 0.0.1! This module got released sometime ago but as a multi-process application that most of the time doesn't do much but needs to deliver when the time comes, we took a bit longer to test it out. tapestry-watchdog is an embedded watchdog that sends an email to you right away if something happens to your parent process (we've all seen an OutOfMemoryError right?) Configuring tapestry-watchdog couldn't be any simpler to configure, but read more about it from our tapestry-watchdog guide (http://tynamo.org/tapestry-watchdog+guide). Enjoy, Tynamo Team - 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: T5 IoC Tests and Mock objects
Yeah This is incredible useful. In T4 I set up something similar. We have a MockBuilderFactory that inserts a proxy that can be switched between a mock and the real object. This offers these benefits: 1. Production configuration is the same as the test configuration. ( reduces the tests pass but it breaks in production cases ) 2. Tests can switch back and forth between the real service and the mock service. Would be great if T5 had the same capability! Patrick Moore Amplafi http://amplafi.com 650-207-9792 Put your front window on your front page corp blog : http://amplafi.com/blog personal blog : http://www.sworddance.com/blog On Sat, Nov 7, 2009 at 4:57 AM, Adriaan Joubert adriaan...@gmail.comwrote: Hi Paul, thanks a lot for your mail. Not having to rebuild the registry between tests is indeed a major consideration. I like your idea of a special proxy that can be 'cleaned' and refreshed from a pool. I do not need the multi-threaded testing on our web applications right now. I mainly need it for our fat-client java app where we use constructor injection. I'm happy to put in an issue for you to track it if you like, but do not want you to feel obliged to spend time on it now. If a more comprehensive tapestry wide solution could be built that should solve this problem as well. Thanks! Adriaan 2009/11/3 Paul Field paul.fi...@db.com: Funnily enough I was thinking of something very similar for Testify. I was imagining a from-tests scope - which is basically like the per-test scope except that the service proxies look up their implementations from the pool of objects populated by the @ForComponents annotations. (Which probably means the annotations need a name change to @ForTapestry or something like that). The important thing for me is that the same IOC can be used from test-to-test but with different mock/fake implementations being created each time. When I was originally playing with testing ideas before Testify, I had an IOC builder that could plug-in pre-created objects (I think similar to what Howard is suggesting) but you get an overhead in recreating the IOC for every test. testify is deliberately designed to avoid overheads like that so your tests go fast. Actually, thinking about it, we might want a special RegistryBuilder that creates *all* services with a special proxy that looks for an override implementation in some dynamic pool of objects - it returns the override implementation if it finds it in the pool, otherwise it returns the normal implementation as defined in the module. That way we can change implementations dynamically at runtime for any service in any module - cool 8-) - This sound too good, so there's probably some implications I haven't thought of... BTW Adriann - if you want per-test scope to span threads, I think I can make that happen. Could you pop an issue into the Testify JIRA to remind me? ( http://tapestry.formos.com/jira/browse/TESTIFY ) Unfortunately, I don't have a lot of time at the moment, but I will get round to it eventually. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Non-java External configuration in T5 -- can it be done?
Hi there -- I am looking to move from T4 to T5. In T4/hivemind configuration configuration was in xml files. This was great because: 1. is easily modifiable by non-Java programmers. 2. By only allowing non-java types to change xml files, there was limited ways that damage could be done. 3. Config changes did not require a rebuild/retest/redeploy cycle. 4. non-programmer types could alter how modules were hooked together. Moving to T5, 1. some inner plumbing modules do make better sense to be hidden away from non-programmer type's fingers. 2. For other modules, we want to allow things like directory paths and other text configuration to be exposed. (properties file??) 3. Other modules we do want to continue to leave exposed ala T4 Obviously, we do not want to be fighting T5 conventions. So what are people's suggestions? Is there a way to hook hivemind into T5? Is there a standard way to read properties files and match property names to java bean getter/setters? Something I missed? Patrick Moore Amplafi http://amplafi.com 650-207-9792 Put your front window on your website corp blog : http://amplafi.com/blog personal blog : http://www.sworddance.com/blog
Re: Non-java External configuration in T5 -- can it be done?
Oh sweet! This is an EXCELLENT intermediate solution... obviously we will use this as transition. equally obviously, we would like to get rid of hivemind. Patrick Moore Amplafi http://amplafi.com 650-207-9792 Amplafi enables businesses, professional organizations, bands, and other organizations to replicate their joint marketing efforts on the internet. corp blog : http://amplafi.com/blog personal blog : http://www.sworddance.com/blog On Wed, Sep 30, 2009 at 3:21 PM, Kalle Korhonen kalle.o.korho...@gmail.comwrote: http://chenillekit.codehaus.org/chenillekit-hivemind/index.html Kalle On Wed, Sep 30, 2009 at 3:09 PM, Patrick Moore patmo...@amplafi.com wrote: Hi there -- I am looking to move from T4 to T5. In T4/hivemind configuration configuration was in xml files. This was great because: 1. is easily modifiable by non-Java programmers. 2. By only allowing non-java types to change xml files, there was limited ways that damage could be done. 3. Config changes did not require a rebuild/retest/redeploy cycle. 4. non-programmer types could alter how modules were hooked together. Moving to T5, 1. some inner plumbing modules do make better sense to be hidden away from non-programmer type's fingers. 2. For other modules, we want to allow things like directory paths and other text configuration to be exposed. (properties file??) 3. Other modules we do want to continue to leave exposed ala T4 Obviously, we do not want to be fighting T5 conventions. So what are people's suggestions? Is there a way to hook hivemind into T5? Is there a standard way to read properties files and match property names to java bean getter/setters? Something I missed? Patrick Moore Amplafi http://amplafi.com 650-207-9792 Put your front window on your website corp blog : http://amplafi.com/blog personal blog : http://www.sworddance.com/blog - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Non-java External configuration in T5 -- can it be done?
Hi -- For most things, I agree that the java-based configuration approach is best. For us the exception is that we DO want some stuff exposed in a way that does not involve editing java code. Changing java code requires a full build/test/verification process, which should not be necessary for something like configuration changes. Sysadmins / product managers should be able to change configurations without needing an IDE or a java developer. ( output directories, which background tasks are enabled ) Everything else... absolutely hands-off! While chenille-hivemind is a good intermediate step, we obviously would like a pure T5 solution at some point. P.S. before someone suggests system properties... No! system properties are only used for temporary changes not permanent decisions. ( + does not work for random multi-line text ) On Wed, Sep 30, 2009 at 4:00 PM, Kalle Korhonen kalle.o.korho...@gmail.comwrote: Yes, Hivemind had great concepts but tapestry-ioc provides all of the same in a much simplified package (building pipelines comes to mind as one of the good examples). But this integration offers a very nice way to transition at your own pace. Kalle
Tapestry 5 and JSR-303 plans?
Hi there -- I just found out about JSR-303 ( bean validation JSR ). It may be too soon to ask. but any plans on implementing this JSR inside of Tapestry? Patrick Moore Amplafi http://amplafi.com 650-207-9792 Amplafi enables businesses, professional organizations, bands, and other organizations to replicate their joint marketing efforts on the internet. corp blog : http://amplafi.com/blog personal blog : http://www.sworddance.com/blog
Re: Persistance
Hi Yeah in our T4 app we don't use @Persist at all and we really control the session-size ... we have been setting up to open source this code that handles the session issues. I have been wanting to get the code in better shape before releasing back to the community ... but it is good enough. .. I just submitted the project to sourceforge for consideration. I have to wait a few days for approval. Patrick Moore Amplafi http://amplafi.com 650-207-9792 copy/paste blog : http://www.sworddance.com/blog On Sat, Nov 29, 2008 at 6:19 AM, Marcelo Lotif [EMAIL PROTECTED] wrote: I think this is very interesting too, and I have implemented something like this in a menu component I've made, but the solution is specific to my case. This persistence strategy would be a nice improvement, and would solve some problems we had with the session size. On Fri, Nov 28, 2008 at 7:23 AM, Peter Stavrinides [EMAIL PROTECTED] wrote: Hi, I have been thinking about persistence lately... and after moving all our apps from Tapestry 4 to Tapestry 5 this past year, I have noticed distinct patterns emerge in the way pages fit together and use persistence, and I have been searching all the while for best practices... here are some comments on how persistence evolved in my code: @Persist - I tended to use it a lot in the beginning, but far less now, I have found it optimal not to clutter the session, and therefore persist only a select few fields (mostly primitives). @Persist(flash) - I moved to flash persistence wherever I could, as it helps limit the number of queries required, but its not always feasible to use. On the odd occasion I also ran into problems with render methods when pages were complex. I now use mostly onActivate and onPassivate, this has proven to be the most reliable pattern, and the most scalable. It does require a bit more boilerplate code for checking that URL parameters are passed correctly, particularly for pages that have 'optional parameters'... the one downside is that I have a few more queries now. So whats missing in an ideal world? A read in a post some time ago that conversational patterns may be added in 5.1, that would be great! but what would be ideal in my humble view is a proper page persistence Strategy, where a value is retained until the user leaves the page. In truth someone posted such a solution which used a cookie, and it seemed to behave exactly as it should, nevertheless I am still against relying on a cookie. I understand this may be difficult to implement due to Tapestry's inner workings, particularly the way pages are pooled, but since conversational state covers some of this ground (the difference being a conversation is tied to not only the page, but the window so each tab is treated as a new conversation), I thought to at least to ask if it could be considered at some point if at all feasible. I would also love to hear other peoples thoughts/opinions on this. cheers, Peter - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Atenciosamente, Marcelo Lotif Programador Java e Tapestry FIEC - Federação das Indústrias do Estado do Ceará (85) 3477-5910
Re: T5 : [ANN] The book - next steps
I would suggest that you get a way from the linear, single path flow of writing book. I have stopped reading most technical books because they assume that I am a beginner and am going to read the book in a strictly serial manner. I would suggest that rather than be chapter focused that you be concept focused (1-2 pages) and provide different paths through the text. So someone who is on the beginner path will be lead through the book differently than someone who is an intermediate. -pat On Wed, Sep 3, 2008 at 11:55 AM, Thiago H. de Paula Figueiredo [EMAIL PROTECTED] wrote: Em Wed, 03 Sep 2008 15:31:05 -0300, ProAdmin Dariusz Dwornikowski [EMAIL PROTECTED] escreveu: Tapestry alone is no use if you do not have DB. As a instructor of Java, Hibernate, Spring and other frameworks, my experience says that people learn way better when they're learning just one thing, one concept, one feature at a time. Therefore, I think the book must focus in Tapestry and abstract away the persistence layer. In a later chapter, the book would show how to integrate Tapestry and Hibernate. In another chapter, the book would show a complete example of Tapestry + Hibernate + Spring. Thiago - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: what happened to the plugin snapshots....
Hi Wendy -- There should have been better discrimination ... because all the latest snapshots for the tapestry project were wiped out as well. I didn't realize hard drive space was so scarce that the latest could not be kept. On Mon, Aug 4, 2008 at 7:18 PM, Wendy Smoak [EMAIL PROTECTED] wrote: On Mon, Aug 4, 2008 at 4:10 PM, Patrick Moore [EMAIL PROTECTED] wrote: What happened to all the maven plugin snapshots such as maven-surefire-2.4-collab ? It seems that al snapshots are gone... Not all of them, but the ones over 30 days old were deleted recently. Was 2.4-collab a branch or something in the sandbox? (This should probably move to [EMAIL PROTECTED]) -- Wendy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: what happened to the plugin snapshots....
well it won't have been so bad if who have made this decision had checked that all the plugins, etc. had released a version -- the repository plugin hasn't released in a while there was a 2.2-snapshot and then a 2.3-snapshot but no release afaik so now we are back to 2.1 someone is too eager with the broom On Tue, Aug 5, 2008 at 1:20 PM, Brian E. Fox [EMAIL PROTECTED]wrote: This was an unfortunate Apache Infrastructure action that even we weren't aware of. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Patrick Moore Sent: Tuesday, August 05, 2008 2:41 PM To: Maven Users List; Tapestry users Subject: Re: what happened to the plugin snapshots Hi Wendy -- There should have been better discrimination ... because all the latest snapshots for the tapestry project were wiped out as well. I didn't realize hard drive space was so scarce that the latest could not be kept. On Mon, Aug 4, 2008 at 7:18 PM, Wendy Smoak [EMAIL PROTECTED] wrote: On Mon, Aug 4, 2008 at 4:10 PM, Patrick Moore [EMAIL PROTECTED] wrote: What happened to all the maven plugin snapshots such as maven-surefire-2.4-collab ? It seems that al snapshots are gone... Not all of them, but the ones over 30 days old were deleted recently. Was 2.4-collab a branch or something in the sandbox? (This should probably move to [EMAIL PROTECTED]) -- Wendy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: what happened to the plugin snapshots....
Of course this means that the maven team is imposing their idea of good process on the other apache projects like tapestry which was also impacted by this ... I could understand this if the release occurs. (i.e. if 2.2 is released then the 2.2-SNAPSHOT could be reasonably expected to be discarded) part of the process of tracking down a bug involves going back to known states of the code. Using the snapshots to diagnose when a bug appeared is useful as people move toward a release.something to think about. Just my 2c clearly I will need to isolate my project in the future from the official maven repos ... probably should do it anyhow but would have preferred to do it later -Pat On Tue, Aug 5, 2008 at 3:53 PM, Brian E. Fox [EMAIL PROTECTED]wrote: The official answer is this: http://www.apache.org/dev/release.html#what Technically only the development team should be using snapshots and it seems like we should expect snapshots to be cleaned out on a more regular basis. Therefore if you use them, you better have a repo manager or some other way to isolate yourself. This is just plain best practice anyway. -Original Message- From: David Conde [mailto:[EMAIL PROTECTED] Sent: Tuesday, August 05, 2008 8:20 AM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: what happened to the plugin snapshots Moving this onto the dev list. Are there plans to re-publish snapshots of these soon? I currently have a dependency on maven-embedder which brings in wagon etc which cannot be resolved now. Thanks, David Conde - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: part-time Tapestry job
As someone pointed out I should describe what the project is/will do. AmpFlow takes existing ideas about web wizards and extends them in new and interesting ways. Specifically: - completely decouples the web front-end from the database - unifies wizard creation with API definition (when you create a wizard, the equivalent API call is created automatically) - completely eliminates the need for @Persist (in our entire code base -- no @Persists) - partitions user session data to allow parts of a user's session to be discarded when no longer applicable. - defers database object creation until absolutely necessary. (no more db cleanup if user cancels a complex operation). - eliminates database commits from the user http thread. - enables database changes to be reapplied at the *java* object level (as opposed to the low-level SQL layer) -- makes Master/master db configurations easier. - enables partial changes to be persisted for later -- *without* changing the real database objects. - supports cancel/reset operations in very complex scenarios. - completely bookmarkable - enables autoamatic support for small screens. - will support security model that allows partial access to portions of the wizard. Some of the stuff needs a little more work -- but this is not vaporware -- we use it every day. We are currently running Tapestry 4. However, the code has been divided mostly into Tapestry 4 and non-Tapestry code. We do not (yet) have a Tapestry 5 implementation. -Pat P.S. Locale does not matter. On Mon, Jun 30, 2008 at 1:26 PM, Patrick Moore [EMAIL PROTECTED] wrote: Hi there -- We would like to donate some code to the community. However, we find ourselves just a little strapped for time. If you would be able to help it would be great. We will offer a medium amount of money (hundreds of dollars -- but not thousands) to help us out. And of course, your name will be included as a contributor! The basics: Amplafi is open-sourcing a portion of our code base. We need a developer that can help complete some refactoring, add additional features needed to take product from the 0.8 level to the 1.0 level. You will be given public credit for your contribution when the project is open sourced. Responsibilities will include (in order): 1. Documentation (package/project level) 2. Sample code 3. Extending Test Cases 4. Refactoring 5. New features 6. Maven build configuration improvements Please note - You will be paid to learn this codebase, if 1. you document as you learn 2. you create example code to include in the documentation. 3. the code is confusing, you do a good job of refactoring - after first discussing change. 4. you discover errors or inconsistencies, create test cases that demonstrate the error and lastly fix the error. 5. you discover missing features, you add them (document and test as well) Current code condition: 1. The code has been relatively isolated from the main Amplafi code base. The majority of the hard work has been done. 2. The code has been isolated into 2 projects - web and core. Web is Tapestry 4 specific. Core is intended to have no dependencies on Tapestry. (but some remain) 3. Test cases are low in number - some of them still include dependencies on proprietary code. 4. Documentation is extensive at the class level. Package/project is almost completely lacking. 5. Functioning Maven project Success will mean that this code base: 1. has documentation understandable to the average developer. 2. Well-documented test cases with 80-90% code coverage (100% over the key parts) 3. has complete sample code that can be run by users. 4. the remaining Amplafi dependencies have been eliminated 5. Tapestry-specific code has been removed from the 'core' project. 6. project is in condition acceptable to Apache.org committers. (HLS should like it :-) ) We think this will be a pretty cool addition to the Tapestry code base but we are also isolating parts of the code so it can work with other web frameworks. (including obviously Tapestry 5) This project would be something we would like to complete by mid-August .. so lots of time to do it on nights/weekends. Please contact me if interested. -- Patrick Moore Amplafi 650-207-9792 copy/paste blog : http://www.sworddance.com/blog -- Patrick Moore Amplafi 650-207-9792 copy/paste blog : http://www.sworddance.com/blog
Re: T4.1.5 - BeanForm Throwing Exception during HTTP POST rewind of Form component
just download manually from here: http://people.apache.org/repo/m2-snapshot-repository/org/apache/tapestry/tapestry-framework/4.1.6-SNAPSHOT/ On Sat, Jun 14, 2008 at 2:12 PM, [EMAIL PROTECTED] wrote: Quoting Andreas Andreou [EMAIL PROTECTED]: Another thought, try cacheProperties=ognl:false in your beanForm I have not been able to update to Tapestry 4.1.6-SNAPSHOT (I'm not a Maven user). I was able to find OGNL 2.7.3 in a Maven repo to download it. I don't think I'm going to be able to figure out setting up Maven for my project in a timely manner. So any alternative way to get the jars would be nice. I tried the above solution with the cacheProps attribute. No help - I still get the exceptions. I've tried excluding properties one-by-one, the only way the exceptions aren't thrown is when I exclude all of the properties (so it's just the buttons). Any other suggestions? Are they only other factors that I may have forgotten to include that would create something like this? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Patrick Moore Amplafi 650-207-9792 copy/paste blog : http://www.sworddance.com/blog
Re: [T4]hivemind variables in components
too much work. the alternative is just read env var On 4/23/08, Igor Drobiazko [EMAIL PROTECTED] wrote: What about a new binding? You could inject a service into the binding which is responsible for resolving HiveMind symbols. On Wed, Apr 23, 2008 at 1:12 AM, Patrick Moore [EMAIL PROTECTED] wrote: Hi there -- O.k. I feel silly -- but how do I use hivemind variables directly in a component. I know how to pass hivemind variables to services. But how to use those values in the components? For example, I would like to use the hivemind variable 'amplafi.production' as the condition in a @If for example,: span jwcid=@If condition=amplafi.production hey there amplafi.production is true! /span -Pat -- Best regards, Igor Drobiazko -- Patrick Moore Amplafi 650-207-9792 ... because someone else wants to share your content. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T4]hivemind variables in components
Hi there -- O.k. I feel silly -- but how do I use hivemind variables directly in a component. I know how to pass hivemind variables to services. But how to use those values in the components? For example, I would like to use the hivemind variable 'amplafi.production' as the condition in a @If for example,: span jwcid=@If condition=amplafi.production hey there amplafi.production is true! /span -Pat
Re: [OT] Dubai
Turns out Andy will really be in Germany so look for him in frankfurt or dusseldorf ... On Wed, Mar 19, 2008 at 3:56 AM, Andreas Andreou [EMAIL PROTECTED] wrote: Hi, i'll be in Dubai for the next 6 days, so, if any Tapestry fan (that resides there) wants to meet, just send me a private email Have fun list! -- Andreas Andreou - [EMAIL PROTECTED] - http://blog.andyhot.gr Tapestry / Tacos developer Open Source / JEE Consulting - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Patrick Moore Amplafi 650-207-9792 ... because someone else wants to share your content.
Re: Make Tapestry a full web framework?
A suggestion -- rather than scream at suspected trolls smother them with love :-) trolls thrive on hate and die with love ... sweet and kind drive them ape shit On Wed, Mar 19, 2008 at 6:03 AM, Christian Edward Gruber [EMAIL PROTECTED] wrote: Fair enough. I'm convinced. Sorry for the false positive, Joshua. Cheers, Christian. On 19-Mar-08, at 06:50 , Filip S. Adamsen wrote: Joshua is not a troll. Besides, he didn't mention Wicket. -Filip
Re: Newbie Tapestry
Why don't we just move T5 up to T7 just so that we can say that T6 is the old version :-) -Pat
Re: Feedback wanted on IoC documentation
Hi Renat -- That's a good point that having the service model be the switching point is probably better place to do the magic. It has a certain elegance of simplicity and robustness. Haven't read the T5 documentation, so I am going to presume (?) that anything I can do in hivemind today I can do with Tapestry5 IoC tomorrow. Still won't make the fields final as setters/getters will be needed to wire objects manually for testing. But at least dynamic substitution of server providers should be possible. -Pat On Nov 17, 2007 3:49 PM, Renat Zubairov [EMAIL PROTECTED] wrote: Hello Patrick, All, Concerning use case of swapping services, it's actually happening already, and quite frequently, imagine singleton service instance with threaded services injected inside. So my point it that swapping of the services is already there, however it's happening not on the layer of fields in the service implementation but on the level of proxies (that's how it works in T4 (HM1.1) and I assume in T5). So singleton service has a reference to proxy, but proxy finds the implementation of the service dynamically based on the Thread where it is called. If we are talking about the usecase that in case system (JVM) is overloaded proxy may decide to forward the calls to the remote JVM in the cluster, and I guess this usecase is already implemented. Renat On 17/11/2007, Patrick Moore [EMAIL PROTECTED] wrote: Hi -- On Nov 17, 2007 8:41 AM, Howard Lewis Ship [EMAIL PROTECTED] wrote: On Nov 16, 2007 10:39 PM, Patrick Moore [EMAIL PROTECTED] wrote: Hi Howard -- I disagree with philosophy of forcing people to have the services only injected via constructors because: 1. it results in a monster constructors for some key services. I would say that those key services may be insufficiently factored into smaller cooperating services. Seperation of concerns! Actually just the opposite! We have facade-pattern services that present a unified interface point to the outside code. But under the hood the facade service delegates to the smaller services. Of course we use the facade pattern so that we can isolate changes to the underlying services. But those facade-pattern services talk to many other services. 5. You are assuming that it is unconceivable for services once wired together to ever want to be rewired - and this is not the case. I see that as a whole can of worms. I strongly think that static structure / dynamic behavior extends into the services tier. Oh I understand that as well -- and its not something I suggest doing as a normal course. The major uses I am thinking about are around swapping out local services for a remote implementation of a service. Not your normal use case I grant you! And I am going to do everything I can to design an alternative solution. But having to bring down the server in order to reconfigure it, or to require programmatic changes to do reconfiguration seems bad. But at the end of the day - why be dogmatic about this? Because I'm a very stubborn person? Wouldn't know! But I complement your stubbornness wrt at least one thing -- the tapestry error messages are far superior to many other packages out there, open-source or otherwise. Points well taken. We could definitely do something like Guice and allow the Inject annotation on methods as well as method parameters, to indicate a method which represents a point of injection. Thanks for listening... -Pat -- Best regards, Renat Zubairov
Re: Feedback wanted on IoC documentation
Hi -- On Nov 17, 2007 8:41 AM, Howard Lewis Ship [EMAIL PROTECTED] wrote: On Nov 16, 2007 10:39 PM, Patrick Moore [EMAIL PROTECTED] wrote: Hi Howard -- I disagree with philosophy of forcing people to have the services only injected via constructors because: 1. it results in a monster constructors for some key services. I would say that those key services may be insufficiently factored into smaller cooperating services. Seperation of concerns! Actually just the opposite! We have facade-pattern services that present a unified interface point to the outside code. But under the hood the facade service delegates to the smaller services. Of course we use the facade pattern so that we can isolate changes to the underlying services. But those facade-pattern services talk to many other services. 5. You are assuming that it is unconceivable for services once wired together to ever want to be rewired - and this is not the case. I see that as a whole can of worms. I strongly think that static structure / dynamic behavior extends into the services tier. Oh I understand that as well -- and its not something I suggest doing as a normal course. The major uses I am thinking about are around swapping out local services for a remote implementation of a service. Not your normal use case I grant you! And I am going to do everything I can to design an alternative solution. But having to bring down the server in order to reconfigure it, or to require programmatic changes to do reconfiguration seems bad. But at the end of the day - why be dogmatic about this? Because I'm a very stubborn person? Wouldn't know! But I complement your stubbornness wrt at least one thing -- the tapestry error messages are far superior to many other packages out there, open-source or otherwise. Points well taken. We could definitely do something like Guice and allow the Inject annotation on methods as well as method parameters, to indicate a method which represents a point of injection. Thanks for listening... -Pat
Re: Feedback wanted on IoC documentation
Hi Howard -- I appreciate the work you are doing on T5 and look forward to moving to it when it is further along. I just want to comment on the only-constructor injection policy that you are promoting. And the fact that the two paragraphs are contradictory. In the first you acknowledge that services may be outside the scope of Tapestry IoC. But in the next you go on to say that To encourage service implementations to properly store service depenencies as final instance variables, such dependencies are passed only into the constructor. which doesn't jive with the place-nice-with-others phrasing in the first paragraph. I disagree with philosophy of forcing people to have the services only injected via constructors because: 1. it results in a monster constructors for some key services. 2. yet another barrier to converting from T4 3. unnecessarily imposing a requirement on the Tapestry developer. 4. meaningless - just because you force a monster constructor doesn't mean the person is going to make it a final member. 5. You are assuming that it is unconceivable for services once wired together to ever want to be rewired - and this is not the case. But at the end of the day - why be dogmatic about this? Or did I misunderstand something? -Pat P.S. the case for rewiring is thus: Originally wiring the service it is wired to a local version of another service. While the server is running, the local service is turned off and replaced with a reference to a remote version of the service. This would happen if the box is experiencing high traffic volumes and rather than handle all the work on the current box, the server starts sending some traffic to an different server. The idea of rigid, statically wired services defeats this flexibility. On Nov 10, 2007 3:22 PM, Howard Lewis Ship [EMAIL PROTECTED] wrote: Services are loaded by the normal class loader without any special trickery. We create classes (proxies and such), but don't modify existing classes for Tapestry IoC. This is necessary to ensure that services code inter-operates properly with all kinds of third party, legacy and other code that is far, far beyond the scope of Tapestry IoC. To encourage service implementations to properly store service depenencies as final instance variables, such dependencies are passed only into the constructor. So for services, injection is assumed, for the constructor parameters (as if an @Inject annotation was present).
T4: extracting out static files...
Hi there -- I would like to reduce the load on my tapestry server by having static files (such as dojo) be served by an external server. In my case I am thinking about amazon's s3 service. In order for this to work well, we need to : 1. have all static files served by a separate subdomain. (i.e. static.amplafi.net) 2. have tapestry generate the correct references to the static subdomain 3. have a way to extract all static content from the tapestry distribution easily so keeping up with the 4.1.-SNAPSHOT builds is not difficult. 4. ?? Has anyone else attempted to do this ? Any other issues I need to be aware of? I believe that an md5 hash is added to the static path generated and I would like to preserve that functionality if I can. Being able to do this separation seems like an obvious way to make the webserver dollars go further. So I hope someone else has already attempted this.. TIA -Pat Moore
Re: Memory consumption in T4.1.2 - Hard data
Hi Jesse -- Thanks for your work on Tapestry. I have noticed an issue around memory usage with our automated tests which extensively use hivemind. I was wondering if anyone has investigated hivemind memory leaks. I am going to do some further investigating as time permits after Tuesday. That being said, we have a publicly-accessible machine with the latest yourkit 7m2 release on it that could be used to get long-running memory information.Contact me off-list about getting access to the instance.This is our production machine - but since we are still in beta we don't have many users (i.e. no one will notice a little memory profiling). I would suggest the Tapestry community pitch in a little to help gather data to track down this issue - or determine it is a non-issue. One of open source's advantages is the power of the many to solve issues like this. I for one don't want to rely just on jesse to solve what sounds to be very serious barrier to my own personal success. -Pat Moore Amplafi On 8/28/07, Jesse Kuhnert [EMAIL PROTECTED] wrote: Umm yeah. I have looked in to it as I just said. The only thing left is for me to look at this youkit snapshot profile and play from there but I'm not capable of debugging issues that aren't reported properly. On 8/28/07, Peter Stavrinides [EMAIL PROTECTED] wrote: Hi Jessie I'm gonna try update my version of ognl, if that won't work I will downgrade. I have not filed any bugs yet, but I sent a couple of emails to the list. I don't get any exceptions during development, but that is because its not running for 3 or 4 days. I strongly suggest you consider looking into it, because I use the standard libraries provided by Tapestry through Maven. my configuration is as follows: JDK 6.01 32bit JVM (I have also tested on a 64 bit with no luck) Tomcat 5.5.20 Debian Linux (2.6.15.28 kernel) Tapestry 4.1.2-SNAPSHOT with ognl 2.7 regards, Peter Jesse Kuhnert wrote: I'd downgrade then if I were you. Extensive profiling with yourkit hasn't shed any new light on whatever problems others are having. The OGNL classes indeed aren't being kept in the javassist pool from what I can tell. I have another yourkit snapshot binary to look at so we'll see what that says. I don't remember - have you filed any bug reports or reported any problems? Are you getting ognl exceptions during development as well as production? Do these errors sound like umpotential errors that should be looked at further? On 8/28/07, Peter Stavrinides [EMAIL PROTECTED] wrote: Hi Jessie Any progress on this? sorry to bug you, but I have to take a decision soon, I have two production machines that will need to upgrade or downgrade Tapestry. Best wishes, Peter Jon Oakes wrote: Hi Bryan, I am a relative newbie but I was wondering if you are running with caching enabled or disabled? It might make sense to keep things around when caching is disabled whereas I think it would clearly be a bug to keep things around with it disabled. Jon Oakes Jesse Kuhnert wrote: Hmmm...well, I don't think I like the sound of any of that. I'm just going to pretend this problem doesn't exist. (just kidding) I had thought I was doing something special with the ognl compilations that would cause its generated classes to not hang around afterwards in any pools. I'll take a look at things this weekend and am sure a fix will appear in between now and Monday - if there is a reasonable fix to be found. (in 4.1.3 snapshot form) On 8/24/07, Bryan Dotzour [EMAIL PROTECTED] mailto: [EMAIL PROTECTED] wrote: I and another colleague of mine have been investigating what seems to be a memory leak in our Tapestry application for about a month since we upgraded to T4.1.2. I won't bore you with the saga of the last month, but I would like to present the data I've gathered and look to the list for a proposed solution. I was reading a recent thread in which Jesse said (08/09/2007): There is a map that grows as large as the system using it internally to javassist of various cached reflection info - but it doesn't leak in any way. This is precisely what I've found in profiling our application and it *appears* to be this map that is causing our applications to eventually run out of memory. The YourKit profiler shows me that, as time goes on, there is an instance of HiveMindClassPool that grows and grows as class instances are created. This class extends from javassist.ClassPool and is the map that Jesse is talking about in his quote above. And he's right, I wouldn't say that the class pool leaks either because it looks like it's designed to retain that memory until the class pool itself is no longer needed. Take this quote from the
tapestry job I created on odesk... can't afford a lot but if you know someone who wants some pocket money...
Hi there, I created a odesk job for someone to help me finish a xml translator that will be contributed back to tapestry. I have done a lot of design and a fair amount of code as well, but I don't have the time to finish it off. But if you know someone who does the job is here: https://my.odesk.com/console/j/opening.php?key=dd384f65af78a9c0tot=1060pos=4 (or if you want to do it for free :-) ... like I said this will be contributed back to tapestry.) -Pat
Re: tapestry job I created on odesk... can't afford a lot but if you know someone who wants some pocket money...
Thanks! -Pat On 5/28/07, Andreas Andreou [EMAIL PROTECTED] wrote: dojo.dom.createDocumentFromText can help for client-side validation On 5/29/07, Patrick Moore [EMAIL PROTECTED] wrote: Hi there, I created a odesk job for someone to help me finish a xml translator that will be contributed back to tapestry. I have done a lot of design and a fair amount of code as well, but I don't have the time to finish it off. But if you know someone who does the job is here: https://my.odesk.com/console/j/opening.php?key=dd384f65af78a9c0tot=1060pos=4 (or if you want to do it for free :-) ... like I said this will be contributed back to tapestry.) -Pat -- Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr Tapestry / Tacos developer Open Source / JEE Consulting
Re: Using BaseComponentTestCase in Junit
Why not just copy to code and do whatever conversion you need to do... probably simplest in the long run ??
XML translator/validator
Hi there -- Before I post an odesk job to have someone do up a XML translator/validator does anyone have any such beast half-baked or otherwise that can be donated to tapestry? -Pat
Re: Billing system integration
There shouldn't be an issue when the browser gets redirected back to your site, your sites session cookies will still be present and every thing should continue as before. On 5/22/07, Renat Zubairov [EMAIL PROTECTED] wrote: Hi What about configuring servlet container for longer session timeout? Renat On 22/05/07, Stephane Decleire [EMAIL PROTECTED] wrote: Hi, I've got a specific use case where a user needs to leave my Tap4.1 application in order to enter his payment informations on a billing system before being sent back on my website with a result code. What is the best way to implement such a case and to keep the user session while he is on the billing system ? Thanks in advance for any idea. Stephane Decleire www.bebe-nounou.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Best regards, Renat Zubairov - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JAVAFORGE status please
A note: Jesse has a 2.4-SNAPSHOT of the maven-surefire-plugin over at the apache snapshots. This works with testng 5.5 repository idapache.snapshots/id urlhttp://people.apache.org/repo/m2-snapshot-repository//url /repository On 5/2/07, Ken nashua [EMAIL PROTECTED] wrote: I decided to look at javaforge because of the post-redirect-get solution with @Persist(flash) A small snippet was offered for the solution but I bargained for dragging in alot more. Help is appreciated abouot it's usability. owhat is the status of this project? Is it usable? owhy does it not build on svn checkout? The plugin rev does not exist? plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-surefire-plugin/artifactId version2.8-SNAPSHOT/version /plugin owhat do I have to do to get this to build? Replace plugin rev with 2.3? Still fails... oIs any of this functionality inside tapestry-4.1.1 ? owill any of this functionality be in tapestry-5.0 ? Best regards Ken in nashua _ Mortgage refinance is Hot. *Terms. Get a 5.375%* fix rate. Check savings https://www2.nextag.com/goto.jsp?product=10035url=%2fst.jsptm=ysearch=mortgage_text_links_88_h2bbbdisc=yvers=925s=4056p=5117 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Another reason to avoid IE!
Hi there -- Brief blog post summarizing yet another 'wonderful' IE idea - MIME sniffing (is this like glue sniffing?) http://www.sworddance.com/blog/2007/05/01/what-the-hell-were-they-thinking/ How reasonable would it be for tapestry to have some way of flagging an uploaded file that looked like it was pulling this stunt? Obviously doing something about it is way beyond what tapestry should do? -Pat
Re: Another reason to avoid IE!
I am just thinking of the upload component having the ability to notify a method that the file uploaded looks like an HTML as far as IE is concerned. It would be a tool against someone abusing a tapestry-based website. Fixing the file or anything else is far beyond my thinking. On 5/1/07, Jesse Kuhnert [EMAIL PROTECTED] wrote: I always set the Content-Disposition: attachment in my header fields of services returning file data anyways because of related reasons. I don't think tapestry can do this for anyone but maybe I'm wrong. On 5/1/07, Patrick Moore [EMAIL PROTECTED] wrote: Hi there -- Brief blog post summarizing yet another 'wonderful' IE idea - MIME sniffing (is this like glue sniffing?) http://www.sworddance.com/blog/2007/05/01/what-the-hell-were-they-thinking/ How reasonable would it be for tapestry to have some way of flagging an uploaded file that looked like it was pulling this stunt? Obviously doing something about it is way beyond what tapestry should do? -Pat -- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
Re: Another reason to avoid IE!
Well I am presuming that no website is intentionally creating a bogus file. So I am presuming the bogus content originated from a malicious user. This allows the violation to be handled at the moment it is occuring rather than much later. Probably the best solution would be some hook that that would allow file validation, and on the fly processing. Looking at the upload docs, it looks like it would be best if some real design thought went in to any solution so it is more than just a adhoc 1-off. -Pat On 5/1/07, Jesse Kuhnert [EMAIL PROTECTED] wrote: Isn't this for the reverse situation though, serving files? Most browsers should be able to tell you what they think the mime type is for incoming files thoughI guess that could be exposed in the Upload interface if it's not already.. On 5/1/07, Patrick Moore [EMAIL PROTECTED] wrote: I am just thinking of the upload component having the ability to notify a method that the file uploaded looks like an HTML as far as IE is concerned. It would be a tool against someone abusing a tapestry-based website. Fixing the file or anything else is far beyond my thinking. On 5/1/07, Jesse Kuhnert [EMAIL PROTECTED] wrote: I always set the Content-Disposition: attachment in my header fields of services returning file data anyways because of related reasons. I don't think tapestry can do this for anyone but maybe I'm wrong. On 5/1/07, Patrick Moore [EMAIL PROTECTED] wrote: Hi there -- Brief blog post summarizing yet another 'wonderful' IE idea - MIME sniffing (is this like glue sniffing?) http://www.sworddance.com/blog/2007/05/01/what-the-hell-were-they-thinking/ How reasonable would it be for tapestry to have some way of flagging an uploaded file that looked like it was pulling this stunt? Obviously doing something about it is way beyond what tapestry should do? -Pat -- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com -- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
Re: Another reason to avoid IE!
Looking at the Upload component for other reasons... Looking at the example in the documentation: Does the upload complete before the formSubmit? I presume not but one should always ask. And does upload work well with async requests... ala gmails attach file functioanlity? -Pat
Re: New OGNL snapshot?
If you send me the jars ... I have a repo that I could post it tooat least for today and with a little bit of work on my end ... more than that if needed... -Pat On 4/30/07, Jesse Kuhnert [EMAIL PROTECTED] wrote: Unfortunately I haven't been able to. Some technical difficulties have come up with the current deployment target so I have to find a new home to deploy it to. I'm not sure where that's supposed to be exactly. The opensymphony people have offered their repo but want me to change the groupId to opensymphony - not really appealinggarrI'm open to ideas... On 4/30/07, Ben Dotte [EMAIL PROTECTED] wrote: Jesse - you fixed some ognl bugs on 4-28 but I don't see a new snapshot. Any chance you could push one out so we can test the fixes? Thanks! Ben - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
Re: Does tapestry5 don't support jdk1.4
jdk 1.4 3+ years old, annotations are great for tapestry I don't have a single .jwc file anywhere But personally, I think the hibernate people are smoking crack to use annotations. Data outlasts programs and to have your data definitions blended with your code WTF are they thinking. But for tapestry? come on! Hey they are working on jdk 1.7 at some point Sun is going to EOL 1.4like they did 1.3 catch up with the rest of the world! -Pat On 4/18/07, li li [EMAIL PROTECTED] wrote: Annotation is a bad small. I mean that it is a bad thing. You have to compile all java code if you change any annotations. But if you use xml config file,there is no problem. *离人网*
Re: anyone else having problems with today's snapshot?
a new snapshot was pushed today ... still having the same problem On 4/14/07, Patrick Moore [EMAIL PROTECTED] wrote: Hi there -- I seem to be having problems with the latest 4.1.2 snapshot finding child libraries. The snapshot is failing to find Dojo.library in tacos. Stack Trace: - org.apache.tapestry.parse.SpecificationParser.parseDocument( SpecificationParser.java:1645) - org.apache.tapestry.parse.SpecificationParser.parseLibrarySpecification (SpecificationParser.java:1691) - $ISpecificationParser_111f35dc1e0.parseLibrarySpecification($ISpecificationParser_111f35dc1e0.java) - $ISpecificationParser_111f35dc1e1.parseLibrarySpecification($ISpecificationParser_111f35dc1e1.java) - $ISpecificationParser_111f35dc1e2.parseLibrarySpecification($ISpecificationParser_111f35dc1e2.java) - org.apache.tapestry.services.impl.SpecificationSourceImpl.parseLibrarySpecification (SpecificationSourceImpl.java:149) - org.apache.tapestry.services.impl.SpecificationSourceImpl.getLibrarySpecification (SpecificationSourceImpl.java:203) - org.apache.tapestry.services.impl.NamespaceResourcesImpl.findChildLibrarySpecification (NamespaceResourcesImpl.java:52) - org.apache.tapestry.engine.Namespace.createNamespace( Namespace.java:296) - org.apache.tapestry.engine.Namespace.getChildNamespace( Namespace.java:148) - org.apache.tapestry.resolver.AbstractSpecificationResolver.findNamespaceForId (AbstractSpecificationResolver.java:203) - com.transparentpolitics.web.resolvers.ClasspathComponentSpecResolver.resolve (ClasspathComponentSpecResolver.java:132) - $ComponentSpecificationResolver_111f35dc2be.resolve($ComponentSpecificationResolver_111f35dc2be.java) - $ComponentSpecificationResolver_111f35dc2bf.resolve($ComponentSpecificationResolver_111f35dc2bf.java) - org.apache.tapestry.services.impl.DefaultParserDelegate.getAllowBody (DefaultParserDelegate.java:70) - org.apache.tapestry.parse.TemplateParser.processComponentStart( TemplateParser.java:995) - org.apache.tapestry.parse.TemplateParser.startTag( TemplateParser.java:866) - org.apache.tapestry.parse.TemplateParser.parse(TemplateParser.java:515) - org.apache.tapestry.parse.TemplateParser.parse(TemplateParser.java:358) - $ITemplateParser_111f35dc32d.parse($ITemplateParser_111f35dc32d.java) - $ITemplateParser_111f35dc32e.parse($ITemplateParser_111f35dc32e.java) - org.apache.tapestry.services.impl.TemplateSourceImpl.constructTemplateInstance (TemplateSourceImpl.java:407) - org.apache.tapestry.services.impl.TemplateSourceImpl.parseTemplate (TemplateSourceImpl.java:384) - org.apache.tapestry.services.impl.TemplateSourceImpl.getOrParseTemplate (TemplateSourceImpl.java:361) - org.apache.tapestry.services.impl.TemplateSourceImpl.findStandardTemplate (TemplateSourceImpl.java:341) - org.apache.tapestry.services.impl.TemplateSourceImpl.findTemplate( TemplateSourceImpl.java:246) - org.apache.tapestry.services.impl.TemplateSourceImpl.getTemplate( TemplateSourceImpl.java:189) - $TemplateSource_111f35dc22d.getTemplate($TemplateSource_111f35dc22d.java) - org.apache.tapestry.services.impl.ComponentTemplateLoaderImpl.loadTemplate (ComponentTemplateLoaderImpl.java:56) - $ComponentTemplateLoader_111f35dc2c0.loadTemplate($ComponentTemplateLoader_111f35dc2c0.java) - org.apache.tapestry.pageload.PageLoader.loadTemplateForComponent( PageLoader.java:631) - org.apache.tapestry.BaseComponent.readTemplate(BaseComponent.java:77) - org.apache.tapestry.BaseComponent.finishLoad(BaseComponent.java:107) - $Border_7.finishLoad($Border_7.java) - org.apache.tapestry.pageload.PageLoader.constructComponent( PageLoader.java:408) - org.apache.tapestry.pageload.PageLoader.createImplicitComponent( PageLoader.java:461) - $IPageLoader_111f35dc2b6.createImplicitComponent($IPageLoader_111f35dc2b6.java) - $IPageLoader_111f35dc2b7.createImplicitComponent($IPageLoader_111f35dc2b7.java) - org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.createImplicitComponent (ComponentTemplateLoaderLogic.java:218) - org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process (ComponentTemplateLoaderLogic.java:172) - org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process (ComponentTemplateLoaderLogic.java:111) - org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.loadTemplate (ComponentTemplateLoaderLogic.java:88) - org.apache.tapestry.services.impl.ComponentTemplateLoaderImpl.loadTemplate (ComponentTemplateLoaderImpl.java:61) - $ComponentTemplateLoader_111f35dc2c0.loadTemplate($ComponentTemplateLoader_111f35dc2c0.java) - org.apache.tapestry.pageload.PageLoader.loadTemplateForComponent( PageLoader.java:631) - org.apache.tapestry.BaseComponent.readTemplate(BaseComponent.java:77
anyone else having problems with today's snapshot?
Hi there -- I seem to be having problems with the latest 4.1.2 snapshot finding child libraries. The snapshot is failing to find Dojo.library in tacos. Stack Trace: - org.apache.tapestry.parse.SpecificationParser.parseDocument( SpecificationParser.java:1645) - org.apache.tapestry.parse.SpecificationParser.parseLibrarySpecification (SpecificationParser.java:1691) - $ISpecificationParser_111f35dc1e0.parseLibrarySpecification($ISpecificationParser_111f35dc1e0.java) - $ISpecificationParser_111f35dc1e1.parseLibrarySpecification($ISpecificationParser_111f35dc1e1.java) - $ISpecificationParser_111f35dc1e2.parseLibrarySpecification($ISpecificationParser_111f35dc1e2.java) - org.apache.tapestry.services.impl.SpecificationSourceImpl.parseLibrarySpecification (SpecificationSourceImpl.java:149) - org.apache.tapestry.services.impl.SpecificationSourceImpl.getLibrarySpecification (SpecificationSourceImpl.java:203) - org.apache.tapestry.services.impl.NamespaceResourcesImpl.findChildLibrarySpecification (NamespaceResourcesImpl.java:52) - org.apache.tapestry.engine.Namespace.createNamespace(Namespace.java:296) - org.apache.tapestry.engine.Namespace.getChildNamespace( Namespace.java:148) - org.apache.tapestry.resolver.AbstractSpecificationResolver.findNamespaceForId (AbstractSpecificationResolver.java:203) - com.transparentpolitics.web.resolvers.ClasspathComponentSpecResolver.resolve (ClasspathComponentSpecResolver.java:132) - $ComponentSpecificationResolver_111f35dc2be.resolve($ComponentSpecificationResolver_111f35dc2be.java) - $ComponentSpecificationResolver_111f35dc2bf.resolve($ComponentSpecificationResolver_111f35dc2bf.java) - org.apache.tapestry.services.impl.DefaultParserDelegate.getAllowBody (DefaultParserDelegate.java:70) - org.apache.tapestry.parse.TemplateParser.processComponentStart( TemplateParser.java:995) - org.apache.tapestry.parse.TemplateParser.startTag( TemplateParser.java:866) - org.apache.tapestry.parse.TemplateParser.parse(TemplateParser.java:515) - org.apache.tapestry.parse.TemplateParser.parse(TemplateParser.java:358) - $ITemplateParser_111f35dc32d.parse($ITemplateParser_111f35dc32d.java) - $ITemplateParser_111f35dc32e.parse($ITemplateParser_111f35dc32e.java) - org.apache.tapestry.services.impl.TemplateSourceImpl.constructTemplateInstance (TemplateSourceImpl.java:407) - org.apache.tapestry.services.impl.TemplateSourceImpl.parseTemplate( TemplateSourceImpl.java:384) - org.apache.tapestry.services.impl.TemplateSourceImpl.getOrParseTemplate (TemplateSourceImpl.java:361) - org.apache.tapestry.services.impl.TemplateSourceImpl.findStandardTemplate (TemplateSourceImpl.java:341) - org.apache.tapestry.services.impl.TemplateSourceImpl.findTemplate( TemplateSourceImpl.java:246) - org.apache.tapestry.services.impl.TemplateSourceImpl.getTemplate( TemplateSourceImpl.java:189) - $TemplateSource_111f35dc22d.getTemplate($TemplateSource_111f35dc22d.java) - org.apache.tapestry.services.impl.ComponentTemplateLoaderImpl.loadTemplate (ComponentTemplateLoaderImpl.java:56) - $ComponentTemplateLoader_111f35dc2c0.loadTemplate($ComponentTemplateLoader_111f35dc2c0.java) - org.apache.tapestry.pageload.PageLoader.loadTemplateForComponent( PageLoader.java:631) - org.apache.tapestry.BaseComponent.readTemplate(BaseComponent.java:77) - org.apache.tapestry.BaseComponent.finishLoad(BaseComponent.java:107) - $Border_7.finishLoad($Border_7.java) - org.apache.tapestry.pageload.PageLoader.constructComponent( PageLoader.java:408) - org.apache.tapestry.pageload.PageLoader.createImplicitComponent( PageLoader.java:461) - $IPageLoader_111f35dc2b6.createImplicitComponent($IPageLoader_111f35dc2b6.java) - $IPageLoader_111f35dc2b7.createImplicitComponent($IPageLoader_111f35dc2b7.java) - org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.createImplicitComponent (ComponentTemplateLoaderLogic.java:218) - org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process (ComponentTemplateLoaderLogic.java:172) - org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process (ComponentTemplateLoaderLogic.java:111) - org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.loadTemplate (ComponentTemplateLoaderLogic.java:88) - org.apache.tapestry.services.impl.ComponentTemplateLoaderImpl.loadTemplate (ComponentTemplateLoaderImpl.java:61) - $ComponentTemplateLoader_111f35dc2c0.loadTemplate($ComponentTemplateLoader_111f35dc2c0.java) - org.apache.tapestry.pageload.PageLoader.loadTemplateForComponent( PageLoader.java:631) - org.apache.tapestry.BaseComponent.readTemplate(BaseComponent.java:77) - org.apache.tapestry.BaseComponent.finishLoad(BaseComponent.java:107) - $Home_0.finishLoad($Home_0.java) - org.apache.tapestry.pageload.PageLoader.constructComponent( PageLoader.java:408) -
Re: Tapestry 5 Redirects
not my phone ... (yet) it can't handle for example the date or time dropdown picker in tapestry. dojo in general seems not phone browser friendly yet but looking at what the dojo people are saying -- as soon as better emulators become available this will change. one of our key markets is mobile workers who only have a phone browser available to them. In the U.S. there are laws about government workers using government computers to do any political work ( although the Bush administration has recently been busted about ignoring that law ). So as a result, if a political appointee needs to do campaign work during work hours -- they must go outside and use their mobile phone. So at least for my company, I really am expecting a huge % of users to be mobile users. -Pat On 4/13/07, Massimo Lusetti [EMAIL PROTECTED] wrote: On 4/13/07, Jesse Kuhnert [EMAIL PROTECTED] wrote: I think Patrick is right, phone browser concerns are becoming more and more important as those platforms continue to evolve and get wider usage. I'm always disappointed when I got to a site with no real mobile support on my blackberry pearl. That's true as is true that mobiles devices are becoming more and more web capable. I find more convenient to focus on typical and wide spread web application usage for T5 features implementation, then look at the rest. Can mobile devices take advantage of a feature rich form with ajax features? (no sarcasm in this question) -- Massimo http://meridio.blogspot.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: AW: T5:Page navigation
I hope it will be possible to turn this off for some sessions. The case I am concerned about is my phone browser -- which asks the user to confirm every client-side redirect. While I understand the reasons for page-redirects by default -- I do need to not make our phone users life miserable. -Pat On 4/11/07, Howard Lewis Ship [EMAIL PROTECTED] wrote: Every request is a page redirect in T5. Check the URLs in the browser as you work through the application.
Re: Tapestry 5 Redirects
well at least one reason is that phone browsers ask the user to confirm each and every client-side redirect On 4/12/07, Massimo Lusetti [EMAIL PROTECTED] wrote: On 4/12/07, Andreas Pardeike [EMAIL PROTECTED] wrote: Is that clever design? I can think of several reasons why this could be a bad idea. What's the reasoning behind this? Redirects helps you keeping your url and page states cleans, i mean helps you a lot. Which use case do you think to address? -- Massimo http://meridio.blogspot.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
@Parameter(cache=true) ... am I misunderstanding this?
Hi there -- I am passing to a component's parameter the result of a containing component's method. Now I was thinking that because of cache=true being the default on @Parameter that the container's method would only be called once ... but this does not seem to be the case. I am having the container's method being called multiple times during a render operation. Is this a bug or expected behaviour? -Pat
session persistance?
Hi there -- does anyone have some thoughts on why: @Persist @InitialValue(new java.util.HashSet()) public abstract SetLong getFollowUpMessages(); public abstract void setFollowUpMessages(SetLong set); keeps on resetting the set to a new HashSet between http requests? It looks like according to the @Persist documentation this is the correct way to set an initial value if there is no value already in the session. But it seems not to be the case... -Pat
@Parameter(cache=true) ... am I misunderstanding this?
Hi there -- I am passing to a component's parameter the result of a containing component's method. Now I was thinking that because of cache=true being the default on @Parameter that the container's method would only be called once ... but this does not seem to be the case. I am having the container's method being called multiple times during a render operation. Is this a bug or expected behaviour? -Pat
session persistance?
Hi there -- does anyone have some thoughts on why: @Persist @InitialValue(new java.util.HashSet()) public abstract SetLong getFollowUpMessages(); public abstract void setFollowUpMessages(SetLong set); keeps on resetting the set to a new HashSet between http requests? It looks like according to the @Persist documentation this is the correct way to set an initial value if there is no value already in the session. But it seems not to be the case... -Pat
OGNL issue/contrib:Table issue
Hi there -- I am not certain if this is a OGNL issue or a contrib:Table issue. I have a instance of a class that Hibernate has enhanced and is really a proxy object. I am using this object in a contrib:Table. OGNL is trying to enhance this class to add [EMAIL PROTECTED] get (Lognl/OgnlContext;Ljava/lang/Object;)Ljava/lang/Object;] method. Javassist is throwing a javassist.compile.CompilerError complaining compile error: no such class: com.transparentpolitics.core.BroadcastProviderUrl$$EnhancerByCGLIB$$3e86bbb8 However, if I display exactly the same information in a @For loop it works fine: !-- This works span jwcid=@For source=ognl:urls value=ognl:current span jwcid=@Insert value=ognl: current.broadcastProvider.broadcastProviderName/ span jwcid=@Insert value=ognl:current.getRootUrl()/ /span -- !-- this doesn't -- table jwcid=[EMAIL PROTECTED]:Table source=ognl:urls columns=!providerName:Organization name: broadcastProvider.broadcastProviderName, !url:getRootUrl(), !actions class=table cellspacing=0 cellpadding=0 td jwcid=[EMAIL PROTECTED] a href=# jwcid=[EMAIL PROTECTED] listener=listener:verifiedUrlManually parameters=ognl:components.t1.tableRow.entityIdVerified Manually/a | a href=# jwcid=[EMAIL PROTECTED] listener=listener:deleteUrl parameters=ognl:components.t1.tableRow.entityId Delete/a /td /table So which project gets the bug -Pat Stack trace: 01:27:07.296 ERROR! [SocketListener0-5] org.apache.tapestry.contrib.table.model.ognl.OgnlTableColumnEvaluator.getColumnValue (OgnlTableColumnEvaluator.java:63) 165 Cannot use column expression ' broadcastProvider.broadcastProviderName' in row org.apache.hivemind.ApplicationRuntimeException: Unable to parse OGNL expression 'broadcastProvider.broadcastProviderName': Error compiling expression on object [EMAIL PROTECTED](id=1) with expression node broadcastProvider.broadcastProviderName getter body: { return (( com.transparentpolitics.core.BroadcastProviderUrl$$EnhancerByCGLIB$$3e86bbb8)$2).getBroadcastProvider().getBroadcastProviderName();} setter body: null at org.apache.tapestry.services.impl.ExpressionCacheImpl.parse( ExpressionCacheImpl.java:133) at org.apache.tapestry.services.impl.ExpressionCacheImpl.getCompiledExpression( ExpressionCacheImpl.java:91) at $ExpressionCache_111b153c750.getCompiledExpression($ExpressionCache_111b153c750.java) at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read( ExpressionEvaluatorImpl.java:94) at $ExpressionEvaluator_111b153c74e.read($ExpressionEvaluator_111b153c74e.java) at org.apache.tapestry.contrib.table.model.ognl.OgnlTableColumnEvaluator.getColumnValue (OgnlTableColumnEvaluator.java:59) at org.apache.tapestry.contrib.table.model.simple.SimpleTableColumn.getColumnValue (SimpleTableColumn.java:211) at org.apache.tapestry.contrib.table.model.simple.SimpleTableValueRendererSource.getRenderer (SimpleTableValueRendererSource.java:56) at org.apache.tapestry.contrib.table.model.common.AbstractTableColumn.getValueRenderer (AbstractTableColumn.java:173) at org.apache.tapestry.contrib.table.components.TableValues.getTableValueRenderer (TableValues.java:90) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:631) at ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:1044) at ognl.ObjectPropertyAccessor.getPossibleProperty( ObjectPropertyAccessor.java:60) at ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java :134) at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1755) at ognl.ASTProperty.getValueBody(ASTProperty.java:109) at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:200) at ognl.SimpleNode.getValue(SimpleNode.java:244) at ognl.Ognl.getValue(Ognl.java:376) at ognl.Ognl.getValue(Ognl.java:340) at org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression (HiveMindExpressionCompiler.java:137) at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:388) at ognl.Ognl.compileExpression(Ognl.java:123) at org.apache.tapestry.services.impl.ExpressionCacheImpl.parse( ExpressionCacheImpl.java:129)
Re: [announce] ognl 2.7 fail-safe enabled
Hi Jesse -- It is nice that you care enough to put both a workaround and to ask for the people to report issues... -Pat On 4/2/07, Jesse Kuhnert [EMAIL PROTECTED] wrote: I think I've resolved most of the issues over the weekend already, but since I ran across a new ognl jira issue this morning I went ahead and enabled the promised fail-safe compilation features. If anyone gets any exceptions related to ognl javassist please report them asap, if they're just stack dumps to system.out it would be ~nice~ if you filed the bugs but hopefully they won't affect the operation of your respective apps. This was only enabled / deployed an hour or so ago so you'll need to get the new snapshot to see the changes. -- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Role based security
hi sam... sounds pretty interesting... I especially like the sounds of something that slips in the cracks without imposing expectations of knowledge on developers. I will be looking at the hibernate filters now in a whole new light.. -Pat
Re: trying tapestry on the phone...
Hi Jesse -- Oh we probably will create a different set of web pages for the phone experience for all the reasons you mentioned, and also because the flow through the app should probably be very different so as to reduce the scrolling on the phone. But a simple proof of concept is what we are gunning for now + getting experience with phone browsers. We talked to a phone java/BREW person. His basic take on the phone situation is that the phone browsers have come a long way and that it is reasonable to think about offering a phone browser-based solution with just a small team, whereas going native required its own team - even if J2ME was used -there are so many fundamental differences in the J2ME profiles. When it came to the BREW he basically said that it is impossible -- the phone companies throw so many roadblocks in the way. Now this guy was doing games on the phone, which we are definately not doing. So it could be that for our relatively simple apps that we will not have the same problem. However, you ignore an expert's advise at your own peril. In a year, we could probably revisit this but in the meantime -- way too much on the plate as it is -Pat On 2/11/07, Jesse Kuhnert [EMAIL PROTECTED] wrote: I've never had good luck trying to make the same html of a web app work on a mobile phone or normal browser. Everything is so constrained / different that I've always ended up creating a separate set of templates that are specifically targeted for mobile devices. You could probably detect the use of a mobile browser and have a different set of html templates used as a result. (I know Tapestry allows for this ability, just haven't had to do it in Tapestry yet) Your users will appreciate this customized experienced anyways. If this mobile browsing capability is more than a nice to have addition to your product (ie a core service that people are likely to use on a daily basis ) you may want to investigate how much sense creating a j2me / native app would make. (none if it's not a regular enough thing that would make people ok with downloading an app) Tapestry is great for a lot of things, but personally speaking if it were a critical part of my product offering that people use for more than casual browsing I wouldn't make it a web app at all...(perhaps re-use the same services / etc , but the experience is always going to be 10x better when coming in native form on those kinds of platforms...)
Re: trying tapestry on the phone...
Thanks ... I will try that out .. unfortunately even if it works for me I cannot compell my customers to download and us it. I don't want to try and tell the customers how to do so either, as I am trying to sell my prodct not opera's. -Pat On 2/10/07, Thiago H de Paula Figueiredo [EMAIL PROTECTED] wrote: On Sat, 10 Feb 2007 04:10:35 -0200, Patrick Moore [EMAIL PROTECTED] wrote: Hi there -- I am trying to access my tapestry 4.1.2 application via a fairly high-end phone browser. (Samsung a900m). As far as I know, the best browser for cell phones is Opera Mini (http://www.operamini.com/). It's written in Java, so I suppose your phone will run it. You can even try it as an applet here: http://www.operamini.com/demo/ Good luck! - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
trying tapestry on the phone...
Hi there -- I am trying to access my tapestry 4.1.2 application via a fairly high-end phone browser. (Samsung a900m). I have some preliminary results and a few gotcha's posted on my blog at : http://www.sworddance.com/blog/2007/02/09/phone-usability-design-notes-part-1/ Biggest gotcha so far is @LinkSubmit. LinkSubmit completely breaks in the phone browser. -Pat Moore
Re: T5: which way do you prefer?
Yeah ... I didn't say this in my earlier post, I understand having multiple methods to allow for easier upgrades. But after suitable discussion and opportunity for users to try in the field, one correct method should be chosen with the other options available as a optional plugin. Realistically once you have thoousands of components written migrating to the latest one true way is a pain-in-the-ass, no-value-added hassle that forces established tapestry installations to stay with old versions -- so that optional plugin is only optional from a decision to use it perspective not a decision to build it perspective. Ideally, we really want people to be able to move easily from Tap3 to Tap5. And if it is not super easy many developers will never be able to convince their managers that it is worth the hassle. -Pat On 1/28/07, RonPiterman [EMAIL PROTECTED] wrote: Martin Strand wrote: No, leaving the decision up to the developer is not a solution at all. Tapestry should have one proper way to do things and if someone is not satisfied with it they can use a 3rd party lib that provides the functionality they need. This will also reduce confusion for newcomers. I'd prefer o leave parameters as they are (ie parameters={color=color}) but the most important thing is that there's one proper way to do things. I thought to keep out of this discussion, but I couldn't help it: Yes, where its possible: one way to do things. taking the xml out is a bless, now one can define components in only two ways instead of 3... but I would vote for the (until now unpopular) binding: @Bindings([EMAIL PROTECTED](name=...,value=...)}) but I guess noone (except me) likes that extra typing... :( Cheers, Ron I hate typing I am not Sam G :-)
Re: T5: which way do you prefer?
Hi there -- I prefer the explicit configure* method approach for most of the reasons mentioned by Kent in his original post, but also for these major reasons: Reduced ramp-up time for a new developer - Under the current annotation approach, new developers have to learn new syntax and tricks to do things that they already knew how to do in java. ( i.e. use setters/getters) Using the configure approach, the only extra thing they need to learn is this configure* method signature. Given a choice between a new developer learning tapestry uniqueness and learning company-specific issues and code, I chose company-specific each and every time -- that is how they are going to add value the fastest to the company's code. Works with existing tools - I know annotations, are hot and useful but as far as I can tell using the bindings with in a @Component add nothing that could not be done with *less* typing using the configure*() method. Why less typing? I use autocomplete on Eclipse! long variable names? no problem. Developers who accidently misspelled a method name? no problem. Supports refactoring. If I refactor using the existing annotation scheme I have to manually change all the bindings! Talk about a disincentive to being agile! Then everywhere the component is used I have to test to make sure that nothing got missed. double-yech. Using configure*() reduces the possible places I could screw-up. Isn't that what tools and frameworks are supposed to do? [Yes I know that I could still have problems in html files -- see below] Debugging and learning --- If a new-to-tapestry developer or an even a tapestry expert is debugging a component, a configure*() method would provide a valuable place to stick a breakpoint. In this method you would see the component fresh out of the component pool and you could step through it as the component and (its subcomponents initialize). May not be a big deal to the tap experts, but would have shortened my learning curve. Documentation -- As in one less thing for the Tapestry developers to document. While the tapestry documentation isn't horrid it isn't the best either. Documentation is always the last thing to be done (if ever). All the documentation about the special binding/validation syntax (and bug testing, and bug fixing, etc) would go away. Reduces the need for special tool support There was much hand-wringing about spindle's development being dropped, because tools are necessary. Well how about making it so that *existing* tools, supported by others outside the Tapestry community, do the trick? This lets the Tapestry community support those other tools, avoid custom solutions that depend on the good graces of a single developer, and broadens the number of people already familiar with the tools that they need to know to be productive using Tapestry. Custom tools would still be needed to help support refactoring of methods within html files but this problem is smaller than having to support refactoring within html files, binding annotations, .jwc files and .page files. Thanks for listening... -Pat Moore
Re: Limit the number of clicks per second inside Tapestry
I would hazard a guess that it would be useful to stop automated spam entries in blogs and automated sign-up by robots. anything that goes faster than a human could go could be throttled On 1/27/07, Howard Lewis Ship [EMAIL PROTECTED] wrote I'd love to know what your underlying use-case is.
Re: Cannot get a connection, pool exhausted
This just tells you the code that ran *after* the offending code. Which if there are background process being fired by quartz for example, tells you nothing. I would suggest whipping together a proxy around the connection manager and saving a exception (for it's stack trace) each time the code hands out a connection and then discards it everytime the connection is returned to the connection pool. Done properly and with jmx it becomes another tool that you can hand to your QA engineers so they can give you better bug reports. -Pat On 1/25/07, Jesse Kuhnert [EMAIL PROTECTED] wrote: Allow only one connection in your connection pool and hit the app until you find what section freezes / stops working...
another annotation for you to consider....
Hi there - playing around with the AnnotationWorker stuff... So I came up with @InjectParameterFlag. This injects whether or not a parameter bound into a component's property. Considering that isParameterBound(String) is called by a number of tapestry components other people might find this useful as well. the JIRA issue: https://issues.apache.org/jira/browse/TAPESTRY-1183 -Pat
Re: Re: Re: Number translator message in 4.1
On 12/5/06, Kevin Menard [EMAIL PROTECTED] wrote: -Original Message- From: Patrick Moore [mailto:[EMAIL PROTECTED] Sent: Monday, December 04, 2006 5:25 PM To: Tapestry users Subject: Re: Re: Re: Number translator message in 4.1 This whole thread started off with a message change. Changing an error message is not changing an API! No, but it is changing an output contract. Perhaps it was never formally committed to, but any sort of test that checks for the presence of an appropriate error message just broke. Backwards compatibility extends beyond just the Java API and should include any user visible change. I dIsagree. By this argument: spelling errors, poorly-worded messages, badly-translated messages, and swear words in messages are not allowed to be changed/corrected/removed because it is part of some contract. If a condition is so important to test against then it is so important to have a custom error message for it. Just to illustrate, I'll go to an extreme. What if the Shell component suddenly started supplying a default stylesheet that provided a Tapestry logo as your background? It wasn't an API change. Your code still works. Is this expected from your framework though? Wouldn't break my code, I overrided the default stylesheets, and right now it is just me and one other person working on my project. I return to the original statement that the user of the framework is the developer. And the developer should always control the output to their end-user. To rely on defaults is just asking for trouble. I would expect the framework to support the 80% use case. I would expect reasonable defaults. The framework should not rely on the developer to override everything to make it consumable by end users. The capability should certainly be there, but the default should be essentially ready for mass consumption. This is a strawman argument, that is not what I am saying. I am saying that user visible output such as error messages are/should always be customized by end developer. Internal behavior and functionality, should have good defaults. Anyhow, we are going to just have to disagree. If you want to respond to this to get the last word in, you are welcome to but I think I have spent too much time on this myself. -Pat
Re: Re: Re: Number translator message in 4.1
Hi Sam -- Well, I don't type nearly as fast. :-) This whole thread started off with a message change. Changing an error message is not changing an API! I return to the original statement that the user of the framework is the developer. And the developer should always control the output to their end-user. To rely on defaults is just asking for trouble. For Jesse, or anyone else should not have to worry about maintaining precisely the same error message. I would rather have him worry about fixing bugs, adding documentation, examples, and adding new features. Take this thread to any other open source project and complain about a error message changing across versions. I have $5 that it is ignored or ridiculed. For the projects I listed, for the most part, they never changed because the existing framework worked good enough. And have a fancy new framework was never worth it - so you would lose the argument about them wanting to upgrade - management doesn't care - they care more about the custom features. From my perspective, having a library get too hung up on backward compatibility is an invitation to stagnation. I much rather have a library that is willing to discard old API's (with appropriate intermediate releases, labeling an API as deprecated.) To me that is a sign that the library maintainers recognize when they made an error in the original design and are correcting it. Or maybe the world headed in a different direction and the library needs to adapt to accommodate the new users' needs. New users will not scream on these email lists that a library is too cluttered with defunct or difficult APIs that are maintained only for 'backward' compatability. They will simply go away. I have said all that I can say about this. -Pat
Re: Re: Number translator message in 4.1
Hi Sam -- I, for one, vote that Jesse's extended message is better... The more meaningful detail that can be provided the better. This is especially true because it is the default message. The first 'user' to see this message is the developer. This developer may be in the middle of pulling their hair out over some other issue and the last thing they need from their framework is Your input is wrong but guess what I am not going to give you a clue on what is the right format (and you can't make me!). Please, Please, don't be cryptic! +1 for new extended default messages! It is worth wading through a sea of PMs to save development stress. This is why I like HLS and Tapestry. ... No (mostly no) cryptic error messages! -Pat On 12/1/06, Sam Gendler [EMAIL PROTECTED] wrote: Given that the messages CAN be overridden, I'd like to register a vote for keeping very simple messages as the default (since I tend to use them as is) and letting individual users override them as necessary. Also, keeping the messages unchanged would aid those of us who will have to port applications to 4.1 at some point. It seems like a change which isn't _necessary_ and since I use the default message in many cases, I'd actually have to go and override the default message throughout my app when I port it (either that, or get PM to buy into the new text, which would take about 10 times as long). Given that 4.1 isn't _supposed_ to have major upgrade incompatibilities (at least, I'd assume so given the similarity in version number), it'd be nice to keep the messages the same unless absolutely necessary. --sam On 12/1/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: *meekly raises hand.. I think my original intention was to change some of the default error messages to give more specific information about the format that we want the input to be in. Rather than just saying your input sucks, try again and having them randomly type stuff in until they get it right. Perhaps the messages need to be looked at a little more closely on an individual basis, or ideally find some way to translate # type number format patterns into a more human friendly message ? On 11/29/06, Kevin Menard [EMAIL PROTECTED] wrote: Hi, Is there any particular reason why the number format message in the number validator changed in 4.1? It used to be: Field must be a numeric value. And now is: Field must be a numeric value. Format is #. It's not clear to me that adding this format message is going to be beneficial to any of our end users. I'm guessing there's a good reason it was added though. I'm just trying to figure out what it may be. Thanks, Kevin -- Kevin Menard Servprise International WebReboot -- Remote Reboot Without Pulling the Plug 800.832.3823 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Re: Re: Number translator message in 4.1
of using a 3rd party product to begin with, not to mention killing any chance of ever upgrading. Building a website which will have static content once the development is complete doesn't suffer from this problem, since you just stick with the framework you have. But when building a service which will have ongoing development for years into the future, not being able to pick up point releases without major code incompatibilities becomes a real problem. The commerical alternatives offer that kind of backward compatibilty. Open source frameworks will have to as well if they want to be seriously considered for widespread adoption. And, to my mind, an application development framework has to pay attention to fundamentals of user interface design as much as the application developers do, if not more so, if the framework is truly going to cut down on workload. And at the very least, changes that will result in visible differences in a page should be explicitly listed in porting notes somewhere. Many of us won't immediately notice that an error message changed, so we won't take into account the task of modifying an entire application's set of validation messages when scheduling a migration. Missing an issue like that can be devastating to a schedule. I realize (now) that 4.1 isn't yet a full release, although the tapestry website sure seems to imply otherwise. But I sure didn't know that the first time I attempted to see what would be involved in migrating to 4.1, and there is nothing in the documentation to imply otherwise. I doubt any new user coming to tapestry today would discover it until they were well into development, unless they happened to stumble into one of the undocumented, but well known, bugs and posted a query to the list, at which point they'd be told to get the latest developer snapshot. That's exactly what happened to me, although I got lucky and found a big ol' bug on my very first day, so I didn't get too far down the migration path before I stopped and turned around. If tap 4.1 is going to be presented to the world as being ready for development, then the porting guide should be up-to-date, including mentioning the known bugs that require an upgrade to the latest dev snapshot. That would at least give framework users a fighting chance. --sam On 12/1/06, Patrick Moore [EMAIL PROTECTED] wrote: Hi Sam -- I, for one, vote that Jesse's extended message is better... The more meaningful detail that can be provided the better. This is especially true because it is the default message. The first 'user' to see this message is the developer. This developer may be in the middle of pulling their hair out over some other issue and the last thing they need from their framework is Your input is wrong but guess what I am not going to give you a clue on what is the right format (and you can't make me!). Please, Please, don't be cryptic! +1 for new extended default messages! It is worth wading through a sea of PMs to save development stress. This is why I like HLS and Tapestry. ... No (mostly no) cryptic error messages! -Pat On 12/1/06, Sam Gendler [EMAIL PROTECTED] wrote: Given that the messages CAN be overridden, I'd like to register a vote for keeping very simple messages as the default (since I tend to use them as is) and letting individual users override them as necessary. Also, keeping the messages unchanged would aid those of us who will have to port applications to 4.1 at some point. It seems like a change which isn't _necessary_ and since I use the default message in many cases, I'd actually have to go and override the default message throughout my app when I port it (either that, or get PM to buy into the new text, which would take about 10 times as long). Given that 4.1 isn't _supposed_ to have major upgrade incompatibilities (at least, I'd assume so given the similarity in version number), it'd be nice to keep the messages the same unless absolutely necessary. --sam
Re: how to wrap tapestry.services.FactoryServices?
Hi there -- Thanks for pointing out the ApplicationServices configuration point. That did it. I still don't understand why the method that I was trying failed. The interceptor stuff seems like way overkill in the specification department to really want to use. -Pat - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
how to wrap tapestry.services.FactoryServices?
Hi -- I am trying to wrap some engine service by replacing the configuration point, tapestry.services.FactoryServices with this definition: contribution configuration-id=service:tapestry.services.FactoryServices service name=home object=service:tapestry.services.Home / service name=direct object=service:transactionalDirectService / service name=page object=service:transactionalPageService / service name=reset object=service:tapestry.services.Reset / service name=restart object=service:tapestry.services.Restart / service name=asset object=service:tapestry.services.Asset / service name=external object=service:tapestry.services.External / /contribution I did something similiar to this to replace tapestry.services.ResponseContributors: contribution configuration-id=tapestry.services.ResponseContributors invoker object=service:ScriptResponseContributor / invoker object=service:tapestry.services.JSONResponseContributor / invoker object=service:tapestry.services.DojoAjaxResponseContributor / invoker object=service:tapestry.services.DefaultResponseContributor / /contribution but for the factoryservices I get : Error building service transparentpolitics.sessionFactory: Error at context:/WEB-INF/hivemodule.xml, line 76, column 87: Unable to construct service tapestry.services.ServiceMap: Error building service tapestry.services.ServiceMap: Error at jar:file:/C:/Documents%20and%20Settings/Owner/.m2/repository/org/apache/tapestry/tapestry-framework/4.1.1-SNAPSHOT/tapestry-framework-4.1.1-SNAPSHOT.jar!/META-INF/tapestry.services.xml, line 159, column 81: Unable to initialize service tapestry.services.ServiceMap (by invoking method initializeService on org.apache.tapestry.services.impl.ServiceMapImpl): Unable to construct configuration tapestry.services.FactoryServices: Element service (at context:/WEB-INF/transpol.persistence.xml, line 47, column 72) contains errors: Value for attribute 'name' ('home') duplicates a prior instance at jar:file:/C:/Documents%20and%20Settings/Owner/.m2/repository/org/apache/tapestry/tapestry-framework/4.1.1-SNAPSHOT/tapestry-framework-4.1.1-SNAPSHOT.jar!/META-INF/tapestry.services.xml, line 53, column 54. Does anyone have any ideas on how I can do this service wrapping? -Pat - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Release schedule of the Tapestry 4.1
I hope to be able to help ... but first I have to first get more comfortable with creating Tapestry apps. I have been using Tapestry for only a few months... I don't think you want me anywhere near the code just yet... :-) On 11/20/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: I actually started going through the unscheduled bug list yesterday and was surprised at how easy a lot of them looked. Of course, easy is a relative word when you have to think about all implications of even the tiniest change anywhere. ;) They will come as well, but we could always use some umm ~cough~ help if people wanted the process sped up. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Release schedule of the Tapestry 4.1
Well there are 151 bugs that are not scheduled to be fixed. Some have been sitting there from over a year ago... It would be nice to have those triaged into a release schedule... I would rather have solid than fancy. Solid can become fancy, fancy without solid is a disaster... My vote: fix the bugs first. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
NoClassDefFoundError in latest snaphot!
There seems to be a missing class in the latest Tapestry 4.1.1 snapshot: Failure invoking constructor for class org.apache.tapestry.services.impl.ComponentMessagesSourceImpl: edu/emory/mathcs/backport/java/util/concurrent/ConcurrentHashMap org.apache.hivemind.ApplicationRuntimeException Failure invoking constructor for class org.apache.tapestry.services.impl.ComponentMessagesSourceImpl: edu/emory/mathcs/backport/java/util/concurrent/ConcurrentHashMap [ +/- ] Exception: edu/emory/mathcs/backport/java/util/concurrent/ConcurrentHashMap java.lang.NoClassDefFoundError edu/emory/mathcs/backport/java/util/concurrent/ConcurrentHashMap Stack Trace: * org.apache.tapestry.services.impl.ComponentMessagesSourceImpl.init(ComponentMessagesSourceImpl.java:78) * sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) * sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) * sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) * java.lang.reflect.Constructor.newInstance(Unknown Source) * org.apache.hivemind.util.ConstructorUtils.invoke(ConstructorUtils.java:139) * org.apache.hivemind.service.impl.BuilderFactoryLogic.instantiateConstructorAutowiredInstance(BuilderFactoryLogic.java:191) * org.apache.hivemind.service.impl.BuilderFactoryLogic.instantiateCoreServiceInstance(BuilderFactoryLogic.java:106) * org.apache.hivemind.service.impl.BuilderFactoryLogic.createService(BuilderFactoryLogic.java:75) * org.apache.hivemind.service.impl.BuilderFactory.createCoreServiceImplementation(BuilderFactory.java:42) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: NoClassDefFoundError in latest snaphot!
Sorry I forgot that I had to manually refresh eclipse too little sleep, too many kids On 11/19/06, andyhot [EMAIL PROTECTED] wrote: that's a new dependency... Both the parent pom and tapestry-framework's pom define it. dependency groupIdbackport-util-concurrent/groupId artifactIdbackport-util-concurrent/artifactId version2.2/version /dependency Patrick Moore wrote: There seems to be a missing class in the latest Tapestry 4.1.1 snapshot: Failure invoking constructor for class org.apache.tapestry.services.impl.ComponentMessagesSourceImpl: edu/emory/mathcs/backport/java/util/concurrent/ConcurrentHashMap org.apache.hivemind.ApplicationRuntimeException Failure invoking constructor for class org.apache.tapestry.services.impl.ComponentMessagesSourceImpl: edu/emory/mathcs/backport/java/util/concurrent/ConcurrentHashMap [ +/- ] Exception: edu/emory/mathcs/backport/java/util/concurrent/ConcurrentHashMap java.lang.NoClassDefFoundError edu/emory/mathcs/backport/java/util/concurrent/ConcurrentHashMap Stack Trace: * org.apache.tapestry.services.impl.ComponentMessagesSourceImpl.init(ComponentMessagesSourceImpl.java:78) * sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) * sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) * sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) * java.lang.reflect.Constructor.newInstance(Unknown Source) * org.apache.hivemind.util.ConstructorUtils.invoke(ConstructorUtils.java:139) * org.apache.hivemind.service.impl.BuilderFactoryLogic.instantiateConstructorAutowiredInstance(BuilderFactoryLogic.java:191) * org.apache.hivemind.service.impl.BuilderFactoryLogic.instantiateCoreServiceInstance(BuilderFactoryLogic.java:106) * org.apache.hivemind.service.impl.BuilderFactoryLogic.createService(BuilderFactoryLogic.java:75) * org.apache.hivemind.service.impl.BuilderFactory.createCoreServiceImplementation(BuilderFactory.java:42) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr Tapestry / Tacos developer Open Source / J2EE Consulting - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: use unique id's generated by tapestry
did you assign the hidden field's id using idPath? Also I am using the 4.1.1 SVN build. I am having some success with this method (borrowed from another's email) in finding the unique ids but I haven't throughly tested it yet: public String getUniqueId(AbstractComponent component) { return getRequestCycle().getUniqueId(TapestryUtils.convertTapestryIdToNMToken(component.getIdPath())); } Hopefully there is a better solution soon! -Pat On 11/4/06, karthik.nar [EMAIL PROTECTED] wrote: Pat, I tried an example similar to the one you've mentioned above. My observation however is that the output will be something like this: input type=hidden id=my.path.foo/ div dojoType=tp:widget1 sid=my.path.foo/ input type=hidden id=my.path.foo/ div dojoType=tp:widget1 sid=my.path.foo/ i.e. in the second instance of input type=hidden the id=my.path.foo and *NOT* id=my.path.foo_0 as you had suggested. Any comments? Patrick Moore-4 wrote: I just realized that what I said was not completely clear. if you have this: span jwcid=@For source=1..2 span jwcid=@mycomponent /span with mycomponent template like this: input jwcid=[EMAIL PROTECTED] id=ognl.components.foo.idPath/ div dojoType=tp:widget1 sid=ognl.foo.clientId/ you would end up with generated out put like this: input type=hidden id=my.path.foo/ div dojoType=tp:widget1 sid=my.path.foo/ input type=hidden id=my.path.foo_0/ div dojoType=tp:widget1 sid=my.path.foo/ so the second instance of the div tag would refer to the first instance of the hidden field, not the second like it should. I hope that is clearer. If anyone discovers I am wrong please let me know the solution. -Pat -- View this message in context: http://www.nabble.com/use-unique-id%27s-generated-by-tapestry-tf2564504.html#a7181627 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: use unique id's generated by tapestry
However see : http://issues.apache.org/jira/browse/TAPESTRY-1131 use clientId does not always generate a unique Id on a page level basis. If another component tried to access the first component's clientId, the result returned would be the first id not the correct uniquified value. -Pat On 11/2/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: IComponent.getClientId() or IComponent.getId() getClientId() is only relevant in context...ie calling it inside a For loop would be good. On 11/2/06, Roberto Ramírez Vique [EMAIL PROTECTED] wrote: Hello! I want to use something that I supose tapestry already made for me. I'll try to explain because probably some of you have, or have had this question, and probably the answer to my question is that this is not possible or shouldn't be done, but I'm not sure. I want to use the tapestry generated Id's. I have seen that in tapestry, when an element is inside a For component (supose we have a TextField with id= name), and this element is part of a dynamic form, is generated with a different id in each loop, this Id use to be like: tapestryIdName_X (where X is the index in the loop, or the index-1). I want to know if is possible to use the clientId that I've debugged and saw that is the correct one. I would like to use this id in two situations, one just to know the id of a TextField and the other to know the Id of my own component. Thanks you, -- Robert Ramírez Vique Computer Science Engineer -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
maven-skin 1.1-SNAPSHOT
With all the problems with maven recently ... I find I can't build tapestry from svn because I am missing the maven-skin 1.1-SNAPSHOT. I see the 1.0 version but can anyone point me in the direction of the 1.1 version? -Pat - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: maven-skin 1.1-SNAPSHOT
thanks for your quick response! On 10/30/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Oops? It's out/visible now. On 10/30/06, Patrick Moore [EMAIL PROTECTED] wrote: With all the problems with maven recently ... I find I can't build tapestry from svn because I am missing the maven-skin 1.1-SNAPSHOT. I see the 1.0 version but can anyone point me in the direction of the 1.1 version? -Pat - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
did the namespace for components change recently?
I have a component in the body of @For compnent that is suddenly complaining. It looks like it is seeing and processing the same annotation twice: Very frustrated... last week has been mostly going backwards... Error: An error occured processing annotation @org.apache.tapestry.annotations.Component(inheritInformalParameters=false, type=utils/BroadcastCalendarControl, bindings=[calendarInfo=getBroadcastMessageToEdit().calendarInfo], id=calendarInfo, copyOf=) of public abstract com.transparentpolitics.web.components.utils.BroadcastCalendarControl com.transparentpolitics.web.components.messages.BroadcastMessageEntry.getCalendarInfo(): Component calendarInfo has already been declated (at Annotation @org.apache.tapestry.annotations.Component(inheritInformalParameters=false, type=utils/BroadcastCalendarControl, bindings=[calendarInfo=getBroadcastMessageToEdit().calendarInfo], id=calendarInfo, copyOf=) of public abstract com.transparentpolitics.web.components.utils.BroadcastCalendarControl com.transparentpolitics.web.components.messages.BroadcastMessageEntry.getCalendarInfo()). - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
strange problem with oro and tapestry 4.1.1
Has anyone else seen this exception? It shows up sporatically when the asset service is being ask if it is managing a resource. Oro blows up trying to compile the 'tapestry/*' string. 'tapestry/*' is the first unprotected resource. The path being matched against is '/dojo/src/widget/templates/images/timeIcon.gif' java.lang.ArrayIndexOutOfBoundsException: 30 at org.apache.oro.text.regex.Perl5Compiler.__emitNode(Unknown Source) at org.apache.oro.text.regex.Perl5Compiler.__parseExpression(Unknown Source) at org.apache.oro.text.regex.Perl5Compiler.compile(Unknown Source) at org.apache.oro.text.regex.Perl5Compiler.compile(Unknown Source) at org.apache.tapestry.util.RegexpMatcher.compilePattern(RegexpMatcher.java:57) at org.apache.tapestry.util.RegexpMatcher.getCompiledPattern(RegexpMatcher.java:71) at org.apache.tapestry.util.RegexpMatcher.contains(RegexpMatcher.java:104) at org.apache.tapestry.asset.ResourceMatcherImpl.containsResource(ResourceMatcherImpl.java:64) at $ResourceMatcher_10e9802d900.containsResource($ResourceMatcher_10e9802d900.java) at org.apache.tapestry.asset.AssetService.getLink(AssetService.java:177) at $IEngineService_10e9802d7f4.getLink($IEngineService_10e9802d7f4.java) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
stale link checking....
is there a way to turn this off? In particular when I am trying to view the html source -- I can't because I get this exception. So since I don't care if multiple duplicate posts are submitted -- how can this be disabled? -Pat - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: getClientId() seems to output the wrong value
your problem may be the same as mine. Did you see if you have 2 different forms on the same page? https://issues.apache.org/jira/browse/TAPESTRY-1131 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: EventListener on components within a @For loop
What I am hoping to do is something like this: span jwcid=@For value=ognl:current a jwcid=foospan jwcid=@Insert value=ognl:current//a span jwcid=@InvokeListener listener=listener:makeLink/ /span and code like this: public void makeLink() { IEventListener listener = getFoo().getEventListener(onclick); listener.setEventHandler(bar); listener.setParameters(new Object[]{ getCurrent().getEntityId()}); } // called when user clicks on one of the generated links in @For public void bar(Long entityId) { System.out.println(link for + entityId +was clicked!); } Hope that helps... -Pat - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: snapshots?
I don't think you are ... it is screwing up my build a lot as as I use the latest snapshot on several libraries and plugins not just tapestry. Does anyone know if they have a fix time on this? On 10/26/06, Peter Beshai [EMAIL PROTECTED] wrote: I think it may be something to do with people.apache.org. The site was down (afaik) for a couple of days earlier this week. (I was interested in getting a nightly build of commons-fileupload) http://people.apache.org/builds/jakarta-commons/nightly/ only has files up until August 31. I could be wrong though! Peter Beshai From: Martin Strand [EMAIL PROTECTED] Reply-To: Tapestry users users@tapestry.apache.org To: users@tapestry.apache.org Subject: snapshots? Date: Thu, 26 Oct 2006 12:53:47 +0200 What has happened to the snapshots? There used to be snapshots from October in there but now they're from August: http://people.apache.org/repo/m2-snapshot-repository/org/apache/tapestry/tapestry-framework/4.1.1-SNAPSHOT/ Martin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] _ Voyez vos amis en faisant un appel vidèo dans Windows Live Messenger http://imagine-msn.com/messenger/launch80/default.aspx?locale=fr-ca - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat failover.
Hi Leo -- From my experience, these are the questions that you should make sure were asked first: 1. What is the effect on the user experience if the new server does not have the session information? 2. How large a memory footprint does each session occupy? 3. How often do session variables change? It has been my experience that session replication is almost never worth the trouble it causes in terms of extra load on network and webapps. Failure at the web app level usually has so little consequences that usually it is enough to simply: 1. just redirect the user to a new web server 2. the new server asks them to reauthenticate 3. looks for any work in progress that was significant enough to store in the database ( which the app is probably already doing as it is) 4. If it finds such work offers to take them back to that flow. Think about just storing every significant checkpoint in your app as a cookie that deserializes to a bookmark that takes them to an IExternalPage that will continue their work. You are using IExternalPage and bookmarks, right? right? (hint, hint) :-) -Pat - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Dynamic Radiogroup
Your experence maybe different. but I found that if I had a component that was not mentioned in java code nor in the .jwc file I would get problems when using FieldLabel... On 10/25/06, James Carman [EMAIL PROTECTED] wrote: I don't think it matters where you define it within the HTML. Quite often, the field label will come before the field it labels. I've never had to resort to a .page/.jwc file in this case. On 10/24/06, Patrick Moore [EMAIL PROTECTED] wrote: your FieldLabel's field parameter is wrong, it should look like this: label jwcid=@FieldLabel field=component:sug but if I remember correctly this will not work anyhow because sug is defined in the html after the FieldLabel. You will need to specify sug in your java or .jwc. -Pat - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: EventListener on components within a @For loop
Is there any more on this? I am just now starting to explore the EventListener model. I must admit I find it a little odd that I can't wire things up programatically. It feels wrong that I need to decide at compile time that two components are talking to each other. Or is there something new? -Pat On 10/4/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Hah! That's pretty cool. I like it :) If someone files a bug in JIRA I'll look into the radio button stuff .(though I thought I remembered there being a ticket for this already - at least I know we had to deal with it in tacos ) On 10/4/06, Christian Dutaret [EMAIL PROTECTED] wrote: I found a nice solution using dojo's ability to listen to an arbitrary javascript function as if it were a native event. I attach an empty js function to an arbitrary DOM element like this: document.getElementById('someDiv').clickRadio=function(radio) {}; and an onclick attribute to my radio buttons: span jwcid=@Radio value=ognl:lv.value onclick= document.getElementById ('someDiv').clickRadio(this);/ Then I can set an EventListener on the server-side @EventListener(targets = someDiv, events = clickRadio, submitForm = form) public void listenToOnclickOnAnyRadioButtonInTheForLoop(IRequestCycle cycle) throws InterruptedException { ... } Works fine. Ch. 2006/10/3, Dennis Sinelnikov [EMAIL PROTECTED]: I'm glad someone else has a need for this as well. From doing a little bit of research the other day, I found @EventListener annotation that was introduced into tapestry 4.1+ that sort of fixes the problem. I'm currently using stable release of tapestry 4.0.2, so I didn't bother going that route. I believe this can be accomplished with tacos, but not sure. If you find something I would love to see an example, I'll do the same as well... Good Luck, Dennis Christian Dutaret wrote: Hi, Is it possible to have an EventListener for events on components within a @For loop? Typically, I have a set of radio buttons, which are rendered from @Radio components within a @For loop (with a surrounding @RadioGroup component), and I want to invoke a listener whenever an onclick event occurs on any of those radio buttons. I could achieve this with @contrib:XTile components, but I'd rather use the same programming model everywhere. It would be nice, for instance, to set an EvenListener on the @RadioGroup component, and have it propagate the event on nested @Radio components. Thx Ch. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: defining paths for templates
I too liked having the html files together with the java sources, but I think your assumption that that means the html files have to be in the same directory as the class files should be revisited. I found it pretty easy under maven2 to extract out the html, properties, and script files from my source packages com.transparentpolitics.web.pages and com.transparentpolitics.web.components directory and drop them in the webapp and WEB-INF directory under my target output directory. This is the relevant part of my maven2 pom.xml (note that you need the 2.0.2 version for this to work): plugin artifactIdmaven-war-plugin/artifactId version2.0.2-SNAPSHOT/version configuration !-- warSourceDirectory${basedir}/src/context/warSourceDirectory -- webResources resource !-- this is relative to the pom.xml directory -- directory src/main/java/com/transparentpolitics/web/components /directory targetPathWEB-INF/targetPath includes include**/*.html/include include**/*.jwc/include include**/*.properties/include /includes excludes exclude**/package.html/exclude /excludes /resource resource !-- this is relative to the pom.xml directory -- directory src/main/java/org/apache/tapestry/contrib/dojo/html /directory targetPathWEB-INF/targetPath includes include**/*.html/include include**/*.jwc/include include**/*.script/include include**/*.properties/include /includes excludes exclude**/package.html/exclude /excludes /resource resource !-- this is relative to the pom.xml directory -- directory src/main/java/com/transparentpolitics/web/pages /directory includes include**/*.html/include include**/*.page/include /includes excludes exclude**/package.html/exclude /excludes /resource resource !-- page properties need to go under the WEB-INF directory -- directory src/main/java/com/transparentpolitics/web/pages /directory targetPathWEB-INF/targetPath includes include**/*.properties/include /includes /resource /webResources /configuration /plugin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: ServletContextListener equivalent in Tapestry
Something like this might be what you want: contribution configuration-id=tapestry.init.ApplicationInitializers command after=tapestry.globals.SetupServletApplicationGlobals id=initSessionFactory object=service:sessionFactory/ command after=initSessionFactory id=initTestData object=service:testData/ /contribution - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DropdownTimePicker usability problems
Hi there -- I am using the latest snapshot and I am having an issue with the DropdownTimePicker. Every time the user clicks on the dropdown it goes away. As a result, if the user wants to use the drop down to enter 7:30PM they have to: 1. click on the clock 2. click on the 7 in the dropdown (the dropdown disappears) 3. click on the clock 4. click on the '30' in the dropdown (the dropdown disappears) 5. click on the clock 6. click on the 'PM' .. pretty broken... -Pat - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: DropdownTimePicker usability problems
someone named bill noticed it yesterday as well: http://trac.dojotoolkit.org/ticket/1675 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: DatePicker not working after upgrading from 4.0.2 to 4.1
This problem is showing up in the 4.1.1-snaphot from today... On 10/16/06, Jesse Kuhnert [EMAIL PROTECTED] wrote: Ah. I guess I was expecting you to use the 4.1.1 version, it is available in the apache snapshot repos only (the main repos are reserved for official releases) : http://people.apache.org/repo/m2-snapshot-repository/ The 4.1 version is hopelessly behind what is in 4.1.1. (At least it seems that way to me personally, maybe the differences aren't that large.) Is equinox on a snapshot version as well or are you only allowing fully stable final releases into it? All known major issues that I know of (besides my umm..hickup brought up with portlets today ) are resolved and stable right now. I make releases every few days or so. On 10/17/06, mraible [EMAIL PROTECTED] wrote: I just tried upgrading Equinox (http://equinox.dev.java.net) from Tapestry 4.0.2 to 4.1 (b/c 4.1.1 isn't in the Maven repo) and I'm experiencing the same issue. I tried changing from: input jwcid=@DatePicker type=text size=11 value=ognl:user.birthday id=birthday translator=translator:date,pattern=MM/dd// To: input jwcid=@DropdownDatePicker type=text size=11 value=ognl:user.birthday id=birthday translator=translator:date,pattern=MM/dd// But this results in an input field not even showing up. In my Jetty 6 log it shows: 2006-10-16 23:48:27.343::WARN: ContentLength written==5418 != contentLength==1635 Client-side validation seems to be hosed as well. Any ideas? Has anyone successfully upgraded from 4.0.2 to 4.1successfully? Other issues I experienced were that Tapestry-Flash and Tapestry-Spring both rely on Tapestry 4.0. Since the namespace in Maven changed from tapestry to org.apache.tapestry, you need to exclude tapestry/tapestry from these dependencies. Matt Roberto Ramírez Vique wrote: Hi everybody!!! I had the same problem as jani, and as he described I tried with the last version of the jar files it seems to work, but the problem is the location of the DatePicker, it appears just in a wrong place. Is just not placed close to the icon, is just placed in the left-down part of the page. any of you have had the same problem ??? I'm using tomcat 5.5, jdk 5, tapestry 4.1 Thanks in advance, robert On 9/12/06, Robert Binna [EMAIL PROTECTED] wrote: But be aware that you can't change the input dateformat at the moment, because the dojo DropdownDatePicker doesn't support it yet (but should from version 0.4 on) regards, Robert soir schrieb: Hello, I've found same problem recently. Try to use DropdownDatePicker component instead. Igor Anders Cessner wrote: Hi, I recently upgraded from 4.0.2 to 4.1 and noticed that the datepicker doesnt work anymore. when the page is loaded i get this error: Could not load ' tapestry.form '; last tried '__package__.js' and when i click the calendar image i get: calendar_dueDate has no properties it has probably something to do with this http://issues.apache.org/jira/browse/TAPESTRY-1020?page=all as i´m developing on windows, but that issue seems to be resolved 21/7 and the 4.1jars i´ve downloaded from http://tapestry.apache.org/download.html looks like to be dated after that. what should i do to fix this? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Robert Ramírez Vique Computer Science Engineer -- View this message in context: http://www.nabble.com/DatePicker-not-working-after-upgrading-from-4.0.2-to-4.1-tf2231968.html#a6849056 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: For component ConcurrentModificationException during rewind.
Since usually you have a checkbox next to each item to select it for deletion (yahoo mail for example) You may just want to have just one delete button as well On 10/17/06, Gareth [EMAIL PROTECTED] wrote: Christian Thanks, I'll give that a shot. That sounds much easier, and I hadn't even considered it! Gareth - Original Message From: Christian Haselbach [EMAIL PROTECTED] To: Tapestry users users@tapestry.apache.org Sent: Monday, 16 October, 2006 2:14:57 PM Subject: Re: For component ConcurrentModificationException during rewind. Zitat von Gareth [EMAIL PROTECTED]: I have gotten around the problem by, in the listener for onDelete, I flag the row for deletion, and then in the PageBeginRender method, I check to see that it is not rewinding - i.e. it is about to start rendering the response, and if the deletion flag is set, remove the corresponding row. You could use the action parameter instead of the listener parmeter in the submit component. This should be called after the loop has been rewinded. See http://tapestry.apache.org/tapestry4/tapestry/ComponentReference/Submit.html Or you could create a new list, initialized with the original list, to run the for loop. This might be expensiv, depending on the size of the list. Regards, Christian - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Send instant messages to your online friends http://uk.messenger.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Using tapestry as a Servlet
I just created my own servlet that just accessed the various hivemind services directly. Much less to figure out. Took all of 10 minutes. (well a little more but easier than trying to figure out how to intercept tapestry. On 10/17/06, KEGan [EMAIL PROTECTED] wrote: Hi, I am using Tapestry 4.0.2. Most of the time, I am using Tapestry to generate dynamic HTML pages, so I have all the .html .page .java files for each page. However, sometimes I want to just output some arbitrary text. Such as XML, JSON data, or plain text. For XML data, I can probably treat it just like another HTML page :) But for JSON (or other data), what is the elegant way to intercept Tapestry so I could write out my own output ? As if we using Servlet, getting a OutputStream object and write our own output. I read that this could be done in Tapestry 4.1. But since this version is not in production release, I would like avoid it. Or should I not? Thanks. ~KEGan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How do you add custom dojo widget?
I have the same problem Peter.. I will let you know if I figure it out ... On 10/17/06, Peter Beshai [EMAIL PROTECTED] wrote: I have got the widget working in plain HTML and dojo. The problem I am having is I don't know how to configure the relative paths for the widget since dojo is packaged within the tapestry library. djConfig.baseRelativePath = http://localhost:8080/myapp/app?service=assetpath=%2Fdojo%2F; and I don't know how to work with that to get my widgets pointing to the right spot. i.e., I don't know how to properly configure the relative paths in: my html: dojo.hostenv.setModulePrefix('ricebridge', '../dojo/ricebridge'); widget's js file: this.templatePath= dojo.uri.dojoUri(../dojo/ricebridge/widget/progress.htm); this.templateCssPath = dojo.uri.dojoUri(../dojo/ricebridge/widget/progress.css); From: Karthik N [EMAIL PROTECTED] Reply-To: Tapestry users users@tapestry.apache.org To: Tapestry users users@tapestry.apache.org Subject: Re: How do you add custom dojo widget? Date: Tue, 17 Oct 2006 06:28:22 +0530 peter - the first step would be to isolate the issue are you able to make this widget work without tapestry and with just plain vanilla HTML and dojo? if not, then that would be an excellent starting point. On 10/17/06, Peter Beshai [EMAIL PROTECTED] wrote: I am interested in using the dojo progress bar discussed at http://www.richardrodger.com/roller/page/richard/Weblog/dojo_progress, but I can't figure out how to get it to work in Tapestry (4.1). I'm confused about where to put the widget files and how to reference them. Do I have to add it as an asset into my page?? Ive currently put them in src/main/webapp/dojo/ricebridge/widget -- and i'm not sure if that's a good spot. How do I point tapestry to the right spot of the widget so it can find it? I currently get the following warnings from my log: WARN (tapestry.services.Asset:251) Classpath resource '/dojo/dojo/ricebridge/widget/RicebridgeProgress.js' does not exist. WARN tapestry.services.Asset Classpath resource '/dojo/dojo/ricebridge/widget/RicebridgeProgress.js' does not exist. WARN (tapestry.services.Asset:251) Classpath resource '/dojo/dojo/ricebridge/widget.js' does not exist. WARN tapestry.services.Asset Classpath resource '/dojo/dojo/ricebridge/widget.js' does not exist. WARN (tapestry.services.Asset:251) Classpath resource '/dojo/dojo/ricebridge/__package__.js' does not exist. WARN tapestry.services.Asset Classpath resource '/dojo/dojo/ricebridge/__package__.js' does not exist. WARN (tapestry.services.Asset:251) Classpath resource '/dojo/dojo/ricebridge.js' does not exist. WARN tapestry.services.Asset Classpath resource '/dojo/dojo/ricebridge.js' does not exist. WARN (tapestry.services.Asset:251) Classpath resource '/dojo/__package__.js' does not exist. WARN tapestry.services.Asset Classpath resource '/dojo/__package__.js' does not exist. Peter Beshai _ Voyez vos amis en faisant un appel vidèo dans Windows Live Messenger http://imagine-msn.com/messenger/launch80/default.aspx?locale=fr-ca - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Thanks, Karthik _ Essayez la nouvelle génération de recherche avec Live Search. http://www.live.com/?mkt=fr-ca - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]