Re: [Tapestry Central] Next Steps for Tapestry

2009-11-08 Thread Ivano Luberti
Howard, why don't collaborate with Igor to have the book in Engllish?
Instead of starting a new project for it you can try to have Igor book
as a starting point or even better a final point and only have to
translate a commonly reviewed version and publish it together .

I understand you want to have T5 up to date against the competition but
really the book is mandatory if you want to have people to use it
consciously and having it only in German means to exclude the great
majority of the web developers.

If you go ahead with it I could help in reviewing it and I also suggest
you try to use some list members as an help, like it was made for the
web site.





cuartz ha scritto:
 I think both are necessary to make tapestry more popular, but i think would
 be better if you work on code, tapestry is already known by a lot of people,
 i’m a 24 years old Mexican and in my 3 years of experience i already have
 been part of 2 tapestry 5 big projects, the first last 10 months and i’m
 working on the second project 3 months ago, and today when there is a
 discussion of which framework to use at the start of a project, tapestry 5
 is consider, so now there is a matter of which framework is better, i know
 this from myself and from the developers i know. 
 Also the book can be written by other people but you are the only one who
 can work in the code.
 i think that any improvement you maid (faster requests or richer web apps)
 is going to be great and i can’t wait to see it.
 cheers and sorry for my bad english.


 -
 Carlos Araham U. Bayona Smythe.
   

-- 
==
dott. Ivano Mario Luberti
Archimede Informatica societa' cooperativa a r. l.
Sede Operativa
Via Gereschi 36 - 56126- Pisa
tel.: +39-050- 580959
tel/fax: +39-050-9711344
web: www.archicoop.it
==


-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



i18n overhead

2009-11-08 Thread Melidramo

We have about 200 properties files and 200 templates files.

Adding a language (+400 files) to the project had seemingly a huge impact on
the performance - to start the server at least - I'd say 50% more time
required.

Is there any performance impact based on the number of languages or prop/tml
files?
If so, is there a way (via some calls or files arrangement or...?) to
optimize the multi-language functionality?

We are using the version 5.
-- 
View this message in context: 
http://old.nabble.com/i18n-overhead-tp26252169p26252169.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: [Tapestry Central] Next Steps for Tapestry

2009-11-08 Thread Vjeran Marcinko
I understand that book would be valuable addition to Tapestry, but I would 
also prefer you to spend your time doing the coding, and if I may add, not 
so much on new features (like Spring Web Flow), but more on improving 
already present ideas since there are many places for improvement. One thing 
that comes to my mind is - various ways of passing parameters between pages 
(for example for search form criteria etc..), Javascript support that you 
mentioned, etc... These things are pretty much needed in every web app out 
there.


I just converted my first T4 app to T5, and although it was generaly better 
experience, I have found few places where things became harder that it was 
before, for eg  - no properly working submit button context, no easy option 
to turn of sorting in grids, and similar bits and pieces...


Regards,
Vjeran

- Original Message - 
From: Howard hls...@gmail.com

To: users@tapestry.apache.org
Sent: Saturday, November 07, 2009 7:11 PM
Subject: [Tapestry Central] Next Steps for Tapestry



I've been consciously letting Tapestry 5.1 sit and stabilize for a
while ... a time that's stretched a few months longer than I initially
intended.
This is due to a number of factors: my return to independent
consulting, my desire to write a definitive Tapestry 5 book, and
preparations for many trips and speaking engagements.
All of these factors have worked on each other: I've been improving and
extending my Tapestry Workshop training materials which can be quite
time consuming. I've also (over the last several months) been on the
road several times, talking about Tapestry or doing Tapestry training.
I do want to write a book on Tapestry but if I start writing 5.2 code,
I know I'll be sucked right in ... lots of code (that darn Spring Web
Flow integration for sure this time) and bug fixes.
In addition, I've had an embarassment of riches: two main clients, one
regular part time, and the other requesting (but not always getting)
all my remaining time. I also have additional clients and training
engagements waiting in the wings. I simply have a lot of draws on my
time.
As usual, working on real-world projects lets me experience the rough
edges of Tapestry and fills me with ideas on how to address those in
the next release ... often by splitting up Tapestry services into
smaller, more easily overridden chunks and carefully moving internal
services out into the public APIs.
Finally, I've been very pleased by the fact that as I've stepped back
temporarily from my normal stream of commits, the other Tapestry
developers have stepped in and filled the gap. There's been quite a bit
of activity especially from Igor that I've barely had a chance to keep
up on.
So the question is: do I wait and see if time opens up in Q1 to
actually start on a T5 book ... or do I jump into 5.2 coding and leave
books to others? It's much, much easier to write code than to write a
book ... a book is a large amount of concentrated effort. It's very
hard to accomplish anything on a book using an hour here or an evening
there ... whereas Tapestry's code base lends itself to that kind of
effort quite nicely.

--
Posted By Howard to Tapestry Central at 11/07/2009 10:11:00 AM







No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 8.5.425 / Virus Database: 270.14.53/2486 - Release Date: 11/07/09 
07:38:00



-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: [Tapestry Central] Next Steps for Tapestry

2009-11-08 Thread Tom Pfotzer

Howard:

I agree with the posters that say refine your code-base as priority one,
and I agree that writing the book is a very close priority two. So the
question isn't really which should you do, as both are crucial to Tapestry
the product and it's community of users.

The problem is how best to leverage your knowledge. You must delegate and
direct, or you become Tapestry's main growth bottleneck. You already know
this, of course, so the question is how do I leverage me?

Number one: find a book author that knows almost as much as you do. Maybe
Igor's that person, since he both knows the product (I guess; haven't read
his book) and has written a book. The question then is incentives. Writing a
book is tough, and Tapestry's market is narrower (but not for long!) than
other possible uses of book-writers' time. What can you do to make it
economically worthwhile for that book-writer, or an existing book-writer's
publisher, to write another? My next phone call would be to Igor's
publisher, and say Hey, you guys just wrote a book for the German market.
You already sunk all those costs, now why not make a lot more revenue from
your investment? How would you like to do a good translation, and sell into
the vastly larger English market (~80Mil audience .vs. 500Mil)? Tapestry is
used in Europe, U.S., English-speaking Asia, Australia, U.K, etc

Find out if that publisher's ready to expand into U.S. - that may be on
their mind. Also, see about electronic publishing instead of hard-bound. I
bought an e-book on Tapestry a while back, and it was pretty helpful. I'd do
it again in a heartbeat. That'll reduce the publisher's risk a LOT. Also,
there's a good UK publisher that does e-books already, and does it well. I
bought a Lucene book that way not long ago, and would use them again in a
heartbeat. Think reduced publisher risk, and I.T. users are ideal e-book
buyers. 

Next: Think about the steps that the SpringSource people went through as
they spun up their business. They added a consulting arm, and that generated
enough revenue to do documentation - hiring a full-timer to do it right, did
a really strong online reference, etc. 

Consulting is an excellent revenue-producer. Can you replicate you in that
capacity also? Would you want to? How do you see growth and managing
stuff? Some people (very logically) run screaming from the room if the
subject's brought up ;)

Another idea: ask your contributors here at the forum to consider writing
documentation modules. Consider an annual subscription fee of $20-50 to be a
member of a support system that has a bunch of contributed modules. Pro-rata
distribute the subscription fee to the modules-writers based on hits. There
are a number of people here that are capable, and if you provided the
incentive...they might do it. If you can provide the money-channel and the
set of next-most-needed topics, I bet you might find some takers.

The problem is centrally a one of incentives for the right people to step up
and do the work. Why would someone want to write documentation? Credit,
money, resume-stuffer, book-deal...what? OK, now find a way to get them what
they want in order to remove info-flow bottlenecks that are impeding
Tapestry's growth. 

You may also consider moving away from the book format altogether and
concentrate your writing onto your website. Make it a knowledge vending
machine. Ask your forum of smart people this question:

If I was to design a self-sustaining, revenue-producing mechanism that
produced great on-line doc for Tapestry, leveraged all you brilliant people,
and made it worth your while to do it, what would that design be like?

I think the key is to leverage existing Tapestry knowledge, especially
yours. How can that knowledge be replicated, extended, sub-classed...? How
can the knowledge of your many very talented forum posters be captured,
replicated, distributed...?

Good luck. We all wish for your continued success. I'll be in your neck of
the woods 2nd week of Dec if you want to meet for a cuppa joe and discuss it
further.

-- 
View this message in context: 
http://old.nabble.com/-Tapestry-Central--Next-Steps-for-Tapestry-tp26248673p26253018.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



Adding XML process-instruction to tml

2009-11-08 Thread Alfie Kirkpatrick
Hi, I would like to add a PI for xml-stylesheet to some of my pure XML
pages, eg. in the tml...

 

?xml version=1.0 encoding=UTF-8?

?xml-stylesheet type=text/xsl href=/aggregator/stylesheet.xsl?

rdf:RDF ...

 

Tapestry (5.1.0.5) complains that PROCESSING_INSTRUCTION is
unrecognised.

 

Is there a simple workaround for this? 

 

Thanks, Alfie.

 



Re: i18n overhead

2009-11-08 Thread Melidramo

 Why so many property files? Just curious. :)

This is a big project...

 What exact version? 5.1.05? 5.0.18?

5.0.18

Is your question an incentive to migrate to 5.1?

-- 
View this message in context: 
http://old.nabble.com/i18n-overhead-tp26252169p26253714.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: [Tapestry Central] Next Steps for Tapestry

2009-11-08 Thread Thiago H. de Paula Figueiredo

Couldn't it be a hybrid approach? One day or week coding Tapestry, then
the next writing the book?

By the way, I'd love write a Tapestry book. One company here at Belo
Horizonte, Brazil has just contracted me to have both introductory and
advanced Tapestry courses. My plans are to write the textbooks with the
target of being transformed in a book later, first in Portuguese, then
translated to English. The more Tapestry books, the better.

--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,  
and instructor
Owner, software architect and developer, Ars Machina Tecnologia da  
Informação Ltda.

http://www.arsmachina.com.br

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: GAE and Tapestry5 integration

2009-11-08 Thread Dmitry Gusev
Tapestry 5.1 should run on GAE 1.2.6(7) as is.

I used T5.1 w/ Spring/JPA on GAE and didn't get any troubles at the cloud
except some issues on development machine:

http://dmitrygusev.blogspot.com/2009/10/develope-java-applications-with-gae-sdk.html
http://dmitrygusev.blogspot.com/2009/08/turn-java-security-manager-off-in.html


On Sun, Nov 8, 2009 at 16:51, sodium sodiu...@yahoo.com wrote:


 Hi,

 I have been using Tapestry5 for few of my projects and loving it, but i am
 thinking of integrating it in Google App Engine.
 As for Tapestry 5.0.18, i have managed to run it without jpa support by
 following an example of

 http://old.nabble.com/SUCCESSFULL-deploy-Tapestry5-on-google-appengine-ts23018048.html

 http://old.nabble.com/SUCCESSFULL-deploy-Tapestry5-on-google-appengine-ts23018048.html

 For Tapestry5.1, i still very confused about

 http://old.nabble.com/Tapestry-5.1-running-in-Google-App-Engine-%28GAE%29-tp24923950p24927028.html

 http://old.nabble.com/Tapestry-5.1-running-in-Google-App-Engine-%28GAE%29-tp24923950p24927028.html

 Actually my biggest concern is using jpa in GAE with Tapestry5, can anyone
 provide some clues on how to go about integrating Tap5 with jpa for GAE ?
 If
 someone can provide a sample project for GAE(1.2.6) Tapestry5(hopefully
 5.1)
 integration with jpa support, i will definitely bow down to u like a slave.
 Been scratching my head so hard that my hair is starting to fall...

 I tried integration Tapestry 5.0.18 with guice2 for jpa support from

 http://old.nabble.com/Integration-of-T5-with-the-domain-model-ts9953748s302.html

 http://old.nabble.com/Integration-of-T5-with-the-domain-model-ts9953748s302.html
 but the EntityManager keep returning null. Sigh..

 Any pointers and advice is very much appreciated.

 --
 View this message in context:
 http://old.nabble.com/GAE-and-Tapestry5-integration-tp26253952p26253952.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




-- 
Dmitry Gusev

AnjLab Team
http://anjlab.com


Re: GAE and Tapestry5 integration

2009-11-08 Thread Dmitry Gusev
Here's some examples:

*ping-service\src\META-INF\persistence.xml:*
?xml version=1.0 encoding=UTF-8 ?
persistence xmlns=http://java.sun.com/xml/ns/persistence;
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
xsi:schemaLocation=http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd;
version=1.0

persistence-unit name=transactions-optional

providerorg.datanucleus.store.appengine.jpa.DatastorePersistenceProvider/provider
properties
property name=datanucleus.NontransactionalRead value=true/
property name=datanucleus.NontransactionalWrite
value=true/
property name=datanucleus.ConnectionURL value=appengine/
/properties
/persistence-unit

/persistence

*ping-service\war\WEB-INF\applicationContext.xml:*

?xml version=1.0 encoding=UTF-8?
beans xmlns=http://www.springframework.org/schema/beans;
   xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
   xmlns:aop=http://www.springframework.org/schema/aop;
   xmlns:tx=http://www.springframework.org/schema/tx;
   xmlns:context=http://www.springframework.org/schema/context;
   xsi:schemaLocation=
   http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
   http://www.springframework.org/schema/tx
   http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
   http://www.springframework.org/schema/aop
   http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-3.0.xsd


tx:advice id=txAdvice transaction-manager=txManager
tx:attributes
tx:method name=* propagation=REQUIRES_NEW /
/tx:attributes
/tx:advice

aop:config
aop:pointcut id=daoOperations
expression=execution(* dmitrygusev.ping.services.dao.*.*(..))
/
aop:advisor advice-ref=txAdvice pointcut-ref=daoOperations /
/aop:config

bean id=entityManagerFactory
class=org.springframework.orm.jpa.LocalEntityManagerFactoryBean
lazy-init=true
property name=persistenceUnitName value=transactions-optional
/
/bean

bean name=txManager
class=org.springframework.orm.jpa.JpaTransactionManager
property name=entityManagerFactory ref=entityManagerFactory /
/bean

context:annotation-config/

bean name=jobsDAO
class=dmitrygusev.ping.services.dao.impl.JobDAOImpl/
bean name=refDAO
class=dmitrygusev.ping.services.dao.impl.RefDAOImpl/
bean name=accountDAO
class=dmitrygusev.ping.services.dao.impl.AccountDAOImpl/
bean name=scheduleDAO
class=dmitrygusev.ping.services.dao.impl.ScheduleDAOImpl/
bean name=jobResultDAO
class=dmitrygusev.ping.services.dao.impl.JobResultDAOImpl/

/beans

*ping-service\src\dmitrygusev\ping\services\dao\ScheduleDAO.java :*
package dmitrygusev.ping.services.dao;

import com.google.appengine.api.datastore.Key;

import dmitrygusev.ping.entities.Schedule;

public interface ScheduleDAO {

public abstract void update(Schedule schedule);

public abstract void delete(Long id);

public abstract Schedule createSchedule(String name);

public abstract Schedule find(Key scheduleKey);

}

*ping-service\src\dmitrygusev\ping\services\dao\impl\ScheduleDAOImpl.java :*
package dmitrygusev.ping.services.dao.impl;

import static com.google.appengine.api.datastore.KeyFactory.createKey;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import com.google.appengine.api.datastore.Key;

import dmitrygusev.ping.entities.Schedule;
import dmitrygusev.ping.services.dao.ScheduleDAO;

public class ScheduleDAOImpl implements ScheduleDAO {

@PersistenceContext
private EntityManager em;

public Schedule createSchedule(String name) {
Schedule schedule = new Schedule();
schedule.setName(name);

em.persist(schedule);

return schedule;
}

@Override
public void update(Schedule schedule) {
em.merge(schedule);
}

@Override
public void delete(Long id) {
Schedule schedule = find(createKey(Schedule.class.getSimpleName(),
id));
em.remove(schedule);
}

@Override
public Schedule find(Key scheduleKey) {
return em.find(Schedule.class, scheduleKey);
}
}


*Then inject ScheduleDAO in your page class using T5's @Inject annotation
and use it.*



On Sun, Nov 8, 2009 at 17:46, Dmitry Gusev dmitry.gu...@gmail.com wrote:

 Tapestry 5.1 should run on GAE 1.2.6(7) as is.

 I used T5.1 w/ Spring/JPA on GAE and didn't get any troubles at the cloud
 except some issues on development machine:


 http://dmitrygusev.blogspot.com/2009/10/develope-java-applications-with-gae-sdk.html

 http://dmitrygusev.blogspot.com/2009/08/turn-java-security-manager-off-in.html



 On Sun, Nov 8, 2009 at 16:51, sodium sodiu...@yahoo.com wrote:


 

Re: Adding XML process-instruction to tml

2009-11-08 Thread Howard Lewis Ship
A component could do this, by outputting the ?xml-stylesheet tag
using markupWriter.writeRaw().


On Sun, Nov 8, 2009 at 4:04 AM, Alfie Kirkpatrick
alfie.kirkpatr...@ioko.com wrote:
 Hi, I would like to add a PI for xml-stylesheet to some of my pure XML
 pages, eg. in the tml...



 ?xml version=1.0 encoding=UTF-8?

 ?xml-stylesheet type=text/xsl href=/aggregator/stylesheet.xsl?

 rdf:RDF ...



 Tapestry (5.1.0.5) complains that PROCESSING_INSTRUCTION is
 unrecognised.



 Is there a simple workaround for this?



 Thanks, Alfie.







-- 
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 Central] Next Steps for Tapestry

2009-11-08 Thread Igor Drobiazko
Well, I think you should do what you feel is best for you right now. If you
need a timeout from coding then write a book. If you feel a book will take
too much of your time then code again. I'm still hoping my publisher will
translate my book. So maybe there will be an english book even if you decide
not to write one. I asked the published several times but didn't get any
feedback yet. I suppose they are not ready to make a decision right now.

However, if you need some co-authors I'm ready. Not sure I'm allowed to but
I can check it. I remember some clause in my contract about writing
competing books.

Don't get me wrong but a 5.2.0.0 release without any single commit of Howard
would be something awful. :)
It would be a historical event and the final prove that Tapestry is no
longer a one men show. We have 29 fixed issues in current 5.2 trunk. The
both most popular issues will be fixed in the next days. I'm on the verge of
committing fix for  http://issues.apache.org/jira/browse/TAP5-138 . Robert
was going to provide a fix for
https://issues.apache.org/jira/browse/TAP5-815 this weekend. JSR 303 support
is almost there.

On Sat, Nov 7, 2009 at 7:11 PM, Howard hls...@gmail.com wrote:

 I've been consciously letting Tapestry 5.1 sit and stabilize for a
 while ... a time that's stretched a few months longer than I initially
 intended.
 This is due to a number of factors: my return to independent
 consulting, my desire to write a definitive Tapestry 5 book, and
 preparations for many trips and speaking engagements.
 All of these factors have worked on each other: I've been improving and
 extending my Tapestry Workshop training materials which can be quite
 time consuming. I've also (over the last several months) been on the
 road several times, talking about Tapestry or doing Tapestry training.
 I do want to write a book on Tapestry but if I start writing 5.2 code,
 I know I'll be sucked right in ... lots of code (that darn Spring Web
 Flow integration for sure this time) and bug fixes.
 In addition, I've had an embarassment of riches: two main clients, one
 regular part time, and the other requesting (but not always getting)
 all my remaining time. I also have additional clients and training
 engagements waiting in the wings. I simply have a lot of draws on my
 time.
 As usual, working on real-world projects lets me experience the rough
 edges of Tapestry and fills me with ideas on how to address those in
 the next release ... often by splitting up Tapestry services into
 smaller, more easily overridden chunks and carefully moving internal
 services out into the public APIs.
 Finally, I've been very pleased by the fact that as I've stepped back
 temporarily from my normal stream of commits, the other Tapestry
 developers have stepped in and filled the gap. There's been quite a bit
 of activity especially from Igor that I've barely had a chance to keep
 up on.
 So the question is: do I wait and see if time opens up in Q1 to
 actually start on a T5 book ... or do I jump into 5.2 coding and leave
 books to others? It's much, much easier to write code than to write a
 book ... a book is a large amount of concentrated effort. It's very
 hard to accomplish anything on a book using an hour here or an evening
 there ... whereas Tapestry's code base lends itself to that kind of
 effort quite nicely.

 --
 Posted By Howard to Tapestry Central at 11/07/2009 10:11:00 AM




-- 
Best regards,

Igor Drobiazko


Suggestion for instance-based authorization?

2009-11-08 Thread Vjeran Marcinko

Hello all,

I have a T5 app that have typical security restriction to some pages based 
on role, but also based on domain-specific instances that can be resolved 
from request parameters.


For example, request to web page ShowDocument that accepts documentID as 
parameter can be allowed only to users with ROOT role, or user with CUSTOMER 
role *only if it is THE customer who created this document*, meaning, I have 
to resolve document's customer and compare it to logged in user inside 
HttpSession to check if he's authorized.


Since page-specific request parameters are set inside each T5 page via 
activate event, the only time to perform authorization would be after 
that. It would be best if there can be some new event plugged in request 
pipeline, that would be fired right after activate event, and where I 
could perform some page-specific authorization, and return login page if not 
authorized. Is this possible to do now somehow?


Or some other suggestion?

BR,
Vjeran


-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: [Tapestry Central] Next Steps for Tapestry

2009-11-08 Thread Alex Kotchnev
Igor : just an idea on the translation front. I know that the NetBeans
community already did two community translated books from German, so it
might be interesting if the same model is possible in the Tapestry
community. I think it was mostly a volunteer effort but it got two NetBeans
RCP books translated in no time. In other words, if there are half a dozen
to a dozen people in the community who know both German and English and are
willing to translate a chapter or two, then the publisher only needs an
editor to verify that the translation is good - much less effort on their
part, much faster to get the books selling in English speaking countries,
much faster way to get the books into the community.

On my part, although I can't offer any skills in doing the actual
translation, I can offer some of my time to proof read chapters that are
already translated. Luckily, code (usually) doesn't need much translating.

Cheers,

Alex K

On Sun, Nov 8, 2009 at 10:55 AM, Igor Drobiazko igor.drobia...@gmail.comwrote:

 Well, I think you should do what you feel is best for you right now. If you
 need a timeout from coding then write a book. If you feel a book will take
 too much of your time then code again. I'm still hoping my publisher will
 translate my book. So maybe there will be an english book even if you
 decide
 not to write one. I asked the published several times but didn't get any
 feedback yet. I suppose they are not ready to make a decision right now.

 However, if you need some co-authors I'm ready. Not sure I'm allowed to but
 I can check it. I remember some clause in my contract about writing
 competing books.

 Don't get me wrong but a 5.2.0.0 release without any single commit of
 Howard
 would be something awful. :)
 It would be a historical event and the final prove that Tapestry is no
 longer a one men show. We have 29 fixed issues in current 5.2 trunk. The
 both most popular issues will be fixed in the next days. I'm on the verge
 of
 committing fix for  http://issues.apache.org/jira/browse/TAP5-138 . Robert
 was going to provide a fix for
 https://issues.apache.org/jira/browse/TAP5-815 this weekend. JSR 303
 support
 is almost there.

 On Sat, Nov 7, 2009 at 7:11 PM, Howard hls...@gmail.com wrote:

  I've been consciously letting Tapestry 5.1 sit and stabilize for a
  while ... a time that's stretched a few months longer than I initially
  intended.
  This is due to a number of factors: my return to independent
  consulting, my desire to write a definitive Tapestry 5 book, and
  preparations for many trips and speaking engagements.
  All of these factors have worked on each other: I've been improving and
  extending my Tapestry Workshop training materials which can be quite
  time consuming. I've also (over the last several months) been on the
  road several times, talking about Tapestry or doing Tapestry training.
  I do want to write a book on Tapestry but if I start writing 5.2 code,
  I know I'll be sucked right in ... lots of code (that darn Spring Web
  Flow integration for sure this time) and bug fixes.
  In addition, I've had an embarassment of riches: two main clients, one
  regular part time, and the other requesting (but not always getting)
  all my remaining time. I also have additional clients and training
  engagements waiting in the wings. I simply have a lot of draws on my
  time.
  As usual, working on real-world projects lets me experience the rough
  edges of Tapestry and fills me with ideas on how to address those in
  the next release ... often by splitting up Tapestry services into
  smaller, more easily overridden chunks and carefully moving internal
  services out into the public APIs.
  Finally, I've been very pleased by the fact that as I've stepped back
  temporarily from my normal stream of commits, the other Tapestry
  developers have stepped in and filled the gap. There's been quite a bit
  of activity especially from Igor that I've barely had a chance to keep
  up on.
  So the question is: do I wait and see if time opens up in Q1 to
  actually start on a T5 book ... or do I jump into 5.2 coding and leave
  books to others? It's much, much easier to write code than to write a
  book ... a book is a large amount of concentrated effort. It's very
  hard to accomplish anything on a book using an hour here or an evening
  there ... whereas Tapestry's code base lends itself to that kind of
  effort quite nicely.
 
  --
  Posted By Howard to Tapestry Central at 11/07/2009 10:11:00 AM




 --
 Best regards,

 Igor Drobiazko



Re: Suggestion for instance-based authorization?

2009-11-08 Thread Thiago H. de Paula Figueiredo
Em Sun, 08 Nov 2009 14:22:46 -0200, Vjeran Marcinko  
vjeran.marci...@email.t-com.hr escreveu:



Hello all,


Hi!

I have a T5 app that have typical security restriction to some pages  
based on role, but also based on domain-specific instances that can be  
resolved from request parameters.


I implemented by inside my Tapestry CRUD  
(http://www.arsmachina.com.br/project/tapestrycrud) package in its 1.1  
branch). Warning: very outdated documentation. Every attempt to view,  
edit, remove or list objects is checked against an authorization service  
(from my Generic Authorization Package, used in production but not  
released yet).


--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,  
and instructor
Owner, software architect and developer, Ars Machina Tecnologia da  
Informação Ltda.

http://www.arsmachina.com.br

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: Good news about Tapestry 5 in Google App Engine

2009-11-08 Thread Kevin Menard
Well, it took me longer than I wanted, but the patch has been applied.
 Thanks again.

-- 
Kevin



On Thu, Oct 29, 2009 at 8:47 AM, Kevin Menard nirvd...@gmail.com wrote:
 Thanks for opening TAP5-913, Dmitry.  I'll try to apply this tonight.
 Unfortunately the test system for Tapestry doesn't work for Snow
 Leopard, so I have to run in a VM to verify everything is passing.

 --
 Kevin



 On Wed, Oct 28, 2009 at 7:31 AM, Dmitry Gusev dmitry.gu...@gmail.com wrote:
 I've made a Pull request on github with fixes for java.lang.VerifyError.

 Here's the commit details:

 http://github.com/dmitrygusev/tapestry5/commit/35197745d13ffed1fb89d730dbc85f750bf50bb0


 On Mon, Sep 14, 2009 at 07:14, Alex Kotchnev akoch...@gmail.com wrote:

 A follow up question to the committers on this : Is Jun's approach below
 something acceptable to do in the meantime ? I was trying to deploy a test
 5.1 app to GAE and I ran into the same issue. As he indicated these methods
 had emtpy try-catch blocks, removing which is supposed to resolve the
 issue.
 THe part that worries me are the magical $ANTLR comments that I think can
 somehow be used by ANTLR. Any tips ?

 Cheers,

 Alex K

 On Fri, Sep 4, 2009 at 3:50 AM, Jun Tsai jun.t...@gmail.com wrote:

  I had manually  fixed the problem.Remove some empty method body in
  PropertyExpressionLexer.java maked by antlr.
   // $ANTLR start INTEGER
     public final void mINTEGER() throws RecognitionException {
     }
     // $ANTLR end INTEGER
 
     // $ANTLR start DEREF
     public final void mDEREF() throws RecognitionException {
     }
     // $ANTLR end DEREF
 
     // $ANTLR start RANGEOP
     public final void mRANGEOP() throws RecognitionException {
     }
     // $ANTLR end RANGEOP
 
     // $ANTLR start DECIMAL
     public final void mDECIMAL() throws RecognitionException {
     }
 
 
  and repacked. It works fine.
 
 
 
  2009/9/4 Jun Tsai jun.t...@gmail.com
 
   The ticket had been fixed.I had tested on GAE using 1.2.5 SDK. But when
 I
   write simple pagelink t:pagelink page=about about/t:pagelink
 ,some
   exception thrown.
  
   java.lang.VerifyError: (class:
  org/apache/tapestry5/internal/antlr/PropertyExpressionLexer, method:
  mRANGEOP signature: ()V) Stack size too large
         at
 
 org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1229)
         at
 
 org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.build(PropertyConduitSourceImpl.java:1124)
         at
 
 org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.create(PropertyConduitSourceImpl.java:1080)
  
  
   Who can give me  an idea about the exception.
  
   thanks.
  
  
   2009/9/4 Thiago H. de Paula Figueiredo thiag...@gmail.com
  
   --- Mensagem encaminhada ---
   De: codesite-nore...@google.com
   Assunto: Issue 1277 in googleappengine: Add javax.xml.stream to
  whitelist
   Data: Thu, 03 Sep 2009 19:34:42 -0300
  
   Updates:
          Status: Fixed
          Labels: Version-1.2.5
  
   Comment #12 on issue 1277 by sly...@google.com: Add javax.xml.stream
 to
   whitelist
   http://code.google.com/p/googleappengine/issues/detail?id=1277
  
   This has been fixed in the 1.2.5 release.
  
   http://code.google.com/p/googleappengine/wiki/SdkForJavaReleaseNotes
  
   Support for the Stax API, javax.xml.stream. You can now use both the
   JDK's Stax parser as well as third-party Stax libraries like
 Woodstox.
  
   Can anyone confirm that a vanilla Tapestry 5.1.0.5 works in GAE now?
  
   --
   Thiago H. de Paula Figueiredo
   Independent Java consultant, developer, and instructor
   http://www.arsmachina.com.br/thiago
  
   -
   To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
   For additional commands, e-mail: users-h...@tapestry.apache.org
  
  
  
  
   --
   regards,
   Jun Tsai
  
 
 
 
  --
  regards,
  Jun Tsai
 




 --
 Dmitry Gusev

 AnjLab Team
 http://anjlab.com



-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: How do you pass a context to PageTester?

2009-11-08 Thread mraible

I'd like to know how to do this too. Basically, I'm looking to invoke a page
and pass it a request parameter. Is this possible?

Thanks,

Matt


Mats Henricson-2 wrote:
 
 Hi!
 
 Since Testify isn't working for me, I thought I'd look at
 this page:
 
 http://tapestry.apache.org/tapestry5.1/guide/unit-testing-pages.html
 
 It has this example:
 
 PageTester tester = new PageTester(appPackage, appName, ...);
 Object[] context = new Object[]{ abc, 123 };
 Document doc = tester.invoke(new ComponentInvocation(
   new PageLinkTarget(MyPage), context));
 
 Unfortunately I can't find a PageTester.invoke() function
 in T5.1. There isn't a ComponentInvocation class either.
 
 So, how IS this supposed to work? And what exactly IS that
 context? Is it possible to override the @Injected services
 with mock services into my page this way?
 
 Mats
 
 -
 To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
 For additional commands, e-mail: users-h...@tapestry.apache.org
 
 
 

-- 
View this message in context: 
http://old.nabble.com/How-do-you-pass-a-context-to-PageTester--tp25274401p26256779.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



How large can post be in Tapestry 5.1.0.5?

2009-11-08 Thread Argo Vilberg
An unexpected application exception has occurred.

   - java.lang.IllegalStateException
   Post too large
   Hide uninteresting stack framesStack trace
  -
  org.apache.catalina.connector.Request.parseParameters(Request.java:2388)
  -
  org.apache.catalina.connector.Request.getParameter(Request.java:1005)
  -
  
org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:353)
  -
  
org.apache.tapestry5.internal.services.RequestImpl.getParameter(RequestImpl.java:72)
  -
  
org.apache.tapestry5.internal.services.ComponentEventLinkEncoderImpl.decodeComponentEventRequest(ComponentEventLinkEncoderImpl.java:244)
  -
  
$ComponentEventLinkEncoder_124d5c4d438.decodeComponentEventRequest($ComponentEventLinkEncoder_124d5c4d438.java)
  -
  
org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:42)
  - $Dispatcher_124d5c4d439.dispatch($Dispatcher_124d5c4d439.java)
  - $Dispatcher_124d5c4d430.dispatch($Dispatcher_124d5c4d430.java)
  -
  
org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:245)
  -
  
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
  -
  $RequestHandler_124d5c4d431.service($RequestHandler_124d5c4d431.java)
  -
  
org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:778)
  -
  $RequestHandler_124d5c4d431.service($RequestHandler_124d5c4d431.java)
  -
  
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:767)
  -
  $RequestHandler_124d5c4d431.service($RequestHandler_124d5c4d431.java)
  -
  
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85)
  -
  $RequestHandler_124d5c4d431.service($RequestHandler_124d5c4d431.java)
  -
  
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
  -
  
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:81)
  -
  
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
  -
  
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
  -
  $RequestHandler_124d5c4d431.service($RequestHandler_124d5c4d431.java)
  -
  $RequestHandler_124d5c4d427.service($RequestHandler_124d5c4d427.java)
  -
  
org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:197)
  -
  
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
  -
  
$HttpServletRequestHandler_124d5c4d429.service($HttpServletRequestHandler_124d5c4d429.java)
  -
  org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
  -
  
$HttpServletRequestHandler_124d5c4d429.service($HttpServletRequestHandler_124d5c4d429.java)
  -
  
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
  -
  
$HttpServletRequestFilter_124d5c4d425.service($HttpServletRequestFilter_124d5c4d425.java)
  -
  
$HttpServletRequestHandler_124d5c4d429.service($HttpServletRequestHandler_124d5c4d429.java)
  -
  
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:726)
  -
  
$HttpServletRequestHandler_124d5c4d429.service($HttpServletRequestHandler_124d5c4d429.java)
  -
  
$HttpServletRequestHandler_124d5c4d423.service($HttpServletRequestHandler_124d5c4d423.java)
  -
  org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:127)
  -
  
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
  -
  
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
  -
  
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
  -
  
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
  -
  
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  -
  
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
  -
  
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
  -
  
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
  -
  org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
  -
  
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
  -
  
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
  -
  

Re: How large can post be in Tapestry 5.1.0.5?

2009-11-08 Thread Thiago H. de Paula Figueiredo
Em Sun, 08 Nov 2009 19:58:00 -0200, Argo Vilberg wilps...@gmail.com  
escreveu:



An unexpected application exception has occurred.

   - java.lang.IllegalStateException
   Post too large
   Hide uninteresting stack framesStack trace
  -
  org.apache.catalina.connector.Request.parseParameters(Request.java:2388)


Notice it's a Tomcat exception, not a Tapestry one. Anyway, I guess it is  
much more of a server issue than a Tapestry one.


--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,  
and instructor
Owner, software architect and developer, 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



Beanformedit question

2009-11-08 Thread Jonhy Pear
Hello all,

This is my first message to the list. I'm new to tapestry and I'm evaluating
it and looking for some guidance.
Let's say I have a java bean with:

String nick;
String firstName;
String lastName;
String hashPassword;

I want to use beaneditform to create a new user but I want to add new
fields:

password
retypePassword

and validade the presence of both and their equality. You know, that typical
registration process.

When user submit the new data I want to validate the equality of both
password and confirmPassword and set a hash based on password in the field
hashPassword in the bean.

Does anybody have a sample code that I can use to know what is the best way
to achieve this with tapestry?


thank you


Re: beaneditform question

2009-11-08 Thread Jonhy Pear
Sorry, I mean beaneditform, not beaneditform


On Mon, Nov 9, 2009 at 1:05 AM, Jonhy Pear jonhy.p...@gmail.com wrote:





 Hello all,

 This is my first message to the list. I'm new to tapestry and I'm
 evaluating it and looking for some guidance.
 Let's say I have a java bean with:

 String nick;
 String firstName;
 String lastName;
 String hashPassword;

 I want to use beaneditform to create a new user but I want to add new
 fields:

 password
 retypePassword

 and validade the presence of both and their equality. You know, that
 typical registration process.

 When user submit the new data I want to validate the equality of both
 password and confirmPassword and set a hash based on password in the field
 hashPassword in the bean.

 Does anybody have a sample code that I can use to know what is the best way
 to achieve this with tapestry?


 thank you






-- 
João Miguel Pereira
http://jpereira.eu
LinkedIn: http://www.linkedin.com/in/joaomiguelpereira

joaomiguel.pere...@gmail.com
(351) 96 275 68 58


Re: beaneditform question

2009-11-08 Thread DH
Hi

Simple sample(t5.1):

In tml:
form t:id=regForm t:type=beaneditform object=user 
include=nick,firstName,lastName add=password,retypePassword
p:password
t:label for=password/
t:passwordfield t:id=password validate=required
/p:password
p:retypePassword
t:label for=retypePassword/
t:passwordfield t:id=retypePassword validate=required
/p:retypePassword
/form

In java:

@Component
private BeanEditForm regForm;

@Property
private User user; // your user entity

@Property
private String password;

@Property
private String retypePassword;

Object onValidate() {
if (!password.equals(retypePassword)) {
regForm.recordError(password and retypepassword must be == );
return this; // meaning validation failed
}
return null; // validation successfully.
}

Object onSuccess() {
user.setPassword(encodeutil.encode(password));
service.save(user);
return successpage or other;
}

DH
http://www.gaonline.com.cn

- Original Message - 
From: Jonhy Pear 
To: users@tapestry.apache.org
Sent: Monday, November 09, 2009 9:21 AM
Subject: Re: beaneditform question


Sorry, I mean beaneditform, not beaneditform


On Mon, Nov 9, 2009 at 1:05 AM, Jonhy Pear jonhy.p...@gmail.com wrote:





 Hello all,

 This is my first message to the list. I'm new to tapestry and I'm
 evaluating it and looking for some guidance.
 Let's say I have a java bean with:

 String nick;
 String firstName;
 String lastName;
 String hashPassword;

 I want to use beaneditform to create a new user but I want to add new
 fields:

 password
 retypePassword

 and validade the presence of both and their equality. You know, that
 typical registration process.

 When user submit the new data I want to validate the equality of both
 password and confirmPassword and set a hash based on password in the field
 hashPassword in the bean.

 Does anybody have a sample code that I can use to know what is the best way
 to achieve this with tapestry?


 thank you






-- 
João Miguel Pereira
http://jpereira.eu
LinkedIn: http://www.linkedin.com/in/joaomiguelpereira

joaomiguel.pere...@gmail.com
(351) 96 275 68 58


tapestry4 contrib table making same multiple hibernate query

2009-11-08 Thread asianCoolz
May i know does anyone experience this in tapestry 4. I have a page that query
for table row and count. but from hibernate log, it show repeating same query
for multiple times. is this normal?


Hibernate: select count(*) as y0_ from TESTTABLEONLY this_ where this_.CATEGO
RYNAME like ?
Hibernate: select * from ( select this_.ID as ID14_0_, this_.CATEGORYNAME as CAT
EGORY2_14_0_ from TESTTABLEONLY this_ where this_.CATEGORYNAME like ? order b
y this_.CATEGORYNAME desc ) where rownum = ?
Hibernate: select * from ( select this_.ID as ID14_0_, this_.CATEGORYNAME as CAT
EGORY2_14_0_ from TESTTABLEONLY this_ where this_.CATEGORYNAME like ? order b
y this_.CATEGORYNAME desc ) where rownum = ?
Hibernate: select * from ( select this_.ID as ID14_0_, this_.CATEGORYNAME as CAT
EGORY2_14_0_ from TESTTABLEONLY this_ where this_.CATEGORYNAME like ? order b
y this_.CATEGORYNAME desc ) where rownum = ?
Hibernate: select count(*) as y0_ from TESTTABLEONLY this_ where this_.CATEGO
RYNAME like ?
Hibernate: select count(*) as y0_ from TESTTABLEONLY this_ where this_.CATEGO
RYNAME like ?
Hibernate: select count(*) as y0_ from TESTTABLEONLY this_ where this_.CATEGO
RYNAME like ?
Hibernate: select count(*) as y0_ from TESTTABLEONLY this_ where this_.CATEGO
RYNAME like ?
Hibernate: select count(*) as y0_ from TESTTABLEONLY this_ where this_.CATEGO
RYNAME like ?
Hibernate: select count(*) as y0_ from TESTTABLEONLY this_ where this_.CATEGO
RYNAME like ?
Hibernate: select count(*) as y0_ from TESTTABLEONLY this_ where this_.CATEGO
RYNAME like ?
Hibernate: select count(*) as y0_ from TESTTABLEONLY this_ where this_.CATEGO
RYNAME like ?
Hibernate: select count(*) as y0_ from TESTTABLEONLY this_ where this_.CATEGO
RYNAME like ?
Hibernate: select count(*) as y0_ from TESTTABLEONLY this_ where this_.CATEGO
RYNAME like ?



-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: [Tapestry Central] Next Steps for Tapestry

2009-11-08 Thread Igor Drobiazko

Hi Alex,

I'll ask the publisher again and suggest your idea.

08.11.2009, в 17:41, Alex Kotchnev akoch...@gmail.com написал(а):


Igor : just an idea on the translation front. I know that the NetBeans
community already did two community translated books from German,  
so it

might be interesting if the same model is possible in the Tapestry
community. I think it was mostly a volunteer effort but it got two  
NetBeans
RCP books translated in no time. In other words, if there are half a  
dozen
to a dozen people in the community who know both German and English  
and are
willing to translate a chapter or two, then the publisher only needs  
an
editor to verify that the translation is good - much less effort on  
their
part, much faster to get the books selling in English speaking  
countries,

much faster way to get the books into the community.

On my part, although I can't offer any skills in doing the actual
translation, I can offer some of my time to proof read chapters that  
are
already translated. Luckily, code (usually) doesn't need much  
translating.


Cheers,

Alex K

On Sun, Nov 8, 2009 at 10:55 AM, Igor Drobiazko igor.drobia...@gmail.com 
wrote:


Well, I think you should do what you feel is best for you right  
now. If you
need a timeout from coding then write a book. If you feel a book  
will take
too much of your time then code again. I'm still hoping my  
publisher will

translate my book. So maybe there will be an english book even if you
decide
not to write one. I asked the published several times but didn't  
get any
feedback yet. I suppose they are not ready to make a decision right  
now.


However, if you need some co-authors I'm ready. Not sure I'm  
allowed to but

I can check it. I remember some clause in my contract about writing
competing books.

Don't get me wrong but a 5.2.0.0 release without any single commit of
Howard
would be something awful. :)
It would be a historical event and the final prove that Tapestry is  
no
longer a one men show. We have 29 fixed issues in current 5.2  
trunk. The
both most popular issues will be fixed in the next days. I'm on the  
verge

of
committing fix for  http://issues.apache.org/jira/browse/TAP5-138 .  
Robert

was going to provide a fix for
https://issues.apache.org/jira/browse/TAP5-815 this weekend. JSR 303
support
is almost there.

On Sat, Nov 7, 2009 at 7:11 PM, Howard hls...@gmail.com wrote:


I've been consciously letting Tapestry 5.1 sit and stabilize for a
while ... a time that's stretched a few months longer than I  
initially

intended.
This is due to a number of factors: my return to independent
consulting, my desire to write a definitive Tapestry 5 book, and
preparations for many trips and speaking engagements.
All of these factors have worked on each other: I've been  
improving and

extending my Tapestry Workshop training materials which can be quite
time consuming. I've also (over the last several months) been on the
road several times, talking about Tapestry or doing Tapestry  
training.
I do want to write a book on Tapestry but if I start writing 5.2  
code,
I know I'll be sucked right in ... lots of code (that darn Spring  
Web

Flow integration for sure this time) and bug fixes.
In addition, I've had an embarassment of riches: two main clients,  
one

regular part time, and the other requesting (but not always getting)
all my remaining time. I also have additional clients and training
engagements waiting in the wings. I simply have a lot of draws on my
time.
As usual, working on real-world projects lets me experience the  
rough
edges of Tapestry and fills me with ideas on how to address those  
in

the next release ... often by splitting up Tapestry services into
smaller, more easily overridden chunks and carefully moving internal
services out into the public APIs.
Finally, I've been very pleased by the fact that as I've stepped  
back

temporarily from my normal stream of commits, the other Tapestry
developers have stepped in and filled the gap. There's been quite  
a bit
of activity especially from Igor that I've barely had a chance to  
keep

up on.
So the question is: do I wait and see if time opens up in Q1 to
actually start on a T5 book ... or do I jump into 5.2 coding and  
leave
books to others? It's much, much easier to write code than to  
write a

book ... a book is a large amount of concentrated effort. It's very
hard to accomplish anything on a book using an hour here or an  
evening

there ... whereas Tapestry's code base lends itself to that kind of
effort quite nicely.

--
Posted By Howard to Tapestry Central at 11/07/2009 10:11:00 AM





--
Best regards,

Igor Drobiazko



-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: How do you pass a context to PageTester?

2009-11-08 Thread Igor Drobiazko
Just create another page containg a link to target page and click on  
it. The link can contain a context.


08.11.2009, в 20:01, mraible m...@raibledesigns.com написал(а):



I'd like to know how to do this too. Basically, I'm looking to  
invoke a page

and pass it a request parameter. Is this possible?

Thanks,

Matt


Mats Henricson-2 wrote:


Hi!

Since Testify isn't working for me, I thought I'd look at
this page:

http://tapestry.apache.org/tapestry5.1/guide/unit-testing-pages.html

It has this example:

PageTester tester = new PageTester(appPackage, appName, ...);
Object[] context = new Object[]{ abc, 123 };
Document doc = tester.invoke(new ComponentInvocation(
 new PageLinkTarget(MyPage), context));

Unfortunately I can't find a PageTester.invoke() function
in T5.1. There isn't a ComponentInvocation class either.

So, how IS this supposed to work? And what exactly IS that
context? Is it possible to override the @Injected services
with mock services into my page this way?

Mats

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org





--
View this message in context: 
http://old.nabble.com/How-do-you-pass-a-context-to-PageTester--tp25274401p26256779.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: [Tapestry Central] Next Steps for Tapestry

2009-11-08 Thread Kalle Korhonen
Howard, you touch too many points to make a very concise reply, but I
agree with many others encouraging you to continue coding 5.2 before
you start writing a book. By now, you probably have a fairly good idea
how you could improve things and I'd hate to have the first book on
Tapestry5 to already become outdated right away if you start on T5.2
only after releasing the book. Yes, there are a few active committers
but the community still needs your direction and you have a superior
ability to generalize concepts and turn them into brilliant
implementations. I'm not sure the committers would be able to lay out
a release plan without you either - bug fixes and some pet
improvements yes, but coming up and deciding features for a new major
release is a different ballgame. Of course, it's always easy for
people like me who are sitting on the sidelines to tell what you
should and shouldn't do.

On the matter of new features, I'm more and more convinced that web
conversations can be simplified a lot if they stay on the same page
- as proven by my Tapestry-conversations module
(http://docs.codehaus.org/display/TRAILS/Conversations+in+Trails). As
good as Spring Web Flow is, it's cumbersome and unnecessarily heavy
for modern ajaxified web. A built-in conversational scope with a
better mechanism for dealing with different page context entry points
(I'm likely not the only one with long if-elses in my onActivate
methods) might be enough for 90% of the use cases.

Still, a book is badly needed. The inconvenient truth is there are
very very few users of Tapestry anymore, the popularity of Tapestry is
declining and new Java developers are not finding the framework (as
proven by 
http://www.google.com/insights/search/#q=tapestry%20java%2C%20wicket%20java%2Cgrails%20javacmpt=q
- by know T5 release should have made a bump in those graphs). And
don't get me wrong - I've never believed that popularity would make
anything better, but without a wide enough user base it's difficult to
make a living out of it even if you want to and a healthy user base is
needed for a project to alive and active. I'm sure you've gone out of
your way to evangelize Tapestry but I'm amazed by (and I bet you've
been equally amazed, even envious at times) how some other frameworks
such as RoR and Grails have been able to market themselves so well.
It's baffling as we all know that purely from technological
standpoint, T5 is easily on par with the rest out there and often
surpassing the competition on specific areas. Clearly, but sadly,
eye-candy and looks over substance plays a big part here even among
engineers and I'm sure Tapestry could do more there. Documentation is
an issue with new-comers and a book would help. The reference
documentation is great but what missing is the longer, more
descriptive tutorials on how to get started and a book would at least
partially address those needs. It's not really just Tapestry's fault,
just that modern Java is complex and there are various tools like
Maven and other frameworks that you need to know about compared to
lighter, but easier all-in-one frameworks. But when it comes down to
choosing between coding and writing (a book), I think most would agree
that your time is better spent improving the core framework and
pushing the envelope further, while letting somebody else fill the gap
for the book. If you start feeling like it's getting harder to find
new things that might be worthwhile to add to the framework, at that
point it may be the right time for you to write a book. Hopefully that
time is not yet.

Just my 2 cents,
Kalle



On Sat, Nov 7, 2009 at 10:11 AM, Howard hls...@gmail.com wrote:
 I've been consciously letting Tapestry 5.1 sit and stabilize for a
 while ... a time that's stretched a few months longer than I initially
 intended.
 This is due to a number of factors: my return to independent
 consulting, my desire to write a definitive Tapestry 5 book, and
 preparations for many trips and speaking engagements.
 All of these factors have worked on each other: I've been improving and
 extending my Tapestry Workshop training materials which can be quite
 time consuming. I've also (over the last several months) been on the
 road several times, talking about Tapestry or doing Tapestry training.
 I do want to write a book on Tapestry but if I start writing 5.2 code,
 I know I'll be sucked right in ... lots of code (that darn Spring Web
 Flow integration for sure this time) and bug fixes.
 In addition, I've had an embarassment of riches: two main clients, one
 regular part time, and the other requesting (but not always getting)
 all my remaining time. I also have additional clients and training
 engagements waiting in the wings. I simply have a lot of draws on my
 time.
 As usual, working on real-world projects lets me experience the rough
 edges of Tapestry and fills me with ideas on how to address those in
 the next release ... often by splitting up Tapestry services into
 smaller, more easily