Re: Understanding page lifecycle on return from a faces flow

2014-11-06 Thread Leonardo Uribe
Hi

I think the problem happens because the navigation is executed on invoke
application case, but by default f:viewAction is set to be executed on
invoke application phase too. Probably f:viewAction is executed before the
navigation.

Faces Flow allows to set initializer and finalizer methods, so the best way
could be do the check in a finalizer method. Or if you want, you can use
f:event type=preRenderView listener=#{...}/, to execute a method
after invoke application phase, but before render.

regards,

Leonardo Uribe

2014-10-21 10:51 GMT-05:00 Alexander Wise sa...@clickshare.com:

 Greetings,
   I am trying to use a viewAction as a mechanism to enforce pre-conditions
 on pages, and am using faces flows to present any interaction required to
 enforce the preconditions. For example, imagine a “one click” ordering
 scheme, where clicking on a link takes you to the confirmation page for the
 order, but before the order can proceed, we need to make sure the customer
 is logged in (presenting a login/signup flow if they aren’t), and that they
 have a current credit card on file (presenting an update billing
 information flow if they aren’t)...

 I am entering the flow with a viewAction:

 f:viewAction action=#{authenticator.enter} onPostback=true /

 Authenticator.enter checks the pre-condition on the page, and navigates to
 the login flow, if the user is not logged in. But, at the end of the flow,
 I want enter() to be invoked again in case their are other preconditions
 that need to be enforced. A phase listener shows all the same phases are
 being executed, but the viewAction is not getting triggered again, so
 clearly, I don’t understand the page lifecycle sufficiently…

 Can anybody explain why the viewAction doesn’t get triggered again, and
 what I can do to change that?
 /s




Understanding page lifecycle on return from a faces flow

2014-10-21 Thread Alexander Wise
Greetings,
  I am trying to use a viewAction as a mechanism to enforce pre-conditions on 
pages, and am using faces flows to present any interaction required to enforce 
the preconditions. For example, imagine a “one click” ordering scheme, where 
clicking on a link takes you to the confirmation page for the order, but before 
the order can proceed, we need to make sure the customer is logged in 
(presenting a login/signup flow if they aren’t), and that they have a current 
credit card on file (presenting an update billing information flow if they 
aren’t)...

I am entering the flow with a viewAction:

f:viewAction action=#{authenticator.enter} onPostback=true /

Authenticator.enter checks the pre-condition on the page, and navigates to the 
login flow, if the user is not logged in. But, at the end of the flow, I want 
enter() to be invoked again in case their are other preconditions that need to 
be enforced. A phase listener shows all the same phases are being executed, but 
the viewAction is not getting triggered again, so clearly, I don’t understand 
the page lifecycle sufficiently…

Can anybody explain why the viewAction doesn’t get triggered again, and what I 
can do to change that?
/s