(SM) Support Tip: Workaround a problem where the htmviewer will not display on the webclient

The htmlviewer fails to display on Webclient when its visbility is controlled with a Visible Condition. The Visible Condition can be something as simple as [<field>]=true or based on a variable such as [<$variable>]=true.. This is seen in 9.41.

This is a known problem, which will be resolved by R&D. The following steps below will workaround the problem.


1. Find htmlviewer.xsl in WEB-INF/templates/topaz/htmlviewer.xsl

2. Find the following code below and note the BOLD code:,
<div id="{$myId}Border" class="HtmlViewer">
<xsl:attribute name="style">
<xsl:call-template name="genFullPosition"/>
</xsl:attribute>
<iframe id="{$myId}" name="{$myId}" src="{$myUrl}" type="viewer" title="{@accessibledescription}" class="HtmlViewerFrame">
<xsl:attribute name="onload">
replaceTarget4HtmlViewerLink('<xsl:value-of select="$myId"/>', document);
<xsl:if test="$rtl='true'">
setRTLDirectionForFrame('<xsl:value-of select="$myId"/>', document);
</xsl:if>
</xsl:attribute>
<xsl:attribute name="style">left:0; width:100%; height:100%; padding:0; <xsl:if test="@dvdVisible"> visibility:hidden;</xsl:if> </xsl:attribute>


Move the BOLD code above to the line below. The updated should be like:

<div id="{$myId}Border" class="HtmlViewer">
<xsl:attribute name="style">
<xsl:call-template name="genFullPosition"/>
<xsl:if test="@dvdVisible"> visibility:hidden;</xsl:if>
</xsl:attribute>
<iframe id="{$myId}" name="{$myId}" src="{$myUrl}" type="viewer" title="{@accessibledescription}" class="HtmlViewerFrame">
<xsl:attribute name="onload">
replaceTarget4HtmlViewerLink('<xsl:value-of select="$myId"/>', document);
<xsl:if test="$rtl='true'">
setRTLDirectionForFrame('<xsl:value-of select="$myId"/>', document);
</xsl:if>
</xsl:attribute>
<xsl:attribute name="style"> left:0; width:100%; height:100%; padding:0;</xsl:attribute>

 

3. Save the htmlviewer.xsl
4. Restart the application server (i.e. Apache Tomcat)

Tags: