IBM Support

PM50701: PORTAL ADMINISTRATION LEFT NAV CONTEXT MENU POPUPS FAIL

 

APAR status

  • Closed as program error.

Error description

  • This situation only occurs when a customer must disable active
    scripting in IE's INTERNET zone and therefore has to run their
    portal site from IE's TRUSTED zone.  It is due to a known issue
    in IE which has been documented here, among other places:
    
    - http://www.eggheadcafe.com/software/aspnet/34129243/active-scr
    
    ipting-issue--dynamic-code-uses-wrong-security-zone.aspx
    - http://karma.nucleuscms.org/item/101
    
    1. Navigate to: Administration --> Portal User Interface -->
    Manage
    Pages
    
    (or, select any page link within the left navigation in Portal
    Administration)
    2. Once the page has loaded, hover the mouse over the selected
    menu link in the
    left navigation again. A black down-arrow should display as the
    mouse is
    hovered over the left navigation menu item.
    3. Click on the black down-arrow  to bring up the list of
    submenu choices in a
    context menu.
    
    4. The blue rotating icon appears but the context menu never
    displays.
    Opened for release 7001
    

Local fix

  • Make all necessary backups before performing these changes.
    
    1:
    change this file to add the line noted below
    <install_root>/PortalServer/installer/wp
    .ear/installableApps/wps_theme.ear/wps_theme
    .war/themes/html/Portal/js/AsynchronousContextMenu.js
    
    document.body.appendChild(dialogTag);  // add this line
    just above the innerHTML line shown below
    
    //create the iframe this way because onload handlers
    attached when creating dynamically don't seem to fire
    dialogTag.innerHTML='<iframe id="' + menuID + '"
    name="' + ID + '_IFRAME" src="' + url + '"
    onload="buildAndDisplayMenu( this.id, this.name, ' +
    styleString
    + ', ' + showMenu + ' , \''+ onMenuAffordanceShowHandler + '\'
    ); return false;" style="height: 1px; width: 1px;"
    ></iframe>';
    
    *  after making this change you need to 'touch' the following
    files in this order to ensure this change is recognized
    <install_root>/PortalServer/installer/wp
    .ear/installableApps/wps_theme.ear/wps_theme
    .war/themes/html/Portal/js.jsp
    <install_root>/PortalServer/installer/wp
    .ear/installableApps/wps_theme.ear/wps_theme
    .war/themes/html/Portal/head.jspf
    <install_root>/PortalServer/installer/wp
    .ear/installableApps/wps_theme.ear/wps_theme
    .war/themes/html/Portal/Default.jsp
    
    2:
    in theme_en.html, for example, which is in the csa2.theme node
    in the Page Builder 2 files accessible through webdav (and any
    custom themes the customer may use which are based on Page
    Builder 2), change this:
    
    <script type="text/javascript">
    dojo.addOnLoad(function(){
    com.ibm.pb.themes.commonInit({
    setWindowTitle:false, // title is set by the head dynamic
    content spot
    useNavigationController: true,
    useRenderingController: true,
    useDNDController: true,
    initLiveTextService: true,
    lazyLoadModeWidgets: true,
    navPrimingContainers: ["selectionPathPrimer","topNavLinks","nav
    TabsRoot"],
    customInit: com.ibm.themes.PageBuilder2.init
    });
    dojo.publish("com.ibm.portal.theme.portlet_ready"); // notifies
    ASA that portlet IDs are ready to be found in the DOM
    });
    </script>
    
    to this:
    
    <script type="text/javascript">
    var resolveDOMContentLoadedIssue = function(){
    com.ibm.pb.themes.commonInit({
    setWindowTitle:false, // title is set by the head dynamic
    content spot
    useNavigationController: true,
    useRenderingController: true,
    useDNDController: true,
    initLiveTextService: true,
    lazyLoadModeWidgets: true,
    navPrimingContainers: ["selectionPathPrimer","topNavLinks","nav
    TabsRoot"],
    customInit: com.ibm.themes.PageBuilder2.init
    });
    dojo.publish("com.ibm.portal.theme.portlet_ready"); //
    notifies ASA that portlet IDs are ready to be found in the DOM
    }
    
    if (dojo.isIE) {
    dojo.connect('onload', resolveDOMContentLoadedIssue);
    } else {
    dojo.addOnLoad(resolveDOMContentLoadedIssue);
    }
    </script>
    
    * after making this change, restart portal in order for this
    change to be recognized
    
    The APAR which will be created for this PMR is for the first
    change.  As for the second change, these changes are already
    planned to be included in a future release of the PageBuilder
    theme.
    

Problem summary

  • This situation only occurs when a customer must disable active
    scripting in IE's INTERNET zone and therefore has to run their
    portal site from IE's TRUSTED zone.  It is due to a known issue
    in IE which has been documented here, among other places:
    
    - http://www.eggheadcafe.com/software/aspnet/34129243/active-scr
    
    ipting-issue--dynamic-code-uses-wrong-security-zone.aspx
    - http://karma.nucleuscms.org/item/101
    
    1. Navigate to: Administration --> Portal User Interface -->
    Manage
    Pages
    
    (or, select any page link within the left navigation in Portal
    Administration)
    2. Once the page has loaded, hover the mouse over the selected
    menu link in the
    left navigation again. A black down-arrow should display as the
    mouse is
    hovered over the left navigation menu item.
    3. Click on the black down-arrow  to bring up the list of
    submenu choices in a
    context menu.
    
    4. The blue rotating icon appears but the context menu never
    displays.
    Opened for release 7001
    

Problem conclusion

  • The solution is to attach any created elements to the DOM before
    attempting to make any innerHTML changes involving that element.
    
    For 6.x customers, the solution has been packaged in superfix03.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM50701

  • Reported component name

    LOTUS WEB CONT

  • Reported component ID

    5724I2900

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-10-24

  • Closed date

    2011-12-14

  • Last modified date

    2011-12-14

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    LOTUS WEB CONT

  • Fixed component ID

    5724I2900

Applicable component levels

  • R700 PSY

       UP

[{"Business Unit":{"code":null,"label":null},"Product":{"code":"SUPPORT","label":"IBM Worldwide Support"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Edition":"","Line of Business":{"code":null,"label":null}}]

Document Information

Modified date:
09 September 2020