GWME-7.2.1-11 GroundWork Iframe Portlet Display Issue Repair Patch

Version 4 by Hans Kriel
on Apr 15, 2019 08:54.

compared with
Current by Thomas Stocking
on Apr 16, 2019 15:18.

Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (21)

View Page History
h5. Description

This updated update is for all GroundWork customers running 7.2.1 GroundWork Monitor Core or 7.2.2 software and desiring Enterprise 7.2.1 who want to use the new GroundWork Iframe Portlet in complex ways.

h6. What is in this update?

This Technical Bulletin provides a documented and scripted method of applying the changes addressed in http://jira/browse/GWMON-13506 for issues internal ticket GWMON-13506, which is related to writing the client side page. There are two issues described here.

h6. First issue addressed
The An error message
{code}
Invalid Input
The target blockeID to update is not found: UIMask Workspace
{code}
at the bottom of the screen is transient, it disappears once the page is loaded. There may be issues with loading if the refresh interval is smaller than the time required to load a very big dashboard (Grafana dashboards are popular).
appears at the bottom of the screen using the portlet. This error is transient, and disappears once the page is loaded. There may be issues with loading the page that make this error more frequent, however, if the refresh interval is smaller than the time required to load a very big dashboard (such as a Grafana dashboard with many graphs).

However, what the error message is indicating is that the top-level portal decoration content, (including the banner and menu bar), is no longer displayed. This has been confirmed visually. While true, it is also evident that the page URL is unchanged. Refreshing the page brings the portal back.
However, what the error message is correctly indicating is that the top-level portal decoration content, including the banner and menu bar, is not being displayed. The page URL is unchanged. Refreshing the page brings back the missing portal content.

Just before the message above is rendered, a "Loading" alert interstitial dialog is displayed. It was not immediately clear where this alert was originating. One thing worth noting is that the IFrame content is fairly heavy and might indeed be taking time to render.
To repair, a new portal-groundwork-base.war renders IFrame using innerHTML instead of the previous method document.write(). Document.write can replace the entire document if executed after page is loaded. This explains what the customer might see: likely it is a client-side timing/race issue.

*Issue One* To repair, a new portal-groundwork-base.war renders IFrame using innerHTML instead of previous method document.write(). Document.write can replace the entire document if executed after page is loaded. This explains what the customer might see: likely it is a client-side timing/race issue.
h6. Second issue addressed
Just before the message above is rendered, a "Loading" alert dialog is displayed. The IFrame content is fairly heavy and might indeed be taking time to render. In fact, the "Loading..." alert dialog follows timeouts on busy servers for portal ajax calls made when selecting tabs or panels (on pages where these are defined).

*Issue Two* To repair, the "Loading..." alert dialog issue follows timeouts on busy connections/servers for portal ajax calls made when selecting tabs/panels on pages where these are defined. The new patched portal.war file to be installed in the /usr/local/groundwork/jpp/gatein/gatein.ear directory suppresses the alert for these calls to the server. Modifications were made to iframe.jsp. Other portlets that rely on this code have been screened and found to perform as before the change.
To repair, a new, patched portal.war file is supplied that suppresses the alert for these calls to the server. Modifications were also made to iframe.jsp. Other portlets that rely on this code have been tested, and are not affected by the change.

h5. Prerequisites

* You need to be running GroundWork Monitor Enterprise, version 7.2.2 or 7.2.1
* You need to be running GroundWork Monitor Enterprise, version 7.2.1, with or without the Rollup Patch (as of version 7.2.2-4108. Later rollup patches may include this technical bulletin)
* This technical bulletin does not depend upon prior technical bulletins
* There is a need to schedule a downtime to apply this technical bulletin (time required is restart of gwservices, ~ 5 minutes)
{Note}

Once those steps are done you can create pages (covered elsewhere in documentation) using the GroundWork Iframe Portlet.
Once those steps are done you can create pages (See [DOC721:How to add a portal page]) using the GroundWork Iframe Portlet. Pages created before or after the patch was made will not require modification. Rolling back the patch will not change pages created before or after the patch was made.

h5. Installation Steps
./TB7.2.1-11_install.sh
{noformat}
The install script will test that you are on a 7.2.1 or 7.2.2 system (which is required), that you have not already installed this patch, and that you want to go ahead.
# Respond to the install-confirmation prompt when it appears.
# New files will be copied into place. Monitoring in general can continue while this patch is installed; there is a momentary restart of the web service which may terminate some user sessions.
h5. Usage

Once this is installed you will be able to use the GWOS GroundWork Iframe Portlet for complex dashboards without issues.

h5. Uninstalling

Reversal of this patch will remove the changes made to the GW server by restoring the previously backup backed up files. This will ensure that changes unrelated to this patch will remain undisturbed. You will not lose page content. However the symptoms addressed by the patch will probably reappear.

# As the {{root}} user, navigate to the patch-unpack directory you created when installing the patch, (if that directory no longer exists, first unpack the patch again).