Affects Version/s: 1.1.5-SNAPSHOT
Fix Version/s: 1.1.5
Ok, this is a try to get what is described in the summary.
The heart of this patch is the RedirectTracker.
How it works:
*) In NavigationHandlerImpl when it comes to the redirect the RedirectTracker will capture all required (save-state beans/messages) data. The tracker appends a special parameter (_rtid=) to the redirect url so the saved state can be looked up in an map.
*) In LifeCycleImpl in restoreView the RedirectTracker will check for the special parameter and lookup the map using its value. If an entry was found the data will be restored.
*) In UISaveState every bean rematerialized in restoreState will put it in a request-scoped map
*) need to make the number of tracked redirects configureable (back-button) currently its hard-coded to 20
*) some, as I didnt tested it very well
I added this patch as a base to discuss what could be made better, though the goal is to add this functionality to myFaces.
I hope some else jump in and we get a vital discussion about this topic.