Hello Seam users,
In my project, i´ve defined a simple page flow, representing a CRUD entity, where the user can navigate from insert.xhtml to a view entity page (view.xhtml) and from view.xhtml to the update entity page (update.xhtml). There is also a list entites page (list.xhtml), witch the user can reach crud stuff for each entity. So my concern is the correct use of the conversation between page flows in a stateless approach.
my flow resumes in:
- From the insert.xhtml, the user can persist an entity and be redirected to the view.xhtml page. The conversation was began according with the configuration of pages.xml and was not ended. The join attribute was required, because some ajax controllers were used in some relationships of other entity types, so the following conversation will be joined with the current. My param
- from the view.xhtml, the user can remove the current entity, being redirected for the list.xhtml page. A begin conversation is set with the join option, for the case that the user came from the insert.xhtml view. The conversation was not ended;
- Still in the view.xhtml, the user can update the current entity, being redirected to the update.xhtml page. The conversation was not ended;
- In the update.xhtml page, the user can update the entity, being redirected to the view.xhtml page. The conversation was not ended yet. My param
- The trick is in the list.xhtml. In pages.xml is specified that any request to this page results in an end-conversation demarcation. From this page, the user can view an entity (view.xhtml) or create a new instance (insert.xhtml).
I don´t know if this understanding is enough to ilustrate. The back button is the main problem to think if this is a good page flow solution. Witch is the correct moment to begin or to end a conversation, to use the join attribute, or nested... opinions are welcome.