We currently have scopes for: Application Session PageFlow View I propose that we add a Map associated with each window or tab that the user is interacting with. This would slop into the scope hierarchy between the Session and PageFlow scopes. We would also expose the storage for the current window on the RequestContext. If no WindowManager was exposed and therefore there was no current Window, this Map would be the SessionMap.
For high availability, each of the attributes stored in a Window's map would be stored as separate attributes in the Session. At least initially, we would not expose this map directly through its own top-level windowScope EL property. Proposed apis: RequestContext: /** * Returns a Map of objects associated with the current window if any. If there is no * current window, the Session Map is returned. * @return Map for storing objects associated with the current window. * @see org.apache.myfaces.trinidad.context.Window#getWindowMap */ public Map<String, Object> getWindowMap() Window /** * Returns the Map for storing data associated with this Window object. If the environment is * configured for fail-over, the contents of this Map must be Serializable. * @return The client data storage Map. */ public abstract Map<String, Object> getWindowMap(); Since we would provide a default implementation of getWindowMap using import org.apache.myfaces.trinidadinternal.util.SubKeyMap, we would also have to make SubKeyMap public as well.
