You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Howard Lewis Ship <hl...@gmail.com> on 2009/12/23 17:21:07 UTC

About T5 integration modules

While it's true that other frameworks (Grails, Wicket, Rails) have
large numbers of integrations, if you talk to real developers you find
out that the majority of those integrations are not actually usable
for production work. All too often, they are orphaned, unsupported,
incomplete, naive or coded against an earlier version of the core
framework ... or some combination of all of those.

I do a lot of training and consulting on Tapestry with a lot of groups
and what I find is that one size does not fit all, even for simple
things like user authentication/login. I'm quite happy to have a
limited number of basic integrations that are documented, supported
and tested.  Would I like every application to just be a matter of
mixing pre-built modules together?  Yes.  Do I think it is realistic,
for ANY framework?  No.

On Wed, Dec 23, 2009 at 7:48 AM, Howard Lewis Ship <hl...@gmail.com> wrote:
> Noe, I've been down this path before, regrettably.  The ONLY thing to
> do it to ignore the trolls.
>
> On Tue, Dec 22, 2009 at 11:29 PM, Newham, Cameron <ca...@bl.uk> wrote:
>> I don't agree with the OP that the ServerSide discussion shows Tapestry "has lost the battle" - two posters state they don't want to see Tapestry mentioned. That's all there is.
>>
>> However, I can't agree with you Thiago. The old saying is "if you say it enough times then people will believe it is true".
>>
>> If you are just going to stand by and let "trolls" post bad things about Tapestry unchallenged then they have won the argument - regardless of how bad their argument may be and how incorrect their views may be.
>>
>> After all, someone pitching up and wanting a framework will read what they've written and believe it. Who is to say these anti-Tapestry people are wrong?  Not you - because you won't counter their arguments! :-)
>>
>> Sure - don't feed the trolls. But all that is necessary is to say something positive; not engage them in an argument.
>>
>> Merry Xmas everyone.
>>
>>
>> -----Original Message-----
>> From: Thiago H. de Paula Figueiredo [mailto:thiagohp@gmail.com]
>> Sent: 22 December 2009 15:26
>> To: Tapestry users
>> Subject: Re: Discussion
>>
>> Em Tue, 22 Dec 2009 12:45:20 -0200, Banchi Liko <ba...@gmail.com>
>> escreveu:
>>
>>> Hi guys,
>>
>> Hi!
>>
>>> There is a discussion going on here
>>> http://www.theserverside.com/news/thread.tss?thread_id=58858 and seems
>>> like Tapestry ihas already been ruled out as a viable and serious web
>>> framework.
>>
>> TheServerSide comments has too many trolls to have a good, reasonable
>> discussion there.
>>
>>> Wicket seems to be the favorite.
>>
>> Some people who bother to post there like Wicket. Most people who like
>> Tapestry, maybe all of them, don't bother to post there.
>>
>>> I'm sad Tapestry has lost the battle and afraid it might die soon.
>>
>> Please source or explain your statements or you'll be treated like a troll
>> here.
>>
>>> Please go and contribute and let your voice be
>>> heard before Tapestry dies a horrible death.
>>
>> No, thank you. Posting there will not change Tapestry's fate. Using it,
>> exchanging ideas in the mailing lists and contributing code will (and
>> already is).
>>
>> --
>> 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-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@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
>



-- 
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-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: About T5 integration modules

Posted by "Thiago H. de Paula Figueiredo" <th...@gmail.com>.
Em Thu, 24 Dec 2009 09:17:14 -0200, Ivano Luberti <lu...@archicoop.it>  
escreveu:

Ciao, Ivano! :)

> Thiago, every time I see your solutions and the easyness with which you
> find them I wonder how you have learned to use Tapestry.
> Do you are involved in design and development of  Tapestry core  ? Are
> you a committer that hase learned by using it?
> Knowing that could really show the way to others , wouldn't it ?

I hope this message inspire some people. :)

I love software development, Java, Tapestry-IoC, Tapestry and Hibernate  
(but not only them). I'm very curious guy too. I learned a little bit of  
Tapestry 4 and was one of the first to use Tapestry 5, so I'm using T5 for  
almost all of its lifetime.

I have a very good memory of what I've seen before, being it from the  
sources (first or third part) or the mailing lists. I learn a lot from  
what other people post in the ML. Sometimes I even try to answer something  
I don't know so I can learn how to do that. :) I've read the whole  
Tapestry and Tapestry-IoC documentation at least once. Sometimes, I  
implement something just as a proof-of-concept to myself, so I can learn  
it and use it when some appropriate scenario arises. I also play with  
parameters and configuration just to see what happens. :)

Having sources available for reading (viva open source!), every time I  
wanted to do something that wasn't documented or already done in the  
mailing lists or other projects, I dived in the Tapestry sources. Very  
often I've found what I wanted quickly. *The first place to look is  
TapestryModule.* It's where almost everything in Tapestry is configured.  
Searching for words related to what you want in TapestryModule often lead  
to quick answers. From there, I figure out what service does what I need  
and then I use Eclipse's search for usages (to learn where it's used) and  
hierarchy (to learn how it's implemented). Tapestry is implemented in an  
homogenous way, so I can figure out quickly how something is implemented  
by recalling how some other thing is implemented. Gotta love design  
patterns, conventions and standards. :)

Learning Tapestry-IoC more deeply as an user also helps a lot to  
understand Tapestry-the-web-framework. Distributed configuration is a very  
often feature used by T5. It's almost the reason Tapestry-IoC was created  
at first. When you learn it, I'm sure you're going to use it a lot.

The documentation needs to be improved, no doubt about it. But take a  
little time to read the sources. They're very well written, most of it  
isn't hard to understand and you can learn a lot. ;) Remember your  
starting point is TapestryModule. ;)

I'm a committer since February. Unfortunately, my only contribution until  
now was the initial URL rewriting code that was later improved by Robert.  
I would love to contribute more, but, as an independent developer, I'm  
having very small free time. :( Otherwise, I would contribute much more, I  
swear. ;)

-- 
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-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: About T5 integration modules

Posted by Ivano Luberti <lu...@archicoop.it>.
Thiago, every time I see your solutions and the easyness with which you
find them I wonder how you have learned to use Tapestry.
Do you are involved in design and development of  Tapestry core  ? Are
you a committer that hase learned by using it?
Knowing that could really show the way to others , wouldn't it ?

Thiago H. de Paula Figueiredo ha scritto:
> Em Thu, 24 Dec 2009 07:40:09 -0200, Gerald Bauer <gt...@gmail.com>
> escreveu:
>
>> I agree with you but I don't think that is the issue here. The
>> question was how come with Frameworks such as Wicket there is an
>> explosion of integrationmodules written and well documented whereas
>> in Tapestry there is only a
>> handful. Is this because Tapestry is too complex for achieving such
>> goals?
>
> No. Some years ago, when Tapestry was still in its 5.0.5 version
> (pre-pre-pre-alpha), I wrote a very simple Hibernate integration
> package in Tapestry-IoC, including automatic transaction management. I
> was a complete T-IoC newbie then. I wrote it in 8 hours, most of them
> dealing with the transaction management itself, not with T-IoC.
>
> Summary of the reasons Tapestry and Tapestry-IoC don't have the same
> number of integrations as Wicket, as discussed recently in
> http://old.nabble.com/Discussion-to26889452s302.html:
>
> 1) Someone has to write them. Time is needed for this.
>
> 2) Wicket is way older (4.5 years vs 1.5 years), so the Wicket people
> had 3x more time to write them than the Tapestry people.
>
> 3) More people use Wicket than Tapestry (I don't have any figures), so
> the total amount of time for writing integrations is larger.
>
> Sometimes, technology-related issues have non-technology causes. And
> sometimes the best option is not the mostly used. Example: Struts
> until some time ago, JSF now.
>

-- 
==================================================
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-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: About T5 integration modules

Posted by "Thiago H. de Paula Figueiredo" <th...@gmail.com>.
Em Thu, 24 Dec 2009 07:40:09 -0200, Gerald Bauer <gt...@gmail.com>  
escreveu:

> I agree with you but I don't think that is the issue here. The question  
> was how come with Frameworks such as Wicket there is an explosion of  
> integrationmodules written and well documented whereas in Tapestry there  
> is only a
> handful. Is this because Tapestry is too complex for achieving such  
> goals?

No. Some years ago, when Tapestry was still in its 5.0.5 version  
(pre-pre-pre-alpha), I wrote a very simple Hibernate integration package  
in Tapestry-IoC, including automatic transaction management. I was a  
complete T-IoC newbie then. I wrote it in 8 hours, most of them dealing  
with the transaction management itself, not with T-IoC.

Summary of the reasons Tapestry and Tapestry-IoC don't have the same  
number of integrations as Wicket, as discussed recently in  
http://old.nabble.com/Discussion-to26889452s302.html:

1) Someone has to write them. Time is needed for this.

2) Wicket is way older (4.5 years vs 1.5 years), so the Wicket people had  
3x more time to write them than the Tapestry people.

3) More people use Wicket than Tapestry (I don't have any figures), so the  
total amount of time for writing integrations is larger.

Sometimes, technology-related issues have non-technology causes. And  
sometimes the best option is not the mostly used. Example: Struts until  
some time ago, JSF now.

-- 
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-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: About T5 integration modules

Posted by Gerald Bauer <gt...@gmail.com>.
Howard,

I agree with you but I don't think that is the issue here. The question was
how come with Frameworks such as Wicket there is an explosion of integration
modules written and well documented whereas in Tapestry there is only a
handful. Is this because Tapestry is too complex for achieving such goals?



On Wed, Dec 23, 2009 at 5:21 PM, Howard Lewis Ship <hl...@gmail.com> wrote:

> While it's true that other frameworks (Grails, Wicket, Rails) have
> large numbers of integrations, if you talk to real developers you find
> out that the majority of those integrations are not actually usable
> for production work. All too often, they are orphaned, unsupported,
> incomplete, naive or coded against an earlier version of the core
> framework ... or some combination of all of those.
>
> I do a lot of training and consulting on Tapestry with a lot of groups
> and what I find is that one size does not fit all, even for simple
> things like user authentication/login. I'm quite happy to have a
> limited number of basic integrations that are documented, supported
> and tested.  Would I like every application to just be a matter of
> mixing pre-built modules together?  Yes.  Do I think it is realistic,
> for ANY framework?  No.
>
> On Wed, Dec 23, 2009 at 7:48 AM, Howard Lewis Ship <hl...@gmail.com>
> wrote:
> > Noe, I've been down this path before, regrettably.  The ONLY thing to
> > do it to ignore the trolls.
> >
> > On Tue, Dec 22, 2009 at 11:29 PM, Newham, Cameron <ca...@bl.uk>
> wrote:
> >> I don't agree with the OP that the ServerSide discussion shows Tapestry
> "has lost the battle" - two posters state they don't want to see Tapestry
> mentioned. That's all there is.
> >>
> >> However, I can't agree with you Thiago. The old saying is "if you say it
> enough times then people will believe it is true".
> >>
> >> If you are just going to stand by and let "trolls" post bad things about
> Tapestry unchallenged then they have won the argument - regardless of how
> bad their argument may be and how incorrect their views may be.
> >>
> >> After all, someone pitching up and wanting a framework will read what
> they've written and believe it. Who is to say these anti-Tapestry people are
> wrong?  Not you - because you won't counter their arguments! :-)
> >>
> >> Sure - don't feed the trolls. But all that is necessary is to say
> something positive; not engage them in an argument.
> >>
> >> Merry Xmas everyone.
> >>
> >>
> >> -----Original Message-----
> >> From: Thiago H. de Paula Figueiredo [mailto:thiagohp@gmail.com]
> >> Sent: 22 December 2009 15:26
> >> To: Tapestry users
> >> Subject: Re: Discussion
> >>
> >> Em Tue, 22 Dec 2009 12:45:20 -0200, Banchi Liko <ba...@gmail.com>
> >> escreveu:
> >>
> >>> Hi guys,
> >>
> >> Hi!
> >>
> >>> There is a discussion going on here
> >>> http://www.theserverside.com/news/thread.tss?thread_id=58858 and seems
> >>> like Tapestry ihas already been ruled out as a viable and serious web
> >>> framework.
> >>
> >> TheServerSide comments has too many trolls to have a good, reasonable
> >> discussion there.
> >>
> >>> Wicket seems to be the favorite.
> >>
> >> Some people who bother to post there like Wicket. Most people who like
> >> Tapestry, maybe all of them, don't bother to post there.
> >>
> >>> I'm sad Tapestry has lost the battle and afraid it might die soon.
> >>
> >> Please source or explain your statements or you'll be treated like a
> troll
> >> here.
> >>
> >>> Please go and contribute and let your voice be
> >>> heard before Tapestry dies a horrible death.
> >>
> >> No, thank you. Posting there will not change Tapestry's fate. Using it,
> >> exchanging ideas in the mailing lists and contributing code will (and
> >> already is).
> >>
> >> --
> >> 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-unsubscribe@tapestry.apache.org
> >> For additional commands, e-mail: users-help@tapestry.apache.org
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> >> For additional commands, e-mail: users-help@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
> >
>
>
>
> --
> 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-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

Re: About T5 integration modules

Posted by Marcus Veloso <mv...@gmail.com>.
Hi,

About pages protected access, I think that the tapestry5-portlet module will
provide (through portal platform) implementations of much of the common
functionality that any web-based application would require: role-based
security (including authentication and authorization), user registration and
administration, self resetting of user passwords.

In the mean time, I'm using Chenillekit Access module.

Best Regards,
Marcus

Re: About T5 integration modules

Posted by cordenier christophe <ch...@gmail.com>.
Hi,

For the one who are interested in, I have written a first article on how we
have secured Tapestry Pages in wooki with Spring Security :

http://spreadthesource.com/2010/01/securing-tapestry-5-pages-with-spring-security-2-x-part-i/

Best Regards,
Christophe Cordenier.

Developper of Wooki @wookicentral.com


2009/12/30 Newham, Cameron <ca...@bl.uk>

>
> Interesting.
>
> I'd hardly call myself even an advanced-intermediate Tapestry user (some
> of the stuff you guys talk about is way over my head!) but really, is it
> that difficult to create a Dispatcher and custom page annotations?!
>
> I included simple security with roles very early on in my webapp by
> going the page annotation route because it was a) understandable  and b)
> simple to implement by following the examples I'd seen. I had even less
> of an understanding of Tapestry than I do now.
>
> I found it very easy to understand and code, and it works so well. I
> shudder to think how long it would have taken ploughing through
> documents on security solutions, like Spring Security, when all I wanted
> was half a dozen roles and some way to mark my pages as general viewing
> or requiring login under a certain role.
>
> As I've said all along, I think the only thing lacking big time for
> Tapestry is clear, easy to understand documentation with good simple
> examples of each feature. That said - I had no troubles with the above
> security stuff (and I didn't even have to look at Tapestry source code
> ;-)
>
> Rather than providing large cumbersome bolt-ons for features that may
> not even solve all problems, I'd rather see well-defined methods and
> example solutions for particular problems which allows scope for people
> to customise if they so wish. Isn't that an example of "convention over
> configuration"? ;-) It would also be far quicker than developing modules
> that try to be all things to all people - and perhaps lessen the
> perceived gap between tech. like Wicket and Tapestry in a much shorter
> time period.
>
>
> -----Original Message-----
> From: ps@sartini-its.com [mailto:ps@sartini-its.com] On Behalf Of Piero
> Sartini
> Sent: 24 December 2009 20:34
> To: Tapestry users
> Subject: Re: About T5 integration modules
>
> ...
>
> Howard, I think people are looking for these kind of integrations
> because there is no tapestry module allowing them to secure there
> pages. Of course you may argument that it is easy to build a
> Dispatcher and define some custom annotations. That's true if you
> managed to understand how these things work. But if you've just
> started with tapestry, in my experience this is not that easy. Then
> you remember about Spring Security or any other solution you are used
> to and try to make use of it in your new tapestry-world.
>
> ...
>
>    Piero
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

RE: About T5 integration modules

Posted by "Newham, Cameron" <ca...@bl.uk>.
Interesting.

I'd hardly call myself even an advanced-intermediate Tapestry user (some
of the stuff you guys talk about is way over my head!) but really, is it
that difficult to create a Dispatcher and custom page annotations?!

I included simple security with roles very early on in my webapp by
going the page annotation route because it was a) understandable  and b)
simple to implement by following the examples I'd seen. I had even less
of an understanding of Tapestry than I do now.

I found it very easy to understand and code, and it works so well. I
shudder to think how long it would have taken ploughing through
documents on security solutions, like Spring Security, when all I wanted
was half a dozen roles and some way to mark my pages as general viewing
or requiring login under a certain role.

As I've said all along, I think the only thing lacking big time for
Tapestry is clear, easy to understand documentation with good simple
examples of each feature. That said - I had no troubles with the above
security stuff (and I didn't even have to look at Tapestry source code
;-)

Rather than providing large cumbersome bolt-ons for features that may
not even solve all problems, I'd rather see well-defined methods and
example solutions for particular problems which allows scope for people
to customise if they so wish. Isn't that an example of "convention over
configuration"? ;-) It would also be far quicker than developing modules
that try to be all things to all people - and perhaps lessen the
perceived gap between tech. like Wicket and Tapestry in a much shorter
time period.


-----Original Message-----
From: ps@sartini-its.com [mailto:ps@sartini-its.com] On Behalf Of Piero
Sartini
Sent: 24 December 2009 20:34
To: Tapestry users
Subject: Re: About T5 integration modules

...

Howard, I think people are looking for these kind of integrations
because there is no tapestry module allowing them to secure there
pages. Of course you may argument that it is easy to build a
Dispatcher and define some custom annotations. That's true if you
managed to understand how these things work. But if you've just
started with tapestry, in my experience this is not that easy. Then
you remember about Spring Security or any other solution you are used
to and try to make use of it in your new tapestry-world.

...

    Piero

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


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


Re: About T5 integration modules

Posted by Piero Sartini <li...@pierosartini.de>.
> I'm also a bit surprised at how eager people are to make use of
> cumbersome solutions like Spring Security to accomplish simple tasks
> such
> as protecting pages.  The Spring Security logic is path-based,
> requiring an awkward mapping from paths to Tapestry pages.  When I
> need to implement that
> kind of security, I define annotations that I can place on pages and
> provide a filter that checks for the annotation on the page ... and
> I've seen multiple clients
> do the same thing. Ideally there would be a single solution for this,
> but I've found that page security is just not a one-size-fits-all
> solution.

Howard, I think people are looking for these kind of integrations
because there is no tapestry module allowing them to secure there
pages. Of course you may argument that it is easy to build a
Dispatcher and define some custom annotations. That's true if you
managed to understand how these things work. But if you've just
started with tapestry, in my experience this is not that easy. Then
you remember about Spring Security or any other solution you are used
to and try to make use of it in your new tapestry-world.

In my oppinion, providing a standard way which fits for most users
would help a lot. Given that there is chenillekit and tynamo-security,
maybe its even enough to promote them in prominent place on the
homepage. Something like a page with common problems and their
solution... But its important to tell the users that its OK to use
third-party modules that are not part of the project.

But some companies do not allow non-apache modules at all (or the
process of getting admission is time consuming..). But my feeling is
tapestry is not used in these places anyway, so it may not be an
argument.

    Piero

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


Re: About T5 integration modules

Posted by Massimo Lusetti <ml...@gmail.com>.
On Sat, Dec 26, 2009 at 10:52 AM, Alessandro Bottoni
<al...@gmail.com> wrote:

> This is a very good example of what is probably missing in Tapestry, at
> least from the point of view of a new user.
>
> Is this technique documented somewhere?
> Is this demonstrated by some existing archetype or demo app?
> Is this part of any Maven archetype or of any "canonical" way of
> developing applications with Tapestry.
> Is this approach "advertised" somewhere on the Tapestry web site?
[..]
> Maybe a Tapestry 5 component/module would be a good general-purpose
> solution for this Authentication/Authorization common need. Maybe even a
> HowTo or a demo would be enough. At least, they could be a solution for
> 80% of the applications (the ones that uses the approach proposed by
> ACEGI/Spring Security, BTW).
>
> Maybe Tapestry does not need the dozens of components that are available
> for other frameworks, like Wicket, but it surely need some ready-to-use,
> standard solutions for a few very diffused, very standard needs like
> authentication and access control.

Did you have a look at the ChenilleKit project?

>> In other words, jumping over backwards for integrations with
>> technologies is often not the best approach. Yes, it would be nice to
>> have a checkbox "compatible with Spring Security" but I'd rather talk
>> about how easy it is to create your own custom extensions that work
>> precisely as you need.
[..]
> Even better, it would be fantastic to have a Maven archetype switch to
> enable the access control subsystem generation. Even better again, this
> could/should be supplied by derived works, like Tynamo (and it will, as
> long as I know). This would keep T5 as simple as possible while still
> supplying the user with a rich feature set.
>
> Tynamo and AppFuse are extremely important for Tapestry for many reasons
> and one of those reasons is "standardization". As a new user, I expect
> to find a canonical way to develop Tapestry/Tynamo applications and a
> canonical set of tools. This because I do not want, and  cannot, spend a
> few weeks trying to discover the right tools and the right design
> patterns to be used for the task at hand by myself. As a quite typical
> new user, I need /guidance/ as well, not just a toolbox.

I think you're completely missing the point.

Cheers
-- 
Massimo
http://meridio.blogspot.com

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


Re: About T5 integration modules

Posted by Massimo Lusetti <ml...@gmail.com>.
On Mon, Dec 28, 2009 at 6:53 AM, Kalle Korhonen
<ka...@gmail.com> wrote:

> technology. I think your comparison to Drupal is spot on. Sure it's

Comparing Tapestry to Drupal is somehow comparing apples with an apple-pie.

Cheers
-- 
Massimo
http://meridio.blogspot.com

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


Re: About T5 integration modules

Posted by Olle Hallin <ol...@hit.se>.
It has been much talk about Tapestry lacking an annotation-based security
framework.

Don't you guys know about tapestry-security, which is a Tapestry module that
uses Spring Security (formerly Acegi) under the covers?

Olle Hallin
Senior Java Developer and Architect
olle.hallin@crisp.se
www.crisp.se
http://www.linkedin.com/in/ollehallin



2009/12/28 Alessandro Bottoni <al...@gmail.com>

> Il 28/12/2009 09:46, Massimo Lusetti ha scritto:
> > Comparing Drupal to Tapestry is somehow comparing apples with an
> apple-pie
>
> That's true but...
>
> I tried not to mention Wicket/Brix and Wicket/Hippo (for not starting a
> flame). Both of these frameworks can be used as more pertaining examples
> of what Tapestry/Tynamo should became in the near future.
>
> The point is simple: Tapestry alone is not enough to win this battle. It
> desperetely needs something like Tynamo (or AppFuse), both for
> educational/demonstrative purposes and as a starting point for real
> world projects. And, more in detail, the way Tynamo (or AppFuse) will be
> developed in the near future can make a huge difference for Tapestry.
>
> To be able to compete with Wicket/Brix, for example, Tapestry/Tynamo
> still have to supply something like Swarm or Wasp (the two security
> frameworks supplied by Wicket) and many other tools. These
> "implementation details" can be crucial for all of the T5 ecosystem.
>
> Please note that defending Tapestry is futile. Nobody here is accusing
> it of anything. I'm just saying that the evolution path of Tapestry and
> Tynamo must take into account what people is actually looking for (and
> what people can actually find elsewhere right now).
>
> CU
> --
>
> Alessandro Bottoni
> Website: http://www.alessandrobottoni.it/
>
> Philosophy is a game with objectives and no rules.
> Mathematics is a game with rules and no objectives.
>    -- Unknown
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>

Re: About T5 integration modules

Posted by Alessandro Bottoni <al...@gmail.com>.
Il 28/12/2009 09:46, Massimo Lusetti ha scritto:
> Comparing Drupal to Tapestry is somehow comparing apples with an apple-pie

That's true but...

I tried not to mention Wicket/Brix and Wicket/Hippo (for not starting a
flame). Both of these frameworks can be used as more pertaining examples
of what Tapestry/Tynamo should became in the near future.

The point is simple: Tapestry alone is not enough to win this battle. It
desperetely needs something like Tynamo (or AppFuse), both for
educational/demonstrative purposes and as a starting point for real
world projects. And, more in detail, the way Tynamo (or AppFuse) will be
developed in the near future can make a huge difference for Tapestry.

To be able to compete with Wicket/Brix, for example, Tapestry/Tynamo
still have to supply something like Swarm or Wasp (the two security
frameworks supplied by Wicket) and many other tools. These
"implementation details" can be crucial for all of the T5 ecosystem.

Please note that defending Tapestry is futile. Nobody here is accusing
it of anything. I'm just saying that the evolution path of Tapestry and
Tynamo must take into account what people is actually looking for (and
what people can actually find elsewhere right now).

CU
-- 

Alessandro Bottoni
Website: http://www.alessandrobottoni.it/

Philosophy is a game with objectives and no rules.
Mathematics is a game with rules and no objectives.
    -- Unknown


Re: About T5 integration modules

Posted by Massimo Lusetti <ml...@gmail.com>.
On Mon, Dec 28, 2009 at 6:53 AM, Kalle Korhonen
<ka...@gmail.com> wrote:

> technology. I think your comparison to Drupal is spot on. Sure it's

Comparing Drupal to Tapestry is somehow comparing apples with an apple-pie

Cheers
-- 
Massimo
http://meridio.blogspot.com

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


Re: About T5 integration modules

Posted by Alessandro Bottoni <al...@gmail.com>.
Il 28/12/2009 06:53, Kalle Korhonen ha scritto:
> Hey Alessandro, I have to say I agree with pretty much everything
> you've said. I notice the tone from the committers is a bit "fatherly"
> - i.e. "just learn the framework and do it yourself, it's easy". Don't
> worry about it, sometimes it's just difficult to see it from newbies'
> perspective for those who are experienced with a particular
> technology. 

Do not worry about this topic, Kalle. I understand very well their
position. If I had a good knowledge of Java and Tapestry, I would just
do what they suggest. I see that it is the "right way".

I'm just trying to let them (and you) know how an absolute beginner
feels when it meet Java and Tapestry for the first time. I see it is
hard to explain my position, even using examples (Drupal) and
metaphores. Nevertheless, I do think the Java/Tapestry community have to
face a few of the challenges I'm describing here. See below for the reasons.

> I think your comparison to Drupal is spot on. Sure it's
> uglier to customize Drupal if it doesn't have a module available for
> it but it does heck of a lot of things out of the box, much more than
> Tapestry or any little add-on module to it at the moment. Tapestry
> architecture is great for delivering drop-in add-on modules, but what
> you see is just the state of things as they are right now. Tapestry5
> is still a new web framework and there are relatively few people using
> it. 

Yes, you are right. Tapestry and Tynamo are still new and we have to
give them the time to grow up. I do hope to can be of some help in the
future.

As you said, Tapestry is very good at delivering a reliable drop-in
module technolgy and this feature could/should be used to develop an
even more developer-friendly tool, like Tynamo. Arguably, this is the
right way to evolve it and I see you are already doing so.

> I fully agree that security is critical - sure it's easy to
> protect your pages "the right way" with a few annotations, but real
> world projects need integration to existing authentication sources,
> smart remember me -implementations, url protection, adaptive
> permissions etc. 

You have got the point. Actually, I would be happy to implement a
annotation-based security system if I just know how to do it (BTW: any
docu around?). Unfortunately, this security system will also have to be
compatible with a few other tools (in our case, at least with a legacy
OpenLDAP-based directory). Maybe I'm wrong but I still have the feeling
that using a widely diffused tool, like ACEGI, could be a simpler and
better way to get this job done.

> Regarding Tynamo, in time we'll offer proper Apache
> Shiro integration (currently there are a few good "starter" Shiro
> integration libraries available) with most of these features but we
> are not there yet. But in any case, being an Apache Shiro committer
> myself I should be in a pretty good position to deliver it.

Good news to hear! :-)

> One of the main issue with Java web frameworks has always been that
> while people generally acknowledge the advantages of Java, starting
> costs are so much higher than hacking up something with a few lines of
> PHP and its existing frameworks already deployed by ISPs that Java is
> often considered only later when (and if ever!) complexity,
> scalability and maintainability become more of a concern. 

That is exactly what happend to us. We decided to pass to Java (and to a
few Java-based technologies) only when Python, PHP and other tools begun
to show their limits. It was much more a matter of
scalability/manageability than a matter of language expressiveness. You
can do with Python, Ruby or PHP everything that Java (or even Groovy and
Scala) can do /but/ you cannot have anything like the smooth development
process allowed by a few "modules" of Java (Hibernate, ACEGI, etc) and
by its process management tools (Maven, Hudson, etc.).

We knew (and still feel on our skin) that the Java world is a complex
one. You have to study and dominate the basic language (that is the easy
part of the job, coming for Python), a few programming paradigms like
IoC and AOP, a few tools (Maven, etc), and finally a few frameworks
(Tapestry, the ubiquitous Spring and Hibernate, etc.). It is a lot of
stuff and a lot of work.

This was the reason why we looked for a good framework to be used as a
starting point. Of course, the framework has to supply us with a good
set of tools and has to act as a set of reliable guidelines, as well.

> However,
> Java-based frameworks and tools have made steady progress in recent
> years and lowered the starting costs to reduce the gap. Tapestry can
> be and has been the forerunner in Java Web frameworks, now we just
> need to show the world all that is possible - and especially *how* to
> do it.

That is exactly the way things are! Java do supply the developer with an
impressive set of impressive tools but the entry ticket is still very
high (not only for web developers, unfortunately. Just ask to Swing and
SWT news users...).

Frameworks like Tapestry and Tynamo are what is needed to lower this
ticket (and to make the dev process even more smoot and more
manageable). Unfortunately, it is not enough to have a good web
framework like Tapestry. The new Java user needs a wide range of tools
(resulting in a full-stack framework, eventually) and a reliable set of
guidelines, as well.

Anyway, I see that you and the other guys who are working on Tynamo have
already understand all of my "complains" so I'm confident we will have a
good full-stack framework (or whatever you wants to call it) in the near
future. As I said before, it is just a matter of time.

In the meantime, I will keep on studing Tapestry and its underling
technologies.

CU
-- 

Alessandro Bottoni
Website: http://www.alessandrobottoni.it/

Government big enough to supply everything...is big enough to take
everything you have. The course of history shows that as a government
grows, liberty decreases.
     -- Thomas Jefferson


Re: About T5 integration modules

Posted by Kalle Korhonen <ka...@gmail.com>.
On Sat, Dec 26, 2009 at 1:52 AM, Alessandro Bottoni
<al...@gmail.com> wrote:
> If Tapestry does not offer anything for my Authentication/Authorization
> needs, I will just look somewhere else, for example at Spring's site
> (ACEGI/Spring security). I will not reinvent the n-th wheel by myself.
> If Tapestry wants to be a "package of ready-to-use solutions" for the
> typical webapp developer, the solutions it provides have to be
> advertised, documented, demonstrated and made readibly usable by the new
> users, in particular the ones who have little or any experience with Java.

Hey Alessandro, I have to say I agree with pretty much everything
you've said. I notice the tone from the committers is a bit "fatherly"
- i.e. "just learn the framework and do it yourself, it's easy". Don't
worry about it, sometimes it's just difficult to see it from newbies'
perspective for those who are experienced with a particular
technology. I think your comparison to Drupal is spot on. Sure it's
uglier to customize Drupal if it doesn't have a module available for
it but it does heck of a lot of things out of the box, much more than
Tapestry or any little add-on module to it at the moment. Tapestry
architecture is great for delivering drop-in add-on modules, but what
you see is just the state of things as they are right now. Tapestry5
is still a new web framework and there are relatively few people using
it. I fully agree that security is critical - sure it's easy to
protect your pages "the right way" with a few annotations, but real
world projects need integration to existing authentication sources,
smart remember me -implementations, url protection, adaptive
permissions etc. Regarding Tynamo, in time we'll offer proper Apache
Shiro integration (currently there are a few good "starter" Shiro
integration libraries available) with most of these features but we
are not there yet. But in any case, being an Apache Shiro committer
myself I should be in a pretty good position to deliver it.

One of the main issue with Java web frameworks has always been that
while people generally acknowledge the advantages of Java, starting
costs are so much higher than hacking up something with a few lines of
PHP and its existing frameworks already deployed by ISPs that Java is
often considered only later when (and if ever!) complexity,
scalability and maintainability become more of a concern. However,
Java-based frameworks and tools have made steady progress in recent
years and lowered the starting costs to reduce the gap. Tapestry can
be and has been the forerunner in Java Web frameworks, now we just
need to show the world all that is possible - and especially *how* to
do it.

Kalle

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


Re: About T5 integration modules

Posted by Alessandro Bottoni <al...@gmail.com>.
Il 24/12/2009 19:50, Howard Lewis Ship ha scritto:
> I'm also a bit surprised at how eager people are to make use of
> cumbersome solutions like Spring Security to accomplish simple tasks
> such
> as protecting pages.  The Spring Security logic is path-based,
> requiring an awkward mapping from paths to Tapestry pages.  When I
> need to implement that
> kind of security, I define annotations that I can place on pages and
> provide a filter that checks for the annotation on the page ... and
> I've seen multiple clients
> do the same thing. 

This is a very good example of what is probably missing in Tapestry, at
least from the point of view of a new user.

Is this technique documented somewhere?
Is this demonstrated by some existing archetype or demo app?
Is this part of any Maven archetype or of any "canonical" way of
developing applications with Tapestry.
Is this approach "advertised" somewhere on the Tapestry web site?

As a newbie, to discover/design this approach by myself I first have to
study (Java and) Tapestry quite in deep and to understand it quite well.
As a programmer, it is my usual job to study and understand new
technologies and new tools but... as a "smart" programmer I also decided
to use a framework like Tapestry just to save some time and some
effort... There is a evident contradiction... :-)

If Tapestry does not offer anything for my Authentication/Authorization
needs, I will just look somewhere else, for example at Spring's site
(ACEGI/Spring security). I will not reinvent the n-th wheel by myself.

If Tapestry wants to be a "package of ready-to-use solutions" for the
typical webapp developer, the solutions it provides have to be
advertised, documented, demonstrated and made readibly usable by the new
users, in particular the ones who have little or any experience with Java.

BEWARE: I'm not saying YOU did not enough or that you did the wrong
thing with Tapestry. I'm just telling you what is missing in T5 from my
POV. Tapestry IS a wonderful piece of code and I do like it a lot.

> Ideally there would be a single solution for this,
> but I've found that page security is just not a one-size-fits-all
> solution.

Maybe a Tapestry 5 component/module would be a good general-purpose
solution for this Authentication/Authorization common need. Maybe even a
HowTo or a demo would be enough. At least, they could be a solution for
80% of the applications (the ones that uses the approach proposed by
ACEGI/Spring Security, BTW).

Maybe Tapestry does not need the dozens of components that are available
for other frameworks, like Wicket, but it surely need some ready-to-use,
standard solutions for a few very diffused, very standard needs like
authentication and access control.

> In other words, jumping over backwards for integrations with
> technologies is often not the best approach. Yes, it would be nice to
> have a checkbox "compatible with Spring Security" but I'd rather talk
> about how easy it is to create your own custom extensions that work
> precisely as you need.

Even better, it would be fantastic to have a Maven archetype switch to
enable the access control subsystem generation. Even better again, this
could/should be supplied by derived works, like Tynamo (and it will, as
long as I know). This would keep T5 as simple as possible while still
supplying the user with a rich feature set.

Tynamo and AppFuse are extremely important for Tapestry for many reasons
and one of those reasons is "standardization". As a new user, I expect
to find a canonical way to develop Tapestry/Tynamo applications and a
canonical set of tools. This because I do not want, and  cannot, spend a
few weeks trying to discover the right tools and the right design
patterns to be used for the task at hand by myself. As a quite typical
new user, I need /guidance/ as well, not just a toolbox.

> We've had this discussion at Formos; it was often easier to create a
> totally custom solution in Tapestry than it was to take an
> off-the-shelf solution that did 80% of what was needed and customize
> it the last 20% of the way.

That is surely true but the people who can understand and use this
"from-scratch" approach maybe is not the kind of people who would use
Tapestry.

As a Python programmer, I can usually avoid to use code written by
others and I can develop everything from scratch. This often keeps me
away from Django or Pylons, even if they do supply most of required
tools for the task at hand (together with a long list of ties...). If I
had this same dominance of the Java technology, maybe I would write
everything from scratch and I would not use Tapestry at all.

I'm not saying that I want to use Tapestry to cope with my ignorance of
Java, of course, but I do think I have the right to not be a Java ninja
just to use a framework. ;-) I'm not saying that Tapestry is hard to
understand and use, either. I'm just saying that many of its gems are
still hidden in a jungle of code and documentation and needs to be unveiled.

Beside this, take into account the fact that custom solutions are not
always the best solutions. When you have to deal with many programmers
(and maybe a high turnover) and/or many projects, you can become eager
for standardization: a standard set of tools and a standard set of
patterns used by all of your developers for all of your projects.
Standardization means manageability and, when you have a tested,
bug-free, commmunity-agreed code base, it also means rationality and
reliability. This kind of standardization is what drove me to Tapestry
and Trails (now Tynamo) in first place.

Anyway, these are JM2C.

Have some nice Christmas's holydays and a happy new year.
-- 

Alessandro Bottoni
Website: http://www.alessandrobottoni.it/

"Prediction is very difficult, especially about the future."
     -- Niels Bohr


Re: About T5 integration modules

Posted by cordenier christophe <ch...@gmail.com>.
Hello Howard,

Actually, security was only an exemple. And because, i am pretty new to
spring-security and to be honest, not really convinced at the moment, i will
not try to defend it.

But my question was : What about the Integration of Tapestry in other
Framework ? Because many people talked about integration technologies into
Tapestry which is IMHO pretty cool, for server side technology and even
client side. I was thinking of this question maybe because of some
frustration, i admit :) but i think that opening API to other technologies
contributes to make a framework popular as much as the inverse.

However, let's continue with security exemple. Let's imagine that tomorrow,
we expose some of our features with a technology like DWR, or some REST API
or anything that goes though HTTP :

Will i have to :

1. Re-implement security into those technologies
2. Create some extension to my existing spring-security
3. Implement DWR or REST API into Tapestry, implement a new Dispatcher, an
then extend my own security implementation  to handle security for this new
type of Request

- The first solution is  the worst i should do :)
- The second sounds reasonable to me from an architecture point of view, i
keep security layer independant from underlying technologies and in front of
all my services
- The third make me consider Tapestry as an application container, and not
only a Web Framework.

To be honest, the third is maybe the more interesting from my developer
point of view, because like many, i like to do it myself. But i have learned
with my professional experience that re-invent the wheel is rarely the best
approach. This is the reason why i am investigating into other technologies
to achieve my goals. I don't think this is so bad... even for simple things
like securing access to pages.

Also, i don't think that analyzing Tapestry URLs from the outside is so
rare, it is actually used deep into the pipeline (Dispatcher) but does not
require so many parameters : is see request path and request locale...

My objective is not to criticize because i am convinced 100% by Tapestry,
but simply to open the discussion instead of focusing on existing
contribution in Tapestry. Which, i repeat is not so complicated once you get
familiar with Tapestry Architecture.

Best Regards,
Christophe.

2009/12/24 Howard Lewis Ship <hl...@gmail.com>

> On Thu, Dec 24, 2009 at 2:09 AM, cordenier christophe
> <ch...@gmail.com> wrote:
> > Hello,
> >
> > And what about integration of Tapestry in other framework ?
> >
> > From my experience view, integrating technologies in Tapestry is fun and
> > fast, and the one provided by Tapestry are really good and enough to do
> what
> > a Web Application should do. !but when i want to do the inverse i am
> facing
> > a problem with Tapestry public API. Getting the Tapestry registry is
> simple
> > but calling services from the outside is not as easy.
> >
> > For exemple, currently i am trying to secure my application by using
> > spring-security to centralize security concerns, and then create a
> RoleVoter
> > to secure also Tapestry URLs. To achieve this, Spring allows me to access
> to
> > the servlet context and then to Tapestry Registry, now we can imagine
> that
> > analyzing the URL will be as easy as using the ComponentEventLinkEncoder
> > service, but in real i had to create an instance of RequestImpl, retrieve
> > others services, set the request into the RequestGlobals... service just
> to
> > analyze the URL !
>
> I can see where your frustration might come from in this respect. At
> many times during the
> development of Tapestry, we've had to make a choice: easy and
> automatic for the typical user,
> or easily extensible for the power-developer. That's a no-brainer:
> easy and automatic for the typical user is the way to go.
>
> In this particular case, it was all about making things work correctly
> from inside Tapestry; the idea
> that you would be "analyzing" a Tapestry URL when not in the middle of
> processing a Tapestry request (and therefore, deep
> into the pipeline that automatically sets up the RequestGlobals
> values) is just foreign to Tapestry. That is, to make
> that rare use-case easier for you, would complicate the code for most
> other users, making it that much harder to extend and
> override Tapestry for more typical use cases.
>
> In fact, where other people might write servlets, I would tend to
> contribute a new Dispatcher to the MasterDispatcher
> service to accomplish the same goal (in the rare case that existing
> Dispatchers and other Tapestry mechanisms could not
> fulfill the required role).
>
> I'm also a bit surprised at how eager people are to make use of
> cumbersome solutions like Spring Security to accomplish simple tasks
> such
> as protecting pages.  The Spring Security logic is path-based,
> requiring an awkward mapping from paths to Tapestry pages.  When I
> need to implement that
> kind of security, I define annotations that I can place on pages and
> provide a filter that checks for the annotation on the page ... and
> I've seen multiple clients
> do the same thing. Ideally there would be a single solution for this,
> but I've found that page security is just not a one-size-fits-all
> solution.
>
> In other words, jumping over backwards for integrations with
> technologies is often not the best approach. Yes, it would be nice to
> have a checkbox "compatible with Spring Security" but I'd rather talk
> about how easy it is to create your own custom extensions that work
> precisely as you need.
>
> We've had this discussion at Formos; it was often easier to create a
> totally custom solution in Tapestry than it was to take an
> off-the-shelf solution that did 80% of what was needed and customize
> it the last 20% of the way.
>
> >
> > Tapestry is so powerful and has everything to work standalone (see
> wrappers
> > around servlet API, or PageTester, ...), but sometimes it's hard to
> exploit
> > this great feature ...
> >
> > Best Regards,
> > Christophe
> >
> >
> >
> > 2009/12/23 Howard Lewis Ship <hl...@gmail.com>
> >
> >> While it's true that other frameworks (Grails, Wicket, Rails) have
> >> large numbers of integrations, if you talk to real developers you find
> >> out that the majority of those integrations are not actually usable
> >> for production work. All too often, they are orphaned, unsupported,
> >> incomplete, naive or coded against an earlier version of the core
> >> framework ... or some combination of all of those.
> >>
> >> I do a lot of training and consulting on Tapestry with a lot of groups
> >> and what I find is that one size does not fit all, even for simple
> >> things like user authentication/login. I'm quite happy to have a
> >> limited number of basic integrations that are documented, supported
> >> and tested.  Would I like every application to just be a matter of
> >> mixing pre-built modules together?  Yes.  Do I think it is realistic,
> >> for ANY framework?  No.
> >>
> >> On Wed, Dec 23, 2009 at 7:48 AM, Howard Lewis Ship <hl...@gmail.com>
> >> wrote:
> >> > Noe, I've been down this path before, regrettably.  The ONLY thing to
> >> > do it to ignore the trolls.
> >> >
> >> > On Tue, Dec 22, 2009 at 11:29 PM, Newham, Cameron <
> cameron.newham@bl.uk>
> >> wrote:
> >> >> I don't agree with the OP that the ServerSide discussion shows
> Tapestry
> >> "has lost the battle" - two posters state they don't want to see
> Tapestry
> >> mentioned. That's all there is.
> >> >>
> >> >> However, I can't agree with you Thiago. The old saying is "if you say
> it
> >> enough times then people will believe it is true".
> >> >>
> >> >> If you are just going to stand by and let "trolls" post bad things
> about
> >> Tapestry unchallenged then they have won the argument - regardless of
> how
> >> bad their argument may be and how incorrect their views may be.
> >> >>
> >> >> After all, someone pitching up and wanting a framework will read what
> >> they've written and believe it. Who is to say these anti-Tapestry people
> are
> >> wrong?  Not you - because you won't counter their arguments! :-)
> >> >>
> >> >> Sure - don't feed the trolls. But all that is necessary is to say
> >> something positive; not engage them in an argument.
> >> >>
> >> >> Merry Xmas everyone.
> >> >>
> >> >>
> >> >> -----Original Message-----
> >> >> From: Thiago H. de Paula Figueiredo [mailto:thiagohp@gmail.com]
> >> >> Sent: 22 December 2009 15:26
> >> >> To: Tapestry users
> >> >> Subject: Re: Discussion
> >> >>
> >> >> Em Tue, 22 Dec 2009 12:45:20 -0200, Banchi Liko <banchi.ko@gmail.com
> >
> >> >> escreveu:
> >> >>
> >> >>> Hi guys,
> >> >>
> >> >> Hi!
> >> >>
> >> >>> There is a discussion going on here
> >> >>> http://www.theserverside.com/news/thread.tss?thread_id=58858 and
> seems
> >> >>> like Tapestry ihas already been ruled out as a viable and serious
> web
> >> >>> framework.
> >> >>
> >> >> TheServerSide comments has too many trolls to have a good, reasonable
> >> >> discussion there.
> >> >>
> >> >>> Wicket seems to be the favorite.
> >> >>
> >> >> Some people who bother to post there like Wicket. Most people who
> like
> >> >> Tapestry, maybe all of them, don't bother to post there.
> >> >>
> >> >>> I'm sad Tapestry has lost the battle and afraid it might die soon.
> >> >>
> >> >> Please source or explain your statements or you'll be treated like a
> >> troll
> >> >> here.
> >> >>
> >> >>> Please go and contribute and let your voice be
> >> >>> heard before Tapestry dies a horrible death.
> >> >>
> >> >> No, thank you. Posting there will not change Tapestry's fate. Using
> it,
> >> >> exchanging ideas in the mailing lists and contributing code will (and
> >> >> already is).
> >> >>
> >> >> --
> >> >> 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-unsubscribe@tapestry.apache.org
> >> >> For additional commands, e-mail: users-help@tapestry.apache.org
> >> >>
> >> >>
> >> >> ---------------------------------------------------------------------
> >> >> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> >> >> For additional commands, e-mail: users-help@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
> >> >
> >>
> >>
> >>
> >> --
> >> 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-unsubscribe@tapestry.apache.org
> >> For additional commands, e-mail: users-help@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
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

Re: About T5 integration modules

Posted by Howard Lewis Ship <hl...@gmail.com>.
On Thu, Dec 24, 2009 at 2:09 AM, cordenier christophe
<ch...@gmail.com> wrote:
> Hello,
>
> And what about integration of Tapestry in other framework ?
>
> From my experience view, integrating technologies in Tapestry is fun and
> fast, and the one provided by Tapestry are really good and enough to do what
> a Web Application should do. !but when i want to do the inverse i am facing
> a problem with Tapestry public API. Getting the Tapestry registry is simple
> but calling services from the outside is not as easy.
>
> For exemple, currently i am trying to secure my application by using
> spring-security to centralize security concerns, and then create a RoleVoter
> to secure also Tapestry URLs. To achieve this, Spring allows me to access to
> the servlet context and then to Tapestry Registry, now we can imagine that
> analyzing the URL will be as easy as using the ComponentEventLinkEncoder
> service, but in real i had to create an instance of RequestImpl, retrieve
> others services, set the request into the RequestGlobals... service just to
> analyze the URL !

I can see where your frustration might come from in this respect. At
many times during the
development of Tapestry, we've had to make a choice: easy and
automatic for the typical user,
or easily extensible for the power-developer. That's a no-brainer:
easy and automatic for the typical user is the way to go.

In this particular case, it was all about making things work correctly
from inside Tapestry; the idea
that you would be "analyzing" a Tapestry URL when not in the middle of
processing a Tapestry request (and therefore, deep
into the pipeline that automatically sets up the RequestGlobals
values) is just foreign to Tapestry. That is, to make
that rare use-case easier for you, would complicate the code for most
other users, making it that much harder to extend and
override Tapestry for more typical use cases.

In fact, where other people might write servlets, I would tend to
contribute a new Dispatcher to the MasterDispatcher
service to accomplish the same goal (in the rare case that existing
Dispatchers and other Tapestry mechanisms could not
fulfill the required role).

I'm also a bit surprised at how eager people are to make use of
cumbersome solutions like Spring Security to accomplish simple tasks
such
as protecting pages.  The Spring Security logic is path-based,
requiring an awkward mapping from paths to Tapestry pages.  When I
need to implement that
kind of security, I define annotations that I can place on pages and
provide a filter that checks for the annotation on the page ... and
I've seen multiple clients
do the same thing. Ideally there would be a single solution for this,
but I've found that page security is just not a one-size-fits-all
solution.

In other words, jumping over backwards for integrations with
technologies is often not the best approach. Yes, it would be nice to
have a checkbox "compatible with Spring Security" but I'd rather talk
about how easy it is to create your own custom extensions that work
precisely as you need.

We've had this discussion at Formos; it was often easier to create a
totally custom solution in Tapestry than it was to take an
off-the-shelf solution that did 80% of what was needed and customize
it the last 20% of the way.

>
> Tapestry is so powerful and has everything to work standalone (see wrappers
> around servlet API, or PageTester, ...), but sometimes it's hard to exploit
> this great feature ...
>
> Best Regards,
> Christophe
>
>
>
> 2009/12/23 Howard Lewis Ship <hl...@gmail.com>
>
>> While it's true that other frameworks (Grails, Wicket, Rails) have
>> large numbers of integrations, if you talk to real developers you find
>> out that the majority of those integrations are not actually usable
>> for production work. All too often, they are orphaned, unsupported,
>> incomplete, naive or coded against an earlier version of the core
>> framework ... or some combination of all of those.
>>
>> I do a lot of training and consulting on Tapestry with a lot of groups
>> and what I find is that one size does not fit all, even for simple
>> things like user authentication/login. I'm quite happy to have a
>> limited number of basic integrations that are documented, supported
>> and tested.  Would I like every application to just be a matter of
>> mixing pre-built modules together?  Yes.  Do I think it is realistic,
>> for ANY framework?  No.
>>
>> On Wed, Dec 23, 2009 at 7:48 AM, Howard Lewis Ship <hl...@gmail.com>
>> wrote:
>> > Noe, I've been down this path before, regrettably.  The ONLY thing to
>> > do it to ignore the trolls.
>> >
>> > On Tue, Dec 22, 2009 at 11:29 PM, Newham, Cameron <ca...@bl.uk>
>> wrote:
>> >> I don't agree with the OP that the ServerSide discussion shows Tapestry
>> "has lost the battle" - two posters state they don't want to see Tapestry
>> mentioned. That's all there is.
>> >>
>> >> However, I can't agree with you Thiago. The old saying is "if you say it
>> enough times then people will believe it is true".
>> >>
>> >> If you are just going to stand by and let "trolls" post bad things about
>> Tapestry unchallenged then they have won the argument - regardless of how
>> bad their argument may be and how incorrect their views may be.
>> >>
>> >> After all, someone pitching up and wanting a framework will read what
>> they've written and believe it. Who is to say these anti-Tapestry people are
>> wrong?  Not you - because you won't counter their arguments! :-)
>> >>
>> >> Sure - don't feed the trolls. But all that is necessary is to say
>> something positive; not engage them in an argument.
>> >>
>> >> Merry Xmas everyone.
>> >>
>> >>
>> >> -----Original Message-----
>> >> From: Thiago H. de Paula Figueiredo [mailto:thiagohp@gmail.com]
>> >> Sent: 22 December 2009 15:26
>> >> To: Tapestry users
>> >> Subject: Re: Discussion
>> >>
>> >> Em Tue, 22 Dec 2009 12:45:20 -0200, Banchi Liko <ba...@gmail.com>
>> >> escreveu:
>> >>
>> >>> Hi guys,
>> >>
>> >> Hi!
>> >>
>> >>> There is a discussion going on here
>> >>> http://www.theserverside.com/news/thread.tss?thread_id=58858 and seems
>> >>> like Tapestry ihas already been ruled out as a viable and serious web
>> >>> framework.
>> >>
>> >> TheServerSide comments has too many trolls to have a good, reasonable
>> >> discussion there.
>> >>
>> >>> Wicket seems to be the favorite.
>> >>
>> >> Some people who bother to post there like Wicket. Most people who like
>> >> Tapestry, maybe all of them, don't bother to post there.
>> >>
>> >>> I'm sad Tapestry has lost the battle and afraid it might die soon.
>> >>
>> >> Please source or explain your statements or you'll be treated like a
>> troll
>> >> here.
>> >>
>> >>> Please go and contribute and let your voice be
>> >>> heard before Tapestry dies a horrible death.
>> >>
>> >> No, thank you. Posting there will not change Tapestry's fate. Using it,
>> >> exchanging ideas in the mailing lists and contributing code will (and
>> >> already is).
>> >>
>> >> --
>> >> 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-unsubscribe@tapestry.apache.org
>> >> For additional commands, e-mail: users-help@tapestry.apache.org
>> >>
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> >> For additional commands, e-mail: users-help@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
>> >
>>
>>
>>
>> --
>> 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-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@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

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


Re: About T5 integration modules

Posted by cordenier christophe <ch...@gmail.com>.
Hello,

And what about integration of Tapestry in other framework ?

>From my experience view, integrating technologies in Tapestry is fun and
fast, and the one provided by Tapestry are really good and enough to do what
a Web Application should do. !but when i want to do the inverse i am facing
a problem with Tapestry public API. Getting the Tapestry registry is simple
but calling services from the outside is not as easy.

For exemple, currently i am trying to secure my application by using
spring-security to centralize security concerns, and then create a RoleVoter
to secure also Tapestry URLs. To achieve this, Spring allows me to access to
the servlet context and then to Tapestry Registry, now we can imagine that
analyzing the URL will be as easy as using the ComponentEventLinkEncoder
service, but in real i had to create an instance of RequestImpl, retrieve
others services, set the request into the RequestGlobals... service just to
analyze the URL !

Tapestry is so powerful and has everything to work standalone (see wrappers
around servlet API, or PageTester, ...), but sometimes it's hard to exploit
this great feature ...

Best Regards,
Christophe



2009/12/23 Howard Lewis Ship <hl...@gmail.com>

> While it's true that other frameworks (Grails, Wicket, Rails) have
> large numbers of integrations, if you talk to real developers you find
> out that the majority of those integrations are not actually usable
> for production work. All too often, they are orphaned, unsupported,
> incomplete, naive or coded against an earlier version of the core
> framework ... or some combination of all of those.
>
> I do a lot of training and consulting on Tapestry with a lot of groups
> and what I find is that one size does not fit all, even for simple
> things like user authentication/login. I'm quite happy to have a
> limited number of basic integrations that are documented, supported
> and tested.  Would I like every application to just be a matter of
> mixing pre-built modules together?  Yes.  Do I think it is realistic,
> for ANY framework?  No.
>
> On Wed, Dec 23, 2009 at 7:48 AM, Howard Lewis Ship <hl...@gmail.com>
> wrote:
> > Noe, I've been down this path before, regrettably.  The ONLY thing to
> > do it to ignore the trolls.
> >
> > On Tue, Dec 22, 2009 at 11:29 PM, Newham, Cameron <ca...@bl.uk>
> wrote:
> >> I don't agree with the OP that the ServerSide discussion shows Tapestry
> "has lost the battle" - two posters state they don't want to see Tapestry
> mentioned. That's all there is.
> >>
> >> However, I can't agree with you Thiago. The old saying is "if you say it
> enough times then people will believe it is true".
> >>
> >> If you are just going to stand by and let "trolls" post bad things about
> Tapestry unchallenged then they have won the argument - regardless of how
> bad their argument may be and how incorrect their views may be.
> >>
> >> After all, someone pitching up and wanting a framework will read what
> they've written and believe it. Who is to say these anti-Tapestry people are
> wrong?  Not you - because you won't counter their arguments! :-)
> >>
> >> Sure - don't feed the trolls. But all that is necessary is to say
> something positive; not engage them in an argument.
> >>
> >> Merry Xmas everyone.
> >>
> >>
> >> -----Original Message-----
> >> From: Thiago H. de Paula Figueiredo [mailto:thiagohp@gmail.com]
> >> Sent: 22 December 2009 15:26
> >> To: Tapestry users
> >> Subject: Re: Discussion
> >>
> >> Em Tue, 22 Dec 2009 12:45:20 -0200, Banchi Liko <ba...@gmail.com>
> >> escreveu:
> >>
> >>> Hi guys,
> >>
> >> Hi!
> >>
> >>> There is a discussion going on here
> >>> http://www.theserverside.com/news/thread.tss?thread_id=58858 and seems
> >>> like Tapestry ihas already been ruled out as a viable and serious web
> >>> framework.
> >>
> >> TheServerSide comments has too many trolls to have a good, reasonable
> >> discussion there.
> >>
> >>> Wicket seems to be the favorite.
> >>
> >> Some people who bother to post there like Wicket. Most people who like
> >> Tapestry, maybe all of them, don't bother to post there.
> >>
> >>> I'm sad Tapestry has lost the battle and afraid it might die soon.
> >>
> >> Please source or explain your statements or you'll be treated like a
> troll
> >> here.
> >>
> >>> Please go and contribute and let your voice be
> >>> heard before Tapestry dies a horrible death.
> >>
> >> No, thank you. Posting there will not change Tapestry's fate. Using it,
> >> exchanging ideas in the mailing lists and contributing code will (and
> >> already is).
> >>
> >> --
> >> 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-unsubscribe@tapestry.apache.org
> >> For additional commands, e-mail: users-help@tapestry.apache.org
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> >> For additional commands, e-mail: users-help@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
> >
>
>
>
> --
> 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-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>