Remedy AR System Mid Tier - Functionality Issues with Google Chrome, Microsoft Edge Chromium and FireFox - INCLUDES VIDEO
Knowledge Article
Remedy AR System Mid Tier - Functionality Issues with Google Chrome, Microsoft Edge Chromium and FireFox - INCLUDES VIDEO
BMC Software is alerting users to a potential problem on Chromium browsers:
- Google Chrome version 80 and later
- Microsoft Edge (Chromium) 90. x and later
- Firefox 91.3 ESR 32-bits and later
- Firefox 64-bits
Attention is required in environments using AR System, BMC CMDB, ITSM applications, or custom applications on versions 20.02, 19.08, 19.02, 18.08, 18.05, 9.1, 9.0, 8.1, and versions earlier than 8.1.
The potential problem occurs when an application uses active links that run on Window Close event.
Google Chrome version 80 and later disallows synchronous calls to the XMLHTTPRequest()method during page dismissal, when a user navigates away from the page or closes the page.
Because of this change in behavior in Google Chrome version 80 and later + Microsoft Edge (Chromium) 90.x and later + Firefox 91.3 ESR 32-bits and later, active links that run on Window Closed event, might not work as expected
After upgrading Chrome to version 80 or MS Edge (Chromium) version 90 or newer, Active Links that should trigger on "window close" or "window un-display" or "windows re-opening" are no longer running as expected.
This behavior would be observed in active links either on OOTB (Out Of The Box) ITSM or on custom applications
For example: Active Link “AR System Email Mailbox Configuration Undisplay” would change focus to a field Name when window is un-displayed. Other Active Links such as “ASE:AssignProcess_OnClose_Save” calls an Active Link guide: “ASE:ProcessAssign_OnSave_guide” and part of the guide pushes data into “ASE:ProcessRule Form”.
So while the first example doesn't change focus the second example does not push data into a form.
This knowledge article may contain information that does not apply to version 21.05 or later which runs in a container environment. Please refer to Article Number 000385088 for more information about troubleshooting BMC products in containers.
BMC has released a number of fixes for 20.02 Patch 2 and 20.08 in March 2021 to address the OOTB(Out of The Box) Active Links.
The minimum versions for each component are:
Component
Minimum Version
Mid-Tier
20.02 patch 2
AR Server
20.02 patch 2
ITSM
1805
FAQ:
Q – I haven’t been using the backwards compatibility flag, Execute-Window-Close-Undisplay-Activelinks set to false, and haven’t noticed a problem, should I still apply the hotfixes?
A – It might not have been observed if there is no relating workflow to the OOTB(Out of The Box) Active Links that are affected, but BMC always recommends to upgrade to the latest version and apply the most recent fixes.
Q - Is the fix only available for 20.02 patch 2? A - It is strongly recommended to upgrade the platform to avoid manual adjustments. Alternatively, Midtier must be upgraded to 20.02.02 plus the latest hotfix and AR server must be 18.05 or higher. The Centralized Configuration SS flag, Execute-Window-Close-Undisplay-Activelinks, can be manually added on 1805 AR server in combination with Mid-Tier 2002 patch 2 with the hotfix. The flag should be added to the com.bmc.arsys.server.shared component. If set to true, the existing Window Close/Undisplay workflow will continue to trigger as long as the browsers allow. Once you have modified the needed workflow, you should set this flag to false. NOTE: when the parameter is set or changed, the end-user will need to clear the Cached images and Files from their browser cache to get the new value.
Q - I have updated Midtier Platform and AR server to 20.02.02, do I need to update ITSM too? A - For ITSM 18.05 and to 19.11,
1) apply the AR server, midtier and CMDB hotfixes, and 2) import the updated ITSM workflow definition hotfix
For ITSM below 18.05 and/or custom applications,
1) upgrade the mid-tier 20.02.02 with the latest hotfix. Note: AR Server must be at minimum version 18.05, 2) add the CCS parameter, Execute-Window-Close-Undisplay-Activelinks under com.bmc.arsys.server.shared, and set it to False and 3) manually fix forms/workflow where necessary
Q - If the AR Server, CMDB, and MIdtier are at 20.02.02 and ITSM and SRM are currently at 20.02, what actions do I need to take? A - The following hotfixes need to be applied:
NOTE: All hotfixes are cumulative thus any hotfix dated after the ones listed below will include the needed fixes.
Q- Once ITSM and Mid-tier has been updated are further actions needed? A- AR server should also have a new variable in Centralized Configuration under the com.bmc.arsys.server.shared component called Execute-Window-Close-Undisplay-Activelinks set to False. If the variable is not present, it should be added manually. Once all these actions are in place, ITSM would continue to trigger the active links as expected.
Q - Are there any necessary modifications required for custom applications? A – Yes, any custom built applications will need to be modified by making the below changes where appropriate.
1. Workflow opening windows should be updated. Please change them from Open dialog into open Popup, this will avoid showing the browser "close button" meaning the default browser 'X' button in the window top right corner. 2. Please create a new Close button or use an existing button to close the popup 3. The close button should execute one of these 2 run process before closing the window. (Window Close) PERFORM-ACTION-ACTIVE-LINK 65536 ignoreIfEnabledBrowserUnload (Un-DIsplay) PERFORM-ACTION-ACTIVE-LINK 32768 ignoreIfEnabledBrowserUnload 4. The last action of the active link should be close window The purpose of the Run Process action on step 3 is to trigger any Active Links that previously would have fired, but now won’t, on the Close Window action. Therefore the flow after the fix is: Click the close button, Run Process will fire Window Closed/Un-Display active links associated to this form, finally close the window.
Q - Is there a risk that my workflow triggers twice ? A - Yes, make sure the new flag ignoreIfEnabledBrowserUnload is used on the Run process active links
Q- How do I change the window from Dialog into Popup? A- Answer below : screenshots from Developer studio while editing active link that opens a window.
Q-How would an active link look like after the ITSM hotfix?
A- Below (screenshots from Developer studio editing active links)
Q- Once the open window active links are updated, will my application look different? A- Yes, once the open window active link displays a popup instead of a dialog the window would look different. Screenshots follow for comparison Dialog screenshot
Pop up screenshot
Q- What is the purpose of the flag introduced in CSS on AR Server?
A- The new CCS flag: Execute-Window-Close-Undisplay-Activelinks, with value set to F(False), instructs the hotfixed mid-tier to now ignore any active links with an Execute On set to Window Close or un-display. If set to T(true), mid-tier will execute these active links and depending on the browser type, they may or may not work. The flag should be set in the com.bmc.arsys.server.shared component of the Centralized Configuration.
Q- How can I find the active links on my custom application that execute on "Window close" or "Un-Display" A- In developer studio you can filter Active links that execute on "Un-display" or "Window close" like in the screenshot following
Workaround
If the fix is not implemented, a workaround is feasible. However, at some stage, Google plans to deprecate the use of the workaround/flag. This is currently scheduled for Chrome 93 (ETA August 2021). This is subject to change by Google at any time.
Steps to use the temporary workaround flag
For Chrome :
1. Open your Chrome browser. 2. Type chrome://flags/#allow-sync-xhr-in-page-dismissal in the address bar 3. Set the Flag to Enabled. 4. Clear all your browser's cache and restart it.
The problem may also be seen with Edge chromium as it uses the Google's Open Source Browser code.
For Firefox:
After applying your hotfix follow the next steps: • Logging to your ARSystem console (http://server:port/arsys) • AR System Administration • AR System Administration console • System • General • Centralized Configuration • Component name: com.bmc.arsys.server.shared • Execute-Window-Close-Undisplay-Activelinks • Change the value to “False”
For Edge Chromium :
You need to add/modify the below parameters in the Windows Registry on all Client Machines.