Thanks all, now I have a more complete picture.
This list is wonderful !

Blower, Andy ha scritto:
> Well we develop T5 in Eclipse as a Dynamic Web Project using ANT and IVY for 
> builds and dependencies. (+SVN for version control) There was a fair amount 
> of work to set it up along with the CI server etc, but it works pretty well 
> for us and everything was new to us. Anyway it is definitely possible.
>
> We considered Maven briefly, but a combination of nightmare stories (2 on 
> Howard's blog itself), completely confusing documentation, Howard's intent to 
> move T5 away from Maven (what happened to that plan over the last year or 
> so?) and impending deadline for project start meant that we dumped Maven for 
> a simpler system.
>
> Was that the correct decision? I don't know - Ivy took a while to figure out 
> but generally does what it's told and only that and the rest is done using 
> Ant scripts. It may have been a bit more work, but at least we understand how 
> it works inside out. We do have to get dependencies from public Maven 
> repositories (which can be problematic) - we only do this once and put it 
> into a company-wide shared Ivy repository.
>
> Seems like Maven is a bit like Marmite... ;-)
>
>   
>> -----Original Message-----
>> From: Ivano Luberti [mailto:lube...@archicoop.it]
>> Sent: 18 June 2009 13:47
>> To: Tapestry users
>> Subject: Re: [Tapestry Central] Why chose Tapestry?
>>
>> I'm a T4 user that is evaluating if to move to T5.
>> If I well understand Norman message, it is not possible to develop with
>> T5 using Eclipse3.4 with WTP like with T4?
>>
>> I work in a small company: we use Eclipse 3.4 with WTP. We use SVN for
>> versioning and ANT to generate deployments.
>>
>> To introduce Maven would be really time consuming and hence exepnsive.
>>
>>
>>
>> Norman Franke ha scritto:
>>     
>>> I've been using T4/4.1 for several years and have been quite pleased
>>> with it. I've been using it with Hibernate, and while not perfect,
>>> it's worked pretty well. We've found it much faster to embed a web
>>> browser in our main app and do editing, queries and the like via
>>> Tapestry than writing native code.
>>>
>>> I have a new project to replace our aging billing system. I figured
>>> this would be a great way to learn T5. So, I'm migrating me, not an
>>> app. :-)
>>>
>>> I was pondering posting this, but this thread sort of pushed me over
>>> the top. Note that I don't disagree with anything Howard said.
>>> However, this almost became "Why I almost dumped Tapestry entirely."
>>>
>>> I'm writing this in order to solicit feedback and maybe help others.
>>> I've been using Tomcat (now 6.0.20) and Eclipse (now 3.4.2) for quite
>>> time time, and I'm very productive developing use them (and T4.1) I
>>> think this is a pretty common development environment.
>>>
>>> To get started in T5 for a fresh new app, my first thought was to
>>> follow the tutorial at
>>>       
>> http://tapestry.apache.org/tapestry5.1/tutorial1/.
>>     
>>> Chapter 2 just plain didn't work for me. I think part of it is due to
>>> Maven generally being extremely fragile and working less than half of
>>> the time. However, even after working around that, you can't just
>>> import the project into Eclipse. At least not under Eclipse 3.4.2.
>>>
>>> No problem, I thought. Maven is annoying anyway. I'll just create a
>>> Dynamic Web project (like I do for T4.1) and download the T5.1 binary
>>> distribution. That's even worse. It comes with no README listing
>>> dependencies or anything useful, and includes tons of libraries that
>>> don't appear to be even needed. Tapestry failed to start up during
>>> initialization. Why have a binary distro that doesn't work?
>>>
>>> Back to Maven. After some googling, I found this article:
>>>
>>>       
>> http://tapestry.formos.com/wiki/display/T5IDEINT/Eclipse+(including+Mav
>> en) Shouldn't
>>     
>>> this be included in the tutorial? Sadly, the tutorial is extremely
>>> basic, but at least it works. (And is the only way I've found to
>>> actually create a new project in Eclipse to date.)
>>>
>>> Next, I tried Tapestry Jumpstart. After hours of configuration and
>>> random errors (using Tomcat), it worked. However, it's so fragile and
>>> klugy that I just can't see using it in production. I don't care
>>>       
>> about
>>     
>>> OpenEJB. I want just plain T5.1 and Hibernate. Plus running in a
>>> remote tomcat sessions eliminates many of the developer productivity
>>> benefits of T5 in the first place. One thing I liked about T4 was
>>>       
>> that
>>     
>>> I could deploy a WAR to a stock Tomcat install, and it would just
>>> work. That won't happen with Jumpstart. Plus. it if takes 3 hours to
>>> just get a working developer environment, why even bother?
>>>
>>> Next up, AppFuse. It's only T4, but there is a Tapestry 5 add-on.
>>> Sadly, AppFuse's T4 support is now broken due to a dependancy on
>>> tapestry-flash that appears to be missing and following the
>>> instructions on the AppFuse Tapestry 5 page doesn't work anymore
>>> either, resulting in tons of missing resources.
>>>
>>> So, since T5 doesn't appear to provide much in the way of
>>> authentication / security (a very basic requirement for almost all
>>> webapps), I started down the tapestry5-acegi approach. Of course,
>>>       
>> that
>>     
>>> doesn't work with T5.1. I managed to get it working and then upgraded
>>> to tapestry-spring-security 2.1.0-SNAPSHOT. Still didn't work without
>>> augmentation. (Thanks to maven for not updating the packages when I
>>> switched to the snapshot, too. I had to delete the "nu" directory in
>>> my ~/.m2 directory. One more reason Maven blows. It just doesn't do
>>> what you want.)
>>>
>>> I'd love to see more people use Tapestry, but after attempting a new
>>> project, I'd feel embarrassed asking people to give Tapestry a look
>>>       
>> at
>>     
>>> this point. Heck, I'm thinking maybe sticking with T4.1 is the way to
>>> go, despite all the benefits of T5. But, I really do want to start in
>>> on T5 since I've loved using T4 for the last few years, and it does
>>> seem to be a step forward.
>>>
>>> I think its common to want to just get something working in order to
>>> get a feel for the framework. Doing so in Tapestry, at least for me,
>>> has been a waste of two days. I finally, on the third day, I have
>>> something that appears to allow the tutorial to work with basic
>>> security. I'm not sure if others have similar problems and just gave
>>> up without comment, making other frameworks seem more popular?
>>>
>>> Norman Franke
>>> Answering Service for Directors, Inc.
>>> www.myasd.com
>>>
>>>
>>>
>>> On Jun 16, 2009, at 7:20 PM, Howard wrote:
>>>
>>>       
>>>> I recently had an e-mail exchange with a Tapestry user; after
>>>> congratulating me on creating Tapestry, he went on with the
>>>>         
>> following
>>     
>>>> observation on his organization: The company I work at unfortunately
>>>> chose JSF for their big app. The reason was that Tapestry was
>>>>         
>> "brittle"
>>     
>>>> in the sense that, if one developer breaks something, on a page or a
>>>> service, very often the whole site won't come up because the initial
>>>> registry startup will fail. Or for example, if page A has a pagelink
>>>>         
>> to
>>     
>>>> page B, and page B is broken, then page A won't render. While I
>>>>         
>> agree
>>     
>>>> that we shouldn't ship unless the whole app is working, this is a
>>>> thousands of pages big app with hundreds of mediocre (as in likely
>>>>         
>> to
>>     
>>>> break things) developers. They'd rather have 80% of the thing
>>>>         
>> working
>>     
>>>> than nothing at all. I never thought of this for my own projects,
>>>>         
>> and
>>     
>>>> haven't had the time to examine the truth of their claims. What's
>>>>         
>> your
>>     
>>>> take?
>>>> I provided the following response:
>>>> Early failures are absolutely, 100%, the only path towards code
>>>> quality. You may have heard the phrase "no broken windows" (see "The
>>>> Tipping Point" by Malcom Gladwell for more details) but the short
>>>>         
>> form
>>     
>>>> is that when errors go uncorrected (whether they are broken windows
>>>>         
>> in
>>     
>>>> an abandoned building, or broken code in an application) they tend
>>>>         
>> to
>>     
>>>> multiply quite rapidly.
>>>> The things that will "break" a link from page A to page B are
>>>> substantial problems such as invalid templates, references to
>>>>         
>> unknown
>>     
>>>> properties or components, or compile errors in the page B class ...
>>>> things that no other developer should ever see when page B's
>>>>         
>> developer
>>     
>>>> is working and checking in code. That is, problems that should never
>>>>         
>> be
>>     
>>>> checked into trunk, but instead kept in a local workspace or a
>>>>         
>> private
>>     
>>>> branch.
>>>> An organization that thinks that fail early is a problem is an
>>>> organization that isn't prepared to develop a large application in
>>>>         
>> any
>>     
>>>> technology. The image I'm getting is one where there is no build
>>>> server, no continuous integration, at best CVS for source code
>>>> management (or possibly one of those "shared directory"
>>>> monstrosities) .... i.e., a chaotic environment where errors are
>>>> allowed to be checked in to the trunk and can go unnoticed for some
>>>> time.
>>>> The solution to coding errors in pages or components is not to wait
>>>> until your testers (or end users) find the bugs, but to identify and
>>>> fix the bugs early. That's called "engineering discipline" and the
>>>> reality is that even self-professed "mediocre" developers can do it.
>>>> Tapestry helps because it fails early and has great exception
>>>>         
>> reporting
>>     
>>>> to guide you right the problem so that you can fix it.
>>>> Another factor here is enforced helplessness. If only Fred
>>>>         
>> understands
>>     
>>>> page B and he's out when it's broken, then all development stops
>>>> waiting for Fred to get back. I hit this problem myself, years ago
>>>> working on a large Struts application (those words give me the
>>>>         
>> heebie
>>     
>>>> jeebies now!). We had lots of code, a fragile and slow build
>>>>         
>> process,
>>     
>>>> and many little code "fiefdoms". I spent too much wasted time
>>>>         
>> twiddling
>>     
>>>> my thumbs.
>>>> Nobody should "own the code"; if page B is is broken, Julie (who
>>>> normally develops page A) should be free to fix it. Julie will need
>>>>         
>> to
>>     
>>>> understand the page B code well enough to fix it, but also you need
>>>>         
>> an
>>     
>>>> overall environment with shared source, no repository locks (that
>>>>         
>> is,
>>     
>>>> nothing that says "Only Fred can change this file"), and no
>>>>         
>> management
>>     
>>>> PHB's getting in the way. Pair programming is the best way for Fred
>>>>         
>> and
>>     
>>>> Julie to share knowledge so that they can understand each other's
>>>>         
>> code.
>>     
>>>> Even if pairing occurs only part time, it's very effective at
>>>>         
>> knowledge
>>     
>>>> transfer as well as ordinary coding.
>>>> The idea that "mediocre" developers should use JSF as it is more
>>>> tolerant of errors is absurd! Tapestry 5 is designed to improve
>>>> productivity for all developers, by streamlining, simplifying, being
>>>> smart and being concise ... not to mention live class reloading and
>>>> best-of-breed exception reporting, which makes it fast to identify
>>>>         
>> and
>>     
>>>> fix those errors.
>>>> If your doctor tells you to eat less red meat, that doesn't mean you
>>>> should switch to a diet of fried chicken three meals a day!
>>>>         
>> Likewise,
>>     
>>>> if you have concerns with code quality from your developers, you
>>>>         
>> should
>>     
>>>> not switch to a less agile, more code-intensive, less supportive
>>>> development model and hope to catch all the bugs in QA. Sweeping
>>>> problems under the rug is never a winning strategy.
>>>> Coming down off my soap box, I should also add that Tapestry 5.1
>>>>         
>> works
>>     
>>>> a little bit differently than 5.0 in this respect, so it does (in
>>>>         
>> fact)
>>     
>>>> defer more of the page loading and validation until a link is
>>>>         
>> actually
>>     
>>>> clicked. This is more for performance reasons than to shield
>>>>         
>> developers
>>     
>>>> from application problems. Even in 5.0, the loading and validation
>>>>         
>> was
>>     
>>>> the "reach" from page A to pages explicitly referenced (usually via
>>>> PageLink during the rendering of page A), so it's a highly unlikely
>>>> case that a single error in a 1000 page application will keep the
>>>> application from starting up, unless the start page of the
>>>>         
>> application
>>     
>>>> links to all 999 other pages.
>>>> Re-reading the above post I can't emphasize enough: you can't ignore
>>>> quality problems. Quality problems lead to development failures,
>>>> schedule slips, missing functionality, low morale and high turnover.
>>>> Saying "we don't have time to fix the quality problem first" is to
>>>> ignore the the second law of Thermodynamics. You are expecting a
>>>> miracle, literally writing it into your project plan.
>>>> Formos addresses this issue two ways: First, we use Scrum and
>>>>         
>> deliver
>>     
>>>> on (typically) 4 week cycles. Thus we set real deadlines and have a
>>>> constant check on quality (we're providing working code constantly).
>>>>         
>> We
>>     
>>>> don't even try to predict what we'll be doing six months or two
>>>>         
>> years
>>     
>>>> from now, we just deliver a steady, manageable stream of software.
>>>> Secondly, Formos uses Tapestry because of all the reasons that the
>>>> anonymous developer's organization rejected it, and for many, many
>>>>         
>> more
>>     
>>>> reasons besides.
>>>>
>>>> --
>>>> Posted By Howard to Tapestry Central at 6/16/2009 03:45:00 PM
>>>>         
>>>       
>> --
>> ==================================================
>> 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
>>
>>     
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>
>   

-- 
==================================================
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

Reply via email to