Mar 23rd, 2012, 11:51 AM
flowRedirect from a subflow
in our application, we have a common abstract parent flow, which defines a set of flowRedirecting end-states,
one end-state for each main menu item.
<end-state id="screen1" view="flowRedirect:screen1" />
<end-state id="screen2" view="flowRedirect:screen2" />
Each flow in is inherited from this common parent flow.
Each menu item activates one of these end-states, which causes a new flow to be started. The URL in the browser changes accordingly.
Everything was fine until the moment when we started to use subflows in our application. When the menu item is clicked at the moment when the current flow is run as a subflow and not as a root flow, the view argument gets ignored and instead of new flow being started, only a return to the calling flow is performed.
According to what I found on the internet, this problem can be fixed by changing all the end-states to view-states.
The problem is described here.
I did some tests and it really seems to work. The problem is the flow won't be properly ended and removed from the memory. The flow should be allegedly removed, when some user limit is reached (not sure about this).
We could also use another way for the menu links:
1. <a href="..." />
2. <h:commandLink onclick="window.url = ..." />
But I would say the problem would be still the same - the flows are not properly ended.
What are your expriences?
Is it really a big problem that the flow execution is not ended properly?
Thank you very much in advance!
Tags for this Thread