2 Replies Latest reply on Jul 1, 2011 7:11 AM by leopard2a5

    How do i keep the ConversationID out of the request, so that i can start a second conversation apart from the current long-running one

    leopard2a5

      Hi!
      I'm developing an Application with Weld, JSF 2.0 and GlassFish 3.1.
      I've got a long running conversation and want the user to be able to start a new thread of work apart from the current one. so i need to keep the cid out of the request and not have it appended to the URL automatically, is that correct? Question is: how can i achieve that?


      Thanks in advance!

        • 1. Re: How do i keep the ConversationID out of the request, so that i can start a second conversation apart from the current long-running one
          asiandub

          I'm afraid it's not that easy. You are looking for the concept of nested conversations, did I get you right?


          Simply storing a conversation id for later reuse will not work, besides that you'll probably want to peak into the parent conversation from the child...


          AFAIK this issue is on the list of the faces module 3.1, but Dan or Lincoln might have more details. I also know about a concept our friendly neighbours from CODI are using - they are bindig conversations to objects, which basically means that you can have a lot of independent conversations opened at the same time.


          • 2. Re: How do i keep the ConversationID out of the request, so that i can start a second conversation apart from the current long-running one
            leopard2a5

            Not quite, i'm not talking about nested conversations but about having multiple conversations at the same time, but not nested. for example:


            you're on index.xhtml and open useCase1 in a new tab, which spawns conversation 1.
            in useCase1 you click a link from the global navigation menu, that has nothing to do with the current useCase. Now cid 1 is transmitted, although you're not doing anything concerning useCase1. As a developer i'd want the app to ecognize this and spawn a new conversation and pausing conversation 1.


            I know this worked in Seam 2, though i don't see a way in weld. i'm thinking about editing the ConversationAwareViewHandler and let it check for a special parameter that i pass to my commandLinks and Buttons, so that it doesn't append the cid if i don't want it to.
            There was a Seam example including a kind of task manager, showing all the running conversations that you can continue or cancel from this certain task manager.


            Did i make myself clearer this time? :)