Saving for Later (continued)
Save for later is implemented by using a save-point-id that captures a snapshot of the ADF application at a specific point in time. This includes everything from the time the savepoint is created in the originating task flow up the call stack. Application state information is also saved, including:
UI state, including table sort order and selected tabs, check boxes, table rows, and so on
Managed beans: Saves the state information that is saved in memory scopes, except for request scope and application scope
Navigation state: Task flow call stack, which tracks where the user is in the application and the navigational path for getting there, and also the starting point of any data transactions
Model state: Any data model updates made since beginning the current bounded task flow, subject to limits imposed by the model layer on the saved state lifetime
The same save-point-id can be used when the same user repeatedly performs a save for later on the same instance of a task flow within the same browser window within the same session. If a user performs a save for later following every page of a task flow, only one save-point-id is created and is overlaid each time.
An example of when you might use an explicit save for later is an expense report application. A user may click a button to save, but not submit, the partial expense report, and then may cancel out of the application. Later the user can invoke a list of saved expense reports and select the one to continue working on.