45 | | a. Ajax viewer pings server periodically by calling “GetSiteVersion” (the most lightweight function).[[BR]] |
46 | | b. Fusion viewer pings server periodically by calling Common.php which will refresh connection.[[BR]] |
47 | | 2. Refine “connection broken” exception handling[[BR]] |
48 | | Catch the exception and show a readable message. |
| 46 | a. Fusion already pings server periodically by calling "Common.php", so there is no plan to change Fusion's behavior.[[BR]] |
| 47 | b. Ajax viewer doesn’t ping server to keep-alive so far. If open an Ajax viewer and leave it open for a while more than the timeout interval, it can’t continue work. To keep Ajax viewer alive, the approach is:[[BR]] |
| 48 | 1). Create a server API GetSessionTimeout(), return the timeout setting from server side. [[BR]] |
| 49 | 2). Call GetSessionTimeout() from mainframe.templ periodically.[[BR]] |
| 50 | User doesn’t need to set the time interval of pinging. It’s read from server timeout setting and divided by 5. User can turn the ping on/off by setting <EnablePingServer>=1/0 of basic web layout. [[BR]] |
| 51 | |
| 52 | 2. Refine exception handling such as “connection broken”[[BR]] |
| 53 | a. Fusion does not handle exception message well. It shows long unreadable message when exception happens. For example if connection broken the error message is "FATAL: xml2json: invalid XML document: MgConnectionFailedException : http://127.0.0.1/mapguide2010/mapagent/mapagent.fcgi?version=1.0.0&locale=en&clientagent=Fusion%20Viewer&operation=QUERYMAPFEATURES&session=40d3e074-3ee5-102c-8000-005056c00008_en_7F0000010AFC0AFB0AFA&mapname=Sheboygan4a3b609791c82&geometry=POLYGON((-87.730254250931%2043.73763292302%2C%20-87.730254250931%2043.737069942268%2C%20-87.729691270179%2043.737069942268%2C%20-87.729691270179%2043.73763292302%2C%20-87.730254250931%2043.73763292302))&maxFeatures=1&persist=0&selectionVariant=INTERSECTS&layerNames=&layerAttributeFilter=5 type=0". This is no user-friendly. The error message should show exception message such as "Fussion error: Cannot establish connection".[[BR]] |
| 54 | b. Ajax viewer shows exception messages and they are user-friendly. No improvements needed for Ajax viewer. |