Hi Thiago/Geoff, In my opinion centralized flow definition can be quite useful in some circumstances, especially in complex applications. Imagine for instance that you have to analyze/understand application that consists of hundreds of pages and you are not familiar with the code because it was implemented by somebody else. If you are using centralized flow definition it's quite easy because the only thing you have to do is to check your flow definitions and you immediately get an overview what is going on (what view, action and decision states you have in the application, what transitions are possible between those states, how is defined overall application logic flow, how is defined global exception handling, etc.). However, when you are using page based approach your flow definition is scattered across whole application and you have to edit and analyze all those hundreds of pages to gather all information pieces, what is much more time consuming and less user friendly approach.
Moreover, Spring Web Flow is not only about flow definition. Its another important feature is that it introduces new object scopes that allow you easily share objects between pages in the same flow/conversation. How would you implement this in Tapestry? Would you use ASO objects and manually clean them when flow/conversation ends? Or would you just use 'bucket brigade pattern' and manually set the object to following page instance? Each of these two approaches is less productive and less user friendly than directly using flow/conversation scope. I completely agree that XML programming is nonsense, but XML flow definition is not the only choice. You can use java based flow definitions or eventually create your own custom flow builders (for instance grails framework uses SWF with groovy based flow builder). Tapestry is by its concept strictly page based framework and it doesn't support grouping pages to flows/conversations. I think that this would be good opportunity to start discussion in Tapestry community about advantages/disadvantages of flow/conversation concept to clarify if it would be useful to introduce this concept in future Tapestry releases or not. So, what do you think? Regards Lubor On Wed, Oct 15, 2008 at 11:38 AM, Geoff Callender < [EMAIL PROTECTED]> wrote: > Good rant. I completely agree. > > > On 15/10/2008, at 12:31 PM, Thiago H. de Paula Figueiredo wrote: > > Em Tue, 14 Oct 2008 20:51:10 -0300, John Jimmy Dondapati < >> [EMAIL PROTECTED]> escreveu: >> >> I am sorry if this has already been asked but is there anyway to >>> integrate Spring Web Flow 2.x with Tapestry 5.x? >>> >> >> Nabble has a very good archive of this mailing list: >> http://www.nabble.com/Tapestry---User-f340.html >> >> Reasons : >>> 1. I like the way SWF organizes the flow outside the code. >>> 2. please add your own reasons. >>> >> >> <rant> >> I don't really get why would I like keep the flow outside the code. Flow >> is application logic, and the best place to write logic, in my humble >> opinion, is code. Disclaimer: I am a former, very disgruntled Struts user. >> One of the reasons I have to not use JSF is that faces-config.xml is >> struts-config.xml (that is a pain) with some tags renamed. I hope XML >> programming dies quickly. >> </rant> >> >> When learning Tapestry, I strongly suggest you to not try to find how you >> can map some other framework concept or feature into Tapestry: try to learn >> its concepts. Think that every page is an ordinary object and that pages can >> interact with other just like objects interact with other objects. >> >> -- >> Thiago H. de Paula Figueiredo >> Independent Java consultant, developer, and instructor >> Consultor, desenvolvedor e instrutor em Java >> http://www.arsmachina.com.br/thiago >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >