I've been trying to implement conversations on top of Tapestry/Hivemind
(currently no SEAM involved) in http://kickstart.sf.net.

My implementation, however, seems to fall short of your requirement of
multiple, simultaneously active conversations (same pages in different
browser-tabs). Currently a conversation in my approach is a session-scoped
aso which can be terminated using a conversation-manager. Also, there's a
ConversationPropertyPersistenceStrategy that persists page-properties in the
conversation instead of the session.

My first stab at this would be:
  1. allow for different conversations to be started/ended/accessed by id
  2. Implement a PropertyPersistenceStrategy storing the current
conversation context (id) on the client using
addParametersForPersistentProperties. Then, persist all properties in the
conversation denoted by this id.
  3. The conversation id would be set to a new one (fresh conversation) in
some listener corresponding to start conversation X semantics.

does this sound reasonable? I'd be very interested in details about how you
manage SEAM integration. I've thought about this myself, but was to short on
time for a new framework.

marcus


> -----Original Message-----
> From: Leonardo Quijano Vincenzi [mailto:[EMAIL PROTECTED]
> Sent: Saturday, January 21, 2006 8:09 PM
> To: Tapestry users
> Subject: Tapestry and Web Conversations (Seam / Spring WebFlow)
> 
> 
> Now, I've been looking around to use Seam with Tapestry, but there's 
> something I haven't managed to solve yet. Maybe someone has an idea:
> 
> - The thing is, how would someone handle Web conversations using 
> Tapestry? Or for that matter, using plain Servlet requests? 
> (It ocurrs 
> to me this is not a web-framework specific issue, but a general web 
> thing like sessions). Of course, a Web "conversation" is 
> something that 
> depends on the current page flow, shorter than the full web 
> session but 
> larger than a request.
> 
> The main problem to solve here is how to create a 
> "conversation-scoped 
> object" (preferrably a JavaBean) that I use in a single Web 
> browser tab. 
> But when I open a new tab and try to navigate to the same page, a new 
> conversation is generated.
> 
> I already created a non-Tapestry filter for Seam that handles 
> the state 
> restoring. I can use SESSION-scoped components that work fine 
> inside the 
> Seam framework, but I'm trying to check on the conversation 
> ID (that I 
> think Seam stores in JSF's ViewRoot / ViewState).
> 
> Any ideas on how to do this in Tapestry?
> 
> -- 
> Ing. Leonardo Quijano Vincenzi
> DTQ Software
> 
> 
> 
> ---------------------------------------------------------------------
> 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]

Reply via email to