How does Seam.PushDocument work? How does Seam.PushDocument work?

A new question by Michael Bell: How does Seam.PushDocument work? Well, it does not navigate to a document, as Clément said:

If you just want to navigate to your newly created Document, you should use the Seam.NavigateTo operation.
The Seam.PushDocument operation pushes just your Document in the Seam Context.

For those of you who don't know Seam, it's the framework we use to write Nuxeo's Web interface. It can be easily extended with Nuxeo Studio, hence the presence of Seam in Studio.

Seam.PushDocument adds a document to a Seam context: session, conversation, page or event. This can be useful if you think the user will click on different buttons, which is to say launch different operation chains, during his conversation or session. This way you can share documents between independent chains. So once you have stored your document, to retrieve it, you need the Seam.FetchDocument operation. It will restore the document as input for the next operation.

This can be useful if you manage your navigation with buttons. Let's say I am currently viewing a Quality Report document. I've added a button called "Navigate to Incident Library." What it does is push the current document into the Seam context and then navigates to the "Incident Library" document. When I'm inside such a document, I have a button called "Back to Report." The only thing that button does is retrieve the document from the Seam context and then navigate to the document, using the Seam.NavigateTo operation.