2 Replies Latest reply on Apr 29, 2009 4:52 PM by Joshua Davis

    Natural conversation and Pageflow

    Francois Lagoueyte Newbie


      Here's my virtual scenario :
      I have a page to view a product and a link on this page (h:outputLink which points to the first page of the pageflow - not a action) to buy this one.
      When the user want to buy this product and click the link, I start a long running conversation with a pageflow.
      Note: a SFSB is used to manage this action.
      (the begin-conversation is declared in the pages.xml).
      Everything works fine with synthetic conversation id.
      But the user can start 2 buy process in 2 browser tabs ...I don't want that :-) (don't ask me why)

      Here's my wish : I would like to use Natural Conversations with a pageflow.

      Here's my problems : (you'll see that the problems list is much longer than the wishes list) :

      - when using Natural Conversation and 2 process in 2 tabs, the first process to finish destroy the conversation context (via an @End annotation).
      In the second process, if I choose next action (pageflow), I got a crash.
      The Natural Id is provided by the SFSB which outject the product and the product id IS the Natural Conversation ID.

      (01) Why the no-conversation-view-id of the pageflow is not triggered ? (is the natural id provider called before the check of the conversation ?) ?

      (02) Do I have to declare each page of the pageflow into the pages.xml with the conversation attribute ?

      (03) Do I have to put the s:conversationName tag inside all the h:commandButton of the pages of my pageflow ?

      (04) The natural conversation - the EL param-value attribute in the conversation declaration - is only a provider (a getter) ? or Seam set the value ?
      (I think of it as a provider and Seam get the conversation id and set it into the Conversation object (don't know exactly which one : ConversationEntry perhaps, I didn't check that yet) ?

      (05) Is It a good idea to use natural conversation for a pageflow ? (depends of the use case surely...) ?

      (06) Do I need to use an h:outputLink to start the process and not a s:link. The s:link, seems to me, try to resolve the natural conversation id to join it. But my id provider is the SFSB and it's not here until the pageflow starts... so I got a crash (id is null). Is the only solution to use an h:outputLink tag ?

      Thanks for your help.