users@javaserverfaces-spec-public.java.net

[jsr344-experts mirror] [jsr344-experts] Re: [730-Flows] OutcomeTarget flow navigation (clientWindowTransition() also handle navigation)

From: Edward Burns <edward.burns_at_oracle.com>
Date: Tue, 12 Mar 2013 18:04:28 -0700

>>>>> On Sun, 10 Mar 2013 22:09:24 -0500, Leonardo Uribe <lu4242_at_gmail.com> said:

LU> Hi
LU> I have been checking the proposal for OutcomeTarget navigation in deep. In few
LU> words, the critical point is what clientWindowTransition() should do and how
LU> to encode GET links properly.

LU> Let's consider again this use case :

LU> (suppose the flow document id is flowDoc2)

LU> <faces-flow-definition id="flow2">
LU> <flow-return id="exit2">
LU> <navigation-case>
LU> <from-outcome>exit1</from-outcome>
LU> </navigation-case>
LU> </flow-return>
LU> </faces-flow-definition>

LU> (suppose the flow document id is flowDoc1)

LU> <faces-flow-definition id="flow1">
LU> <flow-return id="exit1">
LU> <navigation-case>
LU> <from-outcome>mainpage</from-outcome>
LU> </navigation-case>
LU> </flow-return>
LU> </faces-flow-definition>

LU> Suppose we are in /flow2/mypage.xhtml and there is a link to exit the flow. How
LU> it should looks like? according to what I can deduct from the spec it should
LU> be something like this:

LU> http://localhost:8080/myapp/mainpage.xhtml?jffi=exit2&jftfdi=flowDoc2

LU> In theory the link should work as long as the flow stack is:

LU> flow2
LU> flow1
LU> root

LU> But what happen if I copy the link into a new browser tab?

That is not supposed to work because, by definition, the flow system is
entirely built on ClientWindow, which, by definition is bound to a
browser view (such as a tab or window).

Ed