Very good points Keith.
Please correct me if I'm wrong, but I think the behavior the original poster is requesting is simply a propagation of none
across a redirect. This simply requires not sending the cid across a redirect rather than introducing another propagation type.
I do not know how useful this would be to others in practice. The main use I could see is if some processing in the current conversation was required prior to leaving that conversation, but you did not want to end the conversation entirely.
Perhaps this could be achieved through something much more simple and restrictive to alleviate these concerns. For example, something like:
<rule if-outcome="myNavConst"> <redirect view-id="/mySection2.jsp" propagation="none" /> </rule>
Any other thoughts?
By the way, interesting topic :)
Jacob Orshalick wrote on Feb 28, 2008 03:49 PM:<rule if-outcome="myNavConst"> <redirect view-id="/mySection2.jsp" propagation="none" /> </rule>
What is the use-case for this? It's a reasonable approach I guess.
Speaking from personal experience, I had to do something like this for a client to determine whether the PersistenceContext associated with the conversation was dirty prior to sending the user to another section of the application. A clean solution was using the Hibernate session.isDirty() when processing the request prior to navigating to the other section of the application (which of course has its own conversation boundaries).
Using this it was then easy to pop up a modal window notifying the user that changes have been made to the context (allowing them to decide to accept them or not) or simply performing a redirect to the other section if no changes had been made (which required leaving the conversation prior to redirect so the user could return via back-buttoning). There are of course other approaches to this problem, but this one seemed the cleanest.
As I said, I do not know how useful this will be for others, but I have had to do something like this.