Thursday, October 29, 2015

Tools Bug overlays Related Content Menu!

We recently upgraded from 9.1 tools 8.53 to 9.2 tools 8.54 and were the victim of an interesting issue with related content and workcenters.  When you have a workcenter componet that uses the Related Content configuration, the menu was being placed underneath a div that built by the workcenter and Oracle stated that this will not be fixed until tools 8.55.  See illustration below:




So what can you do in the mean time?

After much thought I decided to use Branding Objects to see if I could inject some JavaScript to move the Related Content menu down to the component Pagebar.  To accomplish this I had already implemented Jim Marion's RequireJS using Branding System Options.  Now I all had to do was write the JavaScript to move the menu from underneath the workcenter div to the pagebar and upload it to the system.  Below is my JavaScript:  



require(['jquery'], function ($) {   
$( document ).ready(function() {
var checkExist = setInterval(function() {
   if ($("a[name^='EOTL_SS_HDR_ACTION_RT#NOTIFY']").length) {
    
      clearInterval(checkExist);
      $('<span name="zzSEP2" id="SEP" class="PSTEXT" style="margin-left:8px;margin-right:8px">|</span>').insertAfter($("a[name^='EOTL_SS_HDR_ACTION_RT#NOTIFY']"));
$('#rcMenuOnTC').insertAfter($("span[name^='zzSEP2']"));     
   }
}, 100);
});
});

After testing the JavaScript using firebug, I used the Branding Components in tools 8.54+ to upload my JavaScript for use in the Component branding.  Component Branding can be located using
 Main Menu>>PeopleTools>>Portal>>Branding>>Component Branding, just select the component that you want to inject your JavaScript into and test.