[mapguide-internals] Please review patch http://trac.osgeo.org/mapguide/attachment/ticket/1026/FusionErrorReport.patch

Christine Bao Christine.Bao at autodesk.com
Wed Jul 22 05:53:41 EDT 2009


Hi all,

     I've attached patch http://trac.osgeo.org/mapguide/attachment/ticket/1026/FusionErrorReport.patch. Please review it. Thank you.

     Here are the comments:


MapGuide customers report a severe defect that Flexible Web Layout reports unreadable error message.

For example, if the server is down while user do operation, (s)he will get a dialog with long error messages: "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 error message is helpless for end users. Customers report that they want a more user friendly message.

This message is from Fusion error handling code (fusion.js line 647):
if (r.status >= 400) {
                Fusion.reportError(new Fusion.Error(Fusion.Error.FATAL,
                  'xml2json: invalid XML document: ' + r.statusText  + " : " + r.request.url));
                return;
            }
r.statusText is exception type from MapGuide, for example MgConnectionFailedException.
r.request.url is the long URL.

To improve this:
1. MapGuide should set the exception message instead of exception type in r.statusText. For example, r.statusText should be "Cannot establish connection" instead of "MgConnectionFailedException". These messages are localized and readable to end users.
2. MapGuide templates handle the error, parse it to readable message and show to user.

By doing so end user can get a readable error message. For example "FATAL: Cannot establish connection"


Thanks & regards,
Christine



More information about the mapguide-internals mailing list