Em Wed, 15 Oct 2008 08:51:33 -0300, Lubor Gajda <[EMAIL PROTECTED]> escreveu:

Hi Thiago/Geoff,

Hi!

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.

There's always the possibility of writing an analyzer using JavaCC or ANTLR or even as a Tapestry service that does what you're describing by looking at @InjectPage annotations. It wouldn't be as complete as a SWF configuration, but I think it would cover most situations. ;)

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 would use an ASO and clean up manually.

Don't forget you can add new object scopes to Tapestry. This has been done before, even with conversation scope, even not using Seam or SWF: http://www.nabble.com/T5%3A-Persistence-pains-tt17027697.html#a17080018.

Looking at this list archives, some people were trying to integerate Seam into Tapestry to provide what you're describing here (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).

That's nice. I use Spring, but with JavaConfig, so I almost don't have to write XML.

Tapestry is by its concept strictly page based framework and it doesn't
support grouping pages to flows/conversations.

It doesn't support this feature out-of-the-box, but it was built in such a flexible and intelligent way that this can be added as an add-on package without rewriting Tapestry itself. You could use page class transformations to do that, for example.

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?

Discussions are always a good thing. :)

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

Reply via email to