Report Errors (How To)

From GeoMedia Smart Client
Jump to: navigation, search


During the development of your custom workflows you might run into client-side (Javascript, HTML, CSS) or server-side workflow (.cshtml, C#) errors. Sometimes this even happens if you use provided workflows or the standard functionality of GeoMedia SmartClient. This document describes how you should report these errors to us in order to have them fixed fast. In the initial version of this document, we focus on client-side errors, especially Javascript.

Common Sources of Javascript Workflow Errors

From our vast experience there are many sources of Javascript errors causing defects in the GMSC/Workflow interface:

  • Javascript Syntax Errors (e.g. var foo = 'bar";)
  • Wrong application of the GMSC Smart Client Javascript API in custom scripts (e.g. omitting callback functions in asynchronous methods, wrong usage of the given events)
  • mismatch between custom scripts and workflow (e.g. field id's referenced in custom scripts don't exist in the workflow configuration)
  • sql queries on the server deliver wrong data structures, UI components bound to that data crash.

It's important to notice that a Javascript error yielded by the browser is often only the first "point of encounter" of a defect that might have "deeper" issues or is related to a specific configuration. Therefore it might not be enough to send us just a screenshot showing the error message.

Screenshots

While screenshots are ok as initial bug information, they often don't carry enough information to let us track down the bug. Be prepared that we likely need additional data (e.g. Javascript console information, fiddler dumps) in order to address your bug.

Workflow/Formsettings.xml, custom scripts

If you encounter a bug in a custom workflow, please also submit the workflow.xml/formsettings.xml for this workflow and any custom scriptsthat are used within the workflow.

Javascript Error Console messages

If you notice some weird behaviour in the Workflow User Interface (e.g. button not responding to clicks), please try to open the Developer Tools/Javascript console of your current browser:


Then go through the following steps:

  1. If you see any errors shown in the console, please restart the affected workflow in debug mode and reproduce the error again. This provides us with more meaningful error messages, since the javascript code isn't minified in debug mode.
  2. Copy the console error message alongside with the line numbers contained there.
  3. Also inspect the network panel for any red entries. If you find one, expand it and also perform a screenshot.


the javascript console of the chrome developer tools

Screenshot 1: The javascript console of the chrome browser shows a script error. Note that only the line in red is an error message, while the other lines are normal log messages.


Javascript network error.png

Screenshot 2: The network panel indicates that the file nonexisting_customscript.js couldn't be loaded. This is mostly caused by wrong script paths or typos in filenames.
(You might have to reload the page after you opened the developer tools in order to see the network traffic of the page)

Fiddler Dumps

Fiddler2 is a free web debugging proxy for windows systems. It captures the HTTP traffic between web client (i.e. browser) and server and is able to export that traffic in a session-based format (.saz - archives). As the whole client-server traffic is captured, SAZ-Archives especially useful for catching client/server errors (i.e. an SQL statement in workflow.xml that doesn't produce the expected output and crashes a grid widget on the client).

medium


If we request you to do so, please generate a SAZ archive using these instructions:

  1. Install Fiddler (full version) - see the installation instructions
  2. Open Fiddler and click “Capture Traffic” (F12)
  3. Open SmartClient or the browser and navigate to the affected workflow page
  4. Close all other internet-connected apps (e.g. browsers) and clear the session list by clicking the [X] Icon, more detailed instructions can be found here
  5. Reload the affected page and perform the buggy action (button click)
  6. After finishing it, move back to Fiddler and choose File > Save > All Sessions...
  7. Send us the saved .saz file