[mapguide-internals] Please review RFC 66
Jason.Birch at nanaimo.ca
Wed Jun 17 13:58:23 EDT 2009
I'm not sure that it's necessary to recreate the whole session; when it times out, often it's too late to save. Just enough to recreate the user's current view state (extent, layer state, possibly selection, etc) would be a good best-effort.
From: Trevor Wekel
Sent: Wednesday, June 17, 2009 10:29 AM
Subject: RE: [mapguide-internals] Please review RFC 66
Session recreation is tricky business. You would need to implement two HTTP APIs to make this work. SAVESESSION(sessionId) would download the user's session repository as an mgp. The second API, LOADSESSION(sessionId, mgp) would upload the same mgp into a newly created session repository on another server. The overall flow would be something like this:
SAVESESSION --> mgp downloaded to viewer
Original server goes offline
Viewer calls CREATESESSION to get a new session on another server
Viewer calls LOADSESSION(newSessionId, downloaded mgp)
Viewer sets appropriate center/scale
But there is a big catch here. The downloaded mgp will contain old session repository references, eg, "Session:xxyyzz//Temporary.LayerDefinition" for any dynamically generated resources (layers, SDF feature sources, selection, etc). LOADSESSION will have to fixup all of these references during the load process.
More information about the mapguide-internals