Unified Service Desk – Recover Crashed IE Pages

Leave a comment

In Unified Service Desk 3.2 onwards, there is a feature that allows for the recovery of crashed IE pages. The USD team has been making great strides over USD web page stability, as the product becomes more powerful with more and more features added.

The scenario here, is an agent is using USD and one of the pages they are on freezes. This can happen if a script on a page is taking a long time to process and is “blocking” the USD application from running as expected.

If an agent is on a call with a caller, and they experience this freeze, USD now has a way to recover quickly, thereby keeping the call flow moving. In the past, if a page “crashes”, the agent will see a message such as “The webpage stopped responding. If you frequently experience unexpected closing of Internet Explorer webpage, contact your system administrator“:

Let’s simulate how this error can occur and how USD now handles the problem.

Let’s say an agent has pulled up the information on a case that a caller has called about. We have a hosted control for Incidents (Cases) that displays in a USD session. On loading the incident, we run some JavaScript through the RunScript action that display an alert that says “Hello World”. Note any blocking JavaScript should be able to reproduce this issue:

Now, if we keep this page running for 15 seconds, and do not click OK, USD will note that something is blocking the page, and will show an alert to the user:

“A script on Incident is causing the Internet Explorer webpage to run slowly. Click Reload to recover the Internet Explorer webpage. Click Stop to terminate and not recover the Internet Explorer webpage. Click Continue to wait for the Internet Explorer webpage to respond”

Clicking Show More, we can see the actual script that is causing the block here:

As described by the error message, selecting on of the 3 actions will produce the following:

  • Reload = reloads the page:
  • Stop = stops the page and displays the “webpage stopped responding” message:
  • Continue = waits for the blocking code to complete, in this case it will simply continue to display the Hello World. In another 15 seconds it will display the 3 options again:

Note there are some limitations with using this functionality. These include:

  • If you recover a page, it triggers all the events again
  • Recovery does not load back to an inline navigation
  • Recovery doesn’t save unsaved work, i.e. if you didn’t save a new record, it will simply reload the page back to a new page
  • Stopping may terminate other open IE pages as well

However, this is a nice improvement over previously being unable to recover the page.

There are also some additional configurable options from the USD server side. Let’s take a look at these.

Disable Recovery

You have the ability to disable this recover completely. In Dynamics 365, go to Unified Service Desk->Options:

Click New:

We will select:

  • Global Option = Other
  • Name = IEWebPageRecovery
  • Value = false

Save, and reopen USD. Navigate back to the Incident page. We will still get the message “A script on Incident is causing Internet Explorer to run slowly”:

However, if the user clicks Reload, instead of reloading the page, it will display the “webpage stopped responding” message:

The Microsoft documentation also talks about the following two features, though I was unable to invoke these in my own D365 environment.

Inactivity Timeout

Under Settings->Unified Service Desk->Options, we can configure just how long USD will wait until it decides a script is taking too long to process. To configure this, create an option:

  • Global Option = Others
  • Name = IEWebPageInactivityTimeOut
  • Value = Time to wait in milliseconds. The default is 15 seconds (15000 milliseconds). Setting this to 0 means the timeout is disabled

Manual Ending of Page and Ctrl+Alt+K

If a page becomes unresponsive, an agent can manually choose to end the IE process by pressing CTRL+ALT+K. They will then be able to recover the page or skip recovery. A D365 administrator can also change the shortcut keys for this feature:

  • Global Option = Others
  • Name = On-DemandIETerminationShortcut
  • Value = The shortcut you choose

It will be interesting to see how these features come into play when the Edge browser is supported within USD.

ABOUT CARL DE SOUZA

Carl de Souza is a developer and architect focusing on Microsoft Dynamics 365, BI, Web, Cloud and Data Science.

carldesouza.comLinkedIn Twitter | YouTube

 

Leave a Reply

Your email address will not be published. Required fields are marked *