= !MapGuide RFC 66 - Failover = This page contains an change request (RFC) for the !MapGuide Open Source project. More !MapGuide RFCs can be found on the [wiki:MapGuideRfcs RFCs] page. == Status == ||RFC Template Version||(1.0)|| ||Submission Date||(June 16, 2009)|| ||Last Modified||(Christine Bao Tue Jun 16 02:22:17 2009)|| ||Author||(Christine Bao)|| ||RFC Status||(draft)|| ||Implementation Status||(under development)|| ||Proposed Milestone||(2.2)|| ||Assigned PSC guide(s)||(Tom Fukushima)|| ||'''Voting History'''||(vote date)|| ||+1|||| ||+0|||| ||-0|||| ||-1|||| ||no vote|| || == Overview == Failover is to improve user feedback to monitor state between client and server tier, while detect and report cases of failure in both Ajax and Fusion web layout. == Motivation == Customer reports that if leave the browser open for some while without any operation, the session will timeout and can’t get informed. If server is down the error message is not easy to read and user can’t figure out what happens.[[BR]] The use cases would be:[[BR]] 1. If the Http session is timeout, the user should be informed about the fact instead of getting some script errors or meaningless error messages.[[BR]] 2. If the MapGuide Server session is timeout, the user should be informed about the fact instead of getting some script errors or some meaningless error messages.[[BR]] 3. If the connection to MapGuide Server is broken, the user should be informed by a friendly message which helps the user know what's happening instead of getting a kind of "exception stack trace" message box. == Proposed Solution == The possible solutions could be:[[BR]] 1. Implement a script which pings the servers periodically to keep the both sessions alive (from browser to web extension and from web extension to server). [[BR]] 2. Refine the code handling the "connection broken" exception to provide more friendly messages. == Implications == 1. Keep alive[[BR]] a. Ajax viewer pings server periodically by calling “GetFeatureProviders” (the most lightweight function).[[BR]] b. Fusion viewer pings server periodically by calling Common.php which will refresh connection.[[BR]] 2. Refine “connection broken” exception handling[[BR]] Catch the exception and show a readable message. == Test Plan == Test both Ajax viewer and Fusion viewer. == Funding/Resources == Supplied by Autodesk.