PUM Images, Single Sign-On and Unified Navigation: Getting everyone on the same page.

I have been experimenting with PeopleSoft PUM Images for the past few months and I really like that they can provide Vanilla Functionality quickly, getting a brand new PIA environment setup in a few hours.

With PUM Images, there are far less technical challenges to worry about, thus freeing up time and resources to focus on functionality.  I have spent some of this saved time setting up an environment that uses two PUM Images, and successfully connecting them via SSO, and Unified Navigation.

I strongly recommend going through this article: and getting the following working because there are a number of key things you can take advantage of when using a PUM Image:

  • App Designer ~ use data mover, edit peoplecode etc.
  • SQL Developer ~ SYSADM access to run update queries
  • PIA access on your browser ~ VP1 account access 
  • Access to Web Logic Admin Console ~ https://serverURL/console username: system password Passw0rd can allow you to check sessions.

The setup makes for an excellent development environment.  I also found this article useful: 
  • WinSCP for file Edits and Transfers ~ edit configuration.properties files
  • PSAdmin commands ~ reset web server, reset app server, clear app server cache, Tuxedo commands

for more PSADMIN related configuration information.

Other advantages include the ability in Oracle's Virtual Box to Snap Shot your server instances.  It is very easy to make a snapshot, then if you blow up your environment from making a config change, it is very easy to revert back.



Our Goal:

Final Result: IH 8.54 Connecting with FS 8.54 via unified Navigation using two separate PUM Images.

The picture above is what we want to get working.  Using a PeopleSoft IH server to connect to the main menu of a PeopleSoft Financials Server via Unified Navigation.



I have complied a list of steps that when followed in sequential order, gets two PUM images: IH (Image 1) and FSCM (Image 13) working using Single Sign-On and Unified Navigation.  I'd like to use these environments as a "Vanilla Vanilla" environment, to help troubleshoot issues.  This environment isn't perfect, but I have found it very useful to take certain variables (load balancing, environmental differences) out of the equation.


Getting Started


First of all, you will need a pretty new machine to get this going: I am using a Windows 7 PC with 8 gigs of Memory ~ I'd recommend a little more, but this does seem to be sufficient for our purposes.

Please use these settings at your own risk!  This process simplifies security, but is VERY unsecure: be sure not to allow external access to these environments.  Currently I am also having a session persistence issue in these environments (occasionally getting logged out, especially when toggling between the Home and Guest Tabs): if I come up with a fix, I'll update here.  Edit: I found this was related to using non delivered web profile caching settings.  With delivered web profile caching set, I think this was working correctly.


Virtual Box Settings




Download and Install Oracle Virtual Box
Import Appliance OVA Files: (steps found in the articles listed above)
  • IH-910-UPD-001.OVA (Interaction Hub with 8.54.10 on 9.1 R3)
  • FSCM-920-UPD-013.OVA  (Financials with 8.54.11 on 9.2 Image 13)
Check out the PUM Homepage to find these files ~ you'll need download access via Oracle Support

If you are running on 8GB of Memory, I have had some success throttling the memory down to 3072 MB each, and didn't notice any issues on the servers. (this way you leave a little memory for your OS).

Take snapshots of your vms now, so you have base config. (I find this useful so you don't have to re-import them all over again).

Power on IH VM, and follow on-screen defaults with exceptions:
*Make note of your IP address: by default, it should be: 192.168.56.101
Do you want to manually configure hostname? Yes
Set hosthame to ih.ps.com
Set Connect ID Password to peop1e
No to Installing SES (this was for performance reasons)
sign in as root
run the command: vi /etc/hosts
press i to insert
add the following line to the bottom of the file:
192.168.56.102 fs.ps.com fs
press esc
press :wq to save


Power on FS VM, and follow on-screen defaults with exceptions:
*Make note of your IP address: by default, it should be: 192.168.56.102
Do you want to manually configure hostname? Yes
Set hosthame to fs.ps.com
Set Connect ID Password to peop1e
No to installing SES (this was for performance reasons)
sign in as root
run the command: vi /etc/hosts
press i to insert
add the following line to the bottom of the file:
192.168.56.101 ih.ps.com ih
press esc
press :wq to save


in windows update HOSTS file: 

Click Start > All Programs > Accessories.
Right-click Notepad and select Run as administrator.
Click Continue on the Windows needs your permission UAC window.
When Notepad opens, click File > Open.
In the File name field, type C:\Windows\System32\Drivers\etc\hosts.
Click Open.
Make the necessary changes to the file.
Click File > Save to save your changes.

add the lines:
192.168.56.101 ih.ps.com
192.168.56.102 fs.ps.com
and save


on IH and FS run command shutdown -r now

take snapshots of your VMS now, so you have base + admin config

sign into your severs with the VP1 (same password) account using two different web browsers:

via: ih.ps.com:8000 and fs.ps.com:8000





Nodes Setup

On IH

Goto: 
Main Menu > PeopleTools > Integration Broker > Integration Setup > Nodes



Search For ANONYMOUS
Set Default User ID to PAPP_USER and Save
Click the Portal Tab
Confirm Tools Release to 8.54
Confirm Application Release to Portal Solutions 9.1
Confirm Content URI Text to: http://ih.ps.com:8000/psc/ps/
Confirm Portal URI Text to: http://ih.ps.com:8000/psp/ps/

Search for PSFT_PA (IH default Local node)
Set Node Password to VP1
Check segment aware checkbox
Save

Search for EMPL (IH portal host node)
Check segment aware checkbox
Click the Portal Tab
Confirm Tools Release to 8.54
Confirm Application Release to Portal Solutions 9.1
Confirm Content URI Text to: http://ih.ps.com:8000/psc/ps/
Confirm Portal URI Text to: http://ih.ps.com:8000/psp/ps/
Save

Search for PSFT_EP (FS default Local node)
Set Authentication Option to Password
Set Node Password to VP1
Check segment aware checkbox
Click the Portal Tab
Set Tools Release to 8.54
Set Application Release to Financials/SCM 9.20.
set Content URI Text to: http://fs.ps.com:8000/psc/ps/
set Portal URI Text to: http://fs.ps.com:8000/psp/ps/
Save



Search for ERP (FS portal host node)
Check segment aware checkbox
Click the Portal Tab
Set Tools Release to 8.54
Set Application Release to Financials/SCM 9.20.
set Content URI Text to: http://fs.ps.com:8000/psc/ps/
set Portal URI Text to: http://fs.ps.com:8000/psp/ps/
Save


On FS
Goto: 
Main Menu > PeopleTools > Integration Broker > Integration Setup > Nodes

Search For ANONYMOUS
Set Default User ID to VP1 and Save
Click the Portal Tab
Confirm Tools Release to 8.54
Confirm Application Release to Financials/SCM 9.20.
Confirm Content URI Text to: http://fs.ps.com:8000/psc/ps/
Confirm Portal URI Text to: http://fs.ps.com:8000/psp/ps/


Search for PSFT_EP (FS default Local node)
Set Authentication Option to Password
Set Node Password to VP1
Check segment aware checkbox
Click the Portal Tab
Confirm Tools Release to 8.54
Confirm Application Release to Financials/SCM 9.20.
Confirm Content URI Text to: http://fs.ps.com:8000/psc/ps/
Confirm Portal URI Text to: http://fs.ps.com:8000/psp/ps/
Save



Search for ERP (FS portal host node)
Check segment aware checkbox
Click the Portal Tab
Confirm Tools Release to 8.54
Confirm Application Release to Financials/SCM 9.20.
Confirm Content URI Text to: http://fs.ps.com:8000/psc/ps/
Confirm Portal URI Text to: http://fs.ps.com:8000/psp/ps/
Save


Search for PSFT_PA (IH default Local node)
Set Authentication Option to Password
Set Node Password to VP1
Check segment aware checkbox
Click the Portal Tab
Set Tools Release to 8.54
Set Application Release to Portal Solutions 9.1
set Content URI Text to: http://ih.ps.com:8000/psc/ps/
set Portal URI Text to: http://ih.ps.com:8000/psp/ps/
Save

Search for EMPL (IH portal host node)
Check segment aware checkbox
Click the Portal Tab
Set Tools Release to 8.54
Set Application Release to Portal Solutions 9.1
set Content URI Text to: http://ih.ps.com:8000/psc/ps/
set Portal URI Text to: http://ih.ps.com:8000/psp/ps/
Save



Gateway Setup



For IH Navigate to
Main Menu > PeopleTools > Integration Broker > Configuration > Gateways
Hit the search button to load up the LOCAL gateway ID
copy the URL: http://ih.ps.com:8000/PSIGW/PeopleSoftListeningConnector from IH to the same location on FS


for IH navigate to: 
Main Menu > PeopleTools > Integration Broker > Configuration > Gateways
Click the Gateway Setup Properties Link
-Username administrator
-Password password

**Oracle recommends that IH be at the Same Level or Greater tools version over all remote content providers ~ but I did get this working.


-add PeopleSoft Node: PSFT_EP, //fs.ps.com:9000, VP1, VP1, 8.54.11 
-Set Domain Password to PS for default app server and both nodes.
-Ping Node
Click Ok


for FS navigate to: 
Main Menu > PeopleTools > Integration Broker > Configuration > Gateways
Click the Gateway Setup Properties Link
-Username administrator
-Password password
-confirm PeopleSoft Node: PSFT_PA, //ih.ps.com:9000, VP1, VP1, 8.54.10 exists already (it should be the same since we are using 1 gateway)
-Ping Node
Click Ok


SSO Setup



On IH:
Navigate to: Main Menu> PeopleTools>Security>Security Objects>Single Signon
Add node PSFT_EP 
Save

On FS:
Navigate to: Main Menu> PeopleTools>Security>Security Objects>Single Signon
Add node PSFT_PA 
Save



Run Domain



On IH:
Navigate to: PSFT_EP: Main Menu>PeopleTools> Integration Broker> Integration Network WorkCenter
Click Configuration Status on Left
Click Domain Active
For ih.ps.com set Domain Status to Active
Press Update
Press Refresh
Press Update again all 3 status strings should be active




On FS:
Navigate to: PSFT_EP: Main Menu>PeopleTools> Integration Broker> Integration Network WorkCenter
Click Configuration Status on Left
Click Domain Active
For fs.ps.com set Domain Status to Active
Press Update
Press Refresh
Press Update again 2 status strings should be active



Auth  Token Settings:


For both IH and FS

From the virtual box unix console:
Sign in as root

run the following commands:

su psadm2      [set user command]
psadmin        [run the psadmin utility]
4              [navigate to the Web Server utility]
1              [administer a domain]
1              [peoplesoft domain]
4              [configure this domain]
6              [configure Auth Token]
.ps.com        [type .ps.com then press enter]
s              [save]

quit out, and 'exit 'psadm2


Reboot Server (as root: shutdown -r now)
Clear everything on your browser: Ctrl+Shift+Delete


Implement Single Sign-Off

Using WinSCP, connect to: 192.168.56.101 as root and browse to directory:
Browse to:

/home/psadm2/psft/pt/8.54/webserv/peoplesoft/applications/peoplesoft/PORTAL.war/WEB-INF/psftdocs/ps

Locate the signin.html file
Right-click and edit it

under:

<body onload="ptSignon().login();">

add the two images:

<img style="display:none;" src="http://ih.ps.com:8000/psp/ps/EMPLOYEE/EMPL/?cmd=logout"/>
<img style="display:none;" src="http://fs.ps.com:8000/psp/ps/EMPLOYEE/ERP/?cmd=logout"/>

Save the file, and reboot your web server (similar instructions to the Auth Token Settings above, except shutdown and boot the web server).

Testing

are nodes Pingable:

Via IH
Goto
Main Menu > PeopleTools > Integration Broker > Integration Setup > Nodes
Search for: PSFT_PA
Click the Connectors Tab
Click Ping Node... Success?
Search for: PSFT_EP
Click the Connectors Tab
Click Ping Node... Success?


Via FS
Goto
Main Menu > PeopleTools > Integration Broker > Integration Setup > Nodes
Search for: PSFT_PA
Click the Connectors Tab
Click Ping Node... Success?
Search for: PSFT_EP
Click the Connectors Tab
Click Ping Node... Success?


Unified Nav



Add Remote Content for Unified Nav (the link in the work center appears to be broken):
Browse to Main Menu > People Tools > Portal > Structure and Content
Click Add Folder
Name: CUST_FINANCE
Label: Finance
Valid From Date (choose yesterday)



Name: FOLDERID
Attribute Value:PSFT_EP:PORTAL_ROOT_OBJECT
Translate: UNchecked
Name: LOCATION
Attribute Value:REMOTE
Translate: UNchecked
Name: NODE
Attribute Value:PSFT_EP
Translate: UNchecked
Name: PORTAL
Attribute Value:EMPLOYEE
Translate: UNchecked

Save.

Unified Nav Fix:


From: https://support.oracle.com/epmos/faces/DocumentDisplay?id=1957232.1 

Still don't seem to see the Main Menu > Finance Folder at this point in my PUM image.  Running this fix in APP Designer seems to get stuff working.


1. Login into the IH App-Designer and open the App Package: PT_NAV2 
2. Open the class, PT_NAV2.NavHover 
3. Go to the method "getFolderContents" and find the below code and add 
"&Disable = "TRUE";" code and it should become like this: 
  
         &Disable = "TRUE"; 
         rem Remote Folder/Cref Security Validation; 
         If (&Location = "REMOTE" And 
               &Disable <> "TRUE") Then 
            If (&CrefId <> "" Or 
                  &FolderId <> "") Then 
               %This.CheckUnFldrAccess(&CrefId, &FolderId, &RemoteNode); 
               &CrefId = %This.crefSecList; 
               &FolderId = %This.fldrSecList; 
            End-If; 
         End-If; 
4. Go to the method "getUniNavBreadcrumbPathHTML" and find the below code and 
add "&Disable = "TRUE";" code and it should become like this: 

  &Disable = "TRUE"; 

         If (&Location = "REMOTE" And 
               &Disable <> "TRUE") Then 
            If (&CrefId <> "" Or 
                  &FolderId <> "") Then 
               %This.CheckUnFldrAccess(&CrefId, &FolderId, &RemoteNode); 
               &CrefId = %This.crefSecList; 
               &FolderId = %This.fldrSecList; 
            End-If; 
         End-If; 


The Main Menu -> Finance Folder should now be available.

Going forward, I hope others (perhaps even oracle support) can begin to configure environments such as the ones illustrated above, as together we can help each other isolate problems and work together for solutions.

Troubleshooting

Snapshots  & Server Time Issue: 

After reverting to a "hot snapshot" SSO stops working:

As mentioned before, taking snapshots is a great way of ensuring you have a back up of the whole system before making any big changes.   One thing to note though, is to keep an eye on the server time.  I did a restore of a snapshot from a few weeks ago, and it me weaked havoc on a Token Expire cookie: unified nav and sso stopped working. Ensure the server times on your systems are current (you can run the $ date command as root).  If you notice the time is way off, you can do a cold boot of the VM, by powering it off and on and ensure the correct date is set.




Our upgrade from PeopleSoft 8.53 to 8.54


Since this article: we have upgraded to tools 8.55, Image 2. Check out the updated Tools 8.55 post.

We upgraded from 8.53.06 Peoplesoft Financials and Interaction Hub to 8.53.10 a couple weeks ago, and I'd like to share some of the additional changes we had to make to ensure both systems continued to work as they did before.  Our main business requirement was for the change for the new 8.54 tools environment to be identical to how it functioned on 8.53, as a number of our other environments (Campus Solutions and HRMS are still on 8.53).  We plan on taking advantage of the fluid design concepts at a later date.  Update March 2017: We have since fully embraced a fluid design: see the document here.

The most important thing to note between 8.53 and 8.54 functionally is that 8.54 introduces a new Fluid Home page which is intended to be run by mobile devices.  It is now very important to test 8.54 using different devices, in addition to different browsers.

Security

As we have in the past, the delivered security roles: PeopleSoft User, PAPP_USER and EOPP_USER are the roles that oracle recommends are needed to get you into the system.  There are a number of iScripts in 8.54 that will need to be added to any basic access permission list you have custom created..

Access to the NUI_FRAMEWORK.PT_LANDINGPAGE menu.component is also required by default in 8.54.


Testing

We tested our 8.54 implementation with the following devices:

PC Tablet Mobile
Win7 - Firefox iOS8 - Safari iOS8 - Safari
Win7 - Chrome iOS9 - Safari iOS9 - Safari
Win7 - IE Android L - Chrome


And noted unexpected results in the Tablet and Mobile tests.  


Using an iPhone 6 or an iPad to sign into an 8.54 environment by default revealed the empty blue screen shown below: 




Within the Web Profile, there is a 'catch all' method to disable this screen:

  • Main Menu - PeopleTools - Web Profile - Web Profile Configuration
  • Search for the Web Profile you are using, and uncheck the: Disable Fluid Mode checkbox.  You will need to reset your web server for this to take effect.
I found this approach a little too broad, as we would like eventually configure and release this screen to our mobile devices when we are ready.  To more surgically disable it, there are a few other options for both mobile and tablet (without any outages):

To disable the fluid home on a Mobile Device:

  • Main Menu - PeopleTools - Portal - Structure and Content
  • Root > Fluid Structure Content > Fluid Homepages
  • Click Edit on My Home Page
  • Click the Tile Content Tab, and disable all the options.

Additionally, if you are using a custom sign-in page (either a pagelet on the home page, or one hosted elsewhere), you can also 'deep link' your regular home page to ensure the fluid one isn't rendering either.  For example:

<form action = "yourserver/psp/ps/EMPLOYEE/NODE/h?tab=CUST_HOME&cmd=login">

When you sign back into the system with your mobile device, you shouldn't see the empty fluid screen.

To disable the fluid home on a Tablet:


You can default your homepage on a tablet via the following settings:
  • Main Menu - PeopleTools - Personalization - Personalization Options
  • Search for Option Category Level: PeopleTools
  • Click 'View All' and Click the Format Tab 
  • Search for HPTABLET
  • Click set Option Default Value
  • Change the Option Default Value to 'Classic'
  • Save

Signing back in with a Tablet (iPad) should render your view back to classic.


Changing these settings back can easily be done, once you are ready to display the Fluid HomePage in PeopleSoft again.

8.54 and Unified Navigation


Our PeopleSoft Interaction Hub had some issues with Unified Navigation after we upgraded to ptools 8.5.4.10 
  1. Folders to other remote content providers (for example HCM 8.5.3.6) would not appear
  2. The 'Fanning' of the Main Menu on FSCM 8.5.4.10 would take you out of IH.  For example, you click Main Menu - Finance (the yellow folder icon to 'fan the menu').  Any subsequent links in the fanning list would log you out.

For the first issue, there was a workaround involving modifying the PT_NAV2 application package available from Oracle: see https://support.oracle.com/epmos/faces/DocumentDisplay?id=1957232.1  
The suggestion would be to ensure all your enviroments are at the same tools level: once this is the case, the workaround can be removed.

For the second issue there the suggestion was to upgrade to 8.54.12 ~ we were able to get a hotfix for this bug on our 8.54.10 environment.


Other technical things to watch out for:


signin.html is completely new in 8.54: it looks very blue ~ we customized it to change the look / feel to be more suitable for our organization.  Other pages to consider customizing: expire.html and exception.html as well: this will help keep the system looking consistent.  All these can be found in around:

$PS_CFG_HOME/webserv/$ORACLE_SID/applications/peoplesoft/PORTAL.war/WEB-INF/psftdocs/$ORACLE_SID 

weblogic.xml are also files that could change during an update: ensure the cookie names are correct to the domain, else you could face some instability in browser sessions.


Pagelet Wizard Examples


The PeopleSoft Interaction Hub uses Paglets (also called Portlets in other systems and Grouplets in 8.54) to display a number of types of content within Tabs.

Pagelets use multiple Data Sources to display different types of content.  In this article, we will focus mostly on the Free Text Data Type to provide different examples of what can be done with various HTML elements.  Another data type we will examine will be type URL, which can read html pages (for example XML data) and display data in a particular format: (for example RSS).

Getting started ~ Create an RSS Pagelet in PeopleSoft: 

You will need the following role: "Portal Administrator" assigned to your account to complete these steps.

If you haven't used the pagelet wizard, it can be found within:

  • Main Menu -> PeopleTools -> Portal -> Pagelet Wizard -> Pagelet Wizard.  
  • You will need to "Add a New Value" Pagelet ID here: ensure to fix a customized prefix to the title: IE CUST_ to ensure you don't have conflicts with existing functionality or subsequent updates.
On Peopletools 8.53.10 there are a few small quirks to start a Free Text Pagelet:

  • The Pagelet title is required, and you must click another box to get the next button enabled
  • Click next and  set the Data Type as: URL ~ this can be used with an RSS Feed.

Setting the Data Source

  • paste an RSS Feed URL in the URL Data Source
  • Click next and leave data source parameters as default
  • Click next and Specify Display Options as Custom
  • Click next and For the XSL template select RSS


I used the following XSL template (paste into XSL Box):


<?xml version="1.0"?>
<!-- 
 Description:  XSLT supplied with the Pagelet Wizard.
 Transforms a RSS 0.91 document to a pagelet, as a bulletted list,
 with image and textinput if available.

 Copyright: (c) PeopleSoft Inc. 2002.
 Product: Enterprise Portal Solutions. Rel 8.8
-->

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <xsl:apply-templates select="/rss/channel"/>
  </xsl:template>

  <!-- 
  Begining of RSS channel section
  Displayes the base table structure, as well as calling the various
  secitons for image, item, and textinput.
  --> 
  <xsl:template match="/rss/channel">
    <table border="0" width="100%" cellspacing="0" cellpadding="2">
      <tr>
        <td>
          <font class="PABOLDBLUETEXT">
            <a href="{link}" title="{description}" target="_blank">
              <xsl:value-of select="title"/>
            </a>
          </font>
        </td>
        <td align="right">
          <font class="PABOLDBLUETEXT">
            <xsl:value-of select="pubDate"/>
          </font>
        </td>
      </tr>
      <xsl:apply-templates select="image"/>
      <tr>
        <td colspen="2">
          <ul>
            <xsl:apply-templates select="item[position() &lt;= 3]"/>
          </ul>
        </td>
      </tr>
    </table>
    <xsl:apply-templates select="textinput"/>
  </xsl:template>

  <!-- 
  Begining of Image Section.
   This section is called by the channel section to dispaly the RSS image 
   if present.
  -->
  <xsl:template match="/rss/channel/image">
    <tr>
      <td colspen="2">
        <a href="{link}">
          <img src="{url}">
            <xsl:if test="title">
              <xsl:attribute name="alt"><xsl:value-of select="title"/></xsl:attribute>
            </xsl:if>
            <xsl:if test="width">
              <xsl:attribute name="width"><xsl:value-of select="width"/></xsl:attribute>
            </xsl:if>
            <xsl:if test="height">
              <xsl:attribute name="height"><xsl:value-of select="height"/></xsl:attribute>
            </xsl:if>
          </img>
        </a>
        <br/>
      </td>
    </tr>
  </xsl:template>

  <!-- 
  Begining of Item Section.
   This section is called by the channel section.  Each item present in the RSS feed
    is processed and displayed in turn. 
  -->
  <xsl:template match="/rss/channel/item">
    <li>
      <a href="{link}" class="PSHYPERLINK" title="{description}" target="_blank">
        <xsl:value-of select="title"/>
      </a>
      <div class="portlet-font">
        <xsl:value-of select="description" disable-output-escaping="yes"/>
      </div>
    </li>
  </xsl:template>

  <!-- 
  Begining of textinput Section.
   This section is called by the channel section.  If a textinput is present, it will
   be displayed.
  -->
  <xsl:template match="/rss/channel/textinput">
    <form action="{link}">
      <xsl:value-of select="description"/>
      <br/>
      <input type="text" name="name"/>
      <br/>
      <input type="submit" value="title"/>
      <br/>
    </form>
  </xsl:template>
</xsl:stylesheet>

If you see the red markup &lt; =3, you can adjust this to the number of articles you prefer to display.


  • The Pagelet Preview window should correctly display your RSS feed.

  • Click Next and Check the box for a Home Page pagelet.  
  • Select a logical folder you would like to place this Pagelet in.
  • You also have an opportunity to set security here.  Please check out my Security Architecture section for information on how to copy Roles from another Peoplesoft server ~ this would be useful if say you only want to display this RSS feed to a particular type of user.
  • Click Save or Finish -either button should do the trick.
  • To have your new Pagelet display on a tab (IE the home tab) you'll need to add it within structure and content.
  • Navigate to: Main Menu -> PeopleTools -> Portal -> Structure and Content 
  • Navigate to folder: Portal Objects > Homepage > Tabs
  • You should see a list of Tabs, which are also content references. I have more information about tabs in the portal registry here.
  • Click the Edit button of one of the tabs that already appears on your home screen ~ the default "home" tab is always the one with the lowest sequence number you have access to.
  • You should be able to find your new pagelet in Tab Content. (under the folder you placed it under in the last step of the pagelet wizard)
  • You will need to set the following options:

  • Check the box beside the title (Custom RSS Pagelet) and select the drop down.
    • Opt-Dflt: Show the pagelet by default. Allow users to choose to add/remove and move it via the Layout link on their home page.
    • Optional: Do not show the pagelet by default. Allow users to choose to add/remove and move it via the Layout link on their home page.
    • Req-Fix: Show the pagelet by default.  Do not allow users to choose to add/remove it via Layout link on the home page: they can move it around.
    • Required: Show the pagelet by default.  Do not allow users to choose to add/remove nor move it on the Layout link on the home page.
  • Select the option that makes the most sense for you to use.
  • Select Tab Layout and move the pagelet we you would like to default it to. (If you choose Req-Fix the system will ensure it stays among the top left of other required-fixed pagelets).
  • Save



Free Text Data Source Examples:

The process above, give or take is similar for other pagelets.  When you arrive at the data source and select "Free Text", here are some options to post in the Free Text box:

Iframe:
Essentially cuts a hole in your portal to allow other content to be exposed.  It would be very effective to implement SAML authentication, thus allowing you to link to other sites already authenticated. That is in our future todo list of projects.

<iframe scrolling="auto" frameborder="0" width="100%" height="1600" src="https://mcmaster.ca/mosaic/student-guide/student5.html">No iframe support</iframe>

*it is important to use HTTPS to prevent security errors in browsers (referencing unsecured content on a secured session)

Youtube Video:
There are some tricks to having a youtube video appear properly: wrapping the div tag around it will force the video to change size with the window size.

<div style="position: relative; padding-bottom: 56.25%; padding-top: 25px; height: 0;" >
    <iframe frameborder="0" allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" src="https://www.youtube.com/embed/0l--Xxxxxx0?rel=0&amp;version=3&amp;autohide=1&amp;showinfo=0&amp">no iframe support</iframe>
</div>

Fluid Image:
You can have a banner pagelet (in step 6 of the Pagelet Wizard, under advanced options you can set a pagelet as a banner one, and it will span across the entire 3 columns.)
You can also have it adjust fluidly to the size of your window as follows:

<img src ="/psc/drepuat/EMPLOYEE/EMPL/s/WEBLIB_PTBR.ISCRIPT1.FieldFormula.IScript_GET_IMAGE?ID=CUST_BANNER"  
style='width: 100%;border-bottom-left-radius: 4px; border-bottom-right-radius: 4px;'/>

This uses an iscript to return the image you need.  The image is stored in the database (you can upload images via: Main Menu -> PeopleTools -> Portal -> Branding -> Branding Objects.  Select the imge tab, and upload a JPEG or GIF image. Once saved, you can reference it using the iscript, and it will appear as a pagelet.

I hope you found this article useful: sound off in the comments if you have any feedback. Happy Pageleting!

Useful Queries for PeopleSoft IH


I have gathered and written a number of queries for the PeopleSoft Interaction Hub.  They help with aspects such as troubleshooting and getting additional information to help with system administration.

These queries require that you have at least read access to your IH Database via SQL Developer.  As I come across more useful queries, I'll keep this page up to date.

Usage: look for the parameter 'CUST', short for CUSTOM ~ this usually refers to a custom role in these series of queries, and can be changed to customize the query to your needs.




Get a list of a users Favorites: (peopletools uses: PSPRUFDEFN, however IH has much more comprehensive favorites (able to save favorites from different content providers).
=============================
select * from SYSADM.PS_EPPSC_MYSHRTCTS where OPRID like 'AAA';


Find out difference of roles between user AAA and user BBB:
=============================
SELECT ROLENAME FROM PSROLEUSER WHERE roleuser = 'AAA'
MINUS
SELECT ROLENAME FROM PSROLEUSER WHERE roleuser = 'BBB';


Get a count of a all users with two specific roles:
=============================
select count(*) from
(select Roleuser from sysadm.PSROLEUSER where rolename= 'CUST_AAA'
intersect
select Roleuser from sysadm.PSROLEUSER where rolename= 'CUST_BBB');


Find out users that have one role but not another.
===================================================
SELECT ROLEUSER FROM PSROLEUSER WHERE ROLENAME = 'CUST_AAA'
MINUS
SELECT ROLEUSER FROM PSROLEUSER WHERE ROLENAME = 'CUST_BBB';


Create DMS to insert records into PSROLEUSER based on Delta of 2 Roles
============================================
SELECT  DISTINCT 'INSERT INTO PSROLEUSER VALUES (' || '''' || ROLEUSER || ''''|| ',' ||''''|| 'CUST_CCC' ||''''||',' || ''''||'N'||''''||');' FROM PSROLEUSER
WHERE ROLEUSER IN (SELECT ROLEUSER FROM PSROLEUSER WHERE ROLENAME = 'CUST_DDD'
MINUS
SELECT ROLEUSER FROM PSROLEUSER WHERE ROLENAME = 'CUST_EEE');


Create DMS to delete a role based on a class definition
==============================================
select 'delete from psroleclass where rolename = '||''''||rolename||''''||' and classid = '||''''||classid||''''||';' from psroleclass a where not exists (select 'X' from psclassdefn b where a.classid = b.classid);


Find out how many users have accessed portal as signed in as CUST_ROLEX
====================================================================
select count(*) from sysadm.PSOPRDEFN a join sysadm.PSROLEUSER_VW ba on a.oprid = ba.oprid where a.lastsignondttm is not null and ba.rolename = 'CUST_ROLEX';


Failed Logins:
===============
select * from sysadm.PSOPRDEFN a join sysadm.PSROLEUSER_VW ba on a.oprid = ba.oprid where a.failedlogins > 0 and ba.rolename = 'CUST_ROLEX';

Structure and content view what has what:
==========================================
SELECT a.PORTAL_REFTYPE, a.portal_label, a.portal_cntprv_nam, a.portal_cref_usgt, a.portal_expire_dt, a.portal_ispublic, a.portal_linkobjname, a.portal_link_portal,  a.descr254,  a.portal_objname, a.portal_prntobjname, a.portal_seq_num, a.lastupddttm, a.portal_ispublic
FROM sysadm.PSPRSMDEFN a JOIN sysadm.PSPRSMPERM b ON  a.PORTAL_OBJNAME = b.portal_objname where b.portal_permname like 'CUST_ROLE%' and a.portal_name = 'EMPLOYEE' order by a.portal_objname;


Find a oprid based on emplid
============================
select OPRID from SYSADM.PSOPRDEFN where EMPLID = '0000000000';


List all custom roles in the system, specify how many References they have, and if the role is dynamic
=============================
select x.PORTAL_PERMNAME, x.counted, y.DYNAMIC_SW from
(SELECT b.portal_permname, count(b.portal_permname) as counted
FROM sysadm.PSPRSMDEFN a JOIN sysadm.PSPRSMPERM b ON  a.PORTAL_OBJNAME = b.portal_objname
where b.portal_permname like 'CUST%' and a.portal_name = 'EMPLOYEE' and b.PORTAL_PERMTYPE = 'R'
group by b.portal_permname
) x LEFT OUTER JOIN
(select  distinct ROLENAME, DYNAMIC_SW from sysadm.PSROLEUSER where DYNAMIC_SW = 'Y') y on
x.PORTAL_PERMNAME = y.ROLENAME
order by x.COUNTED desc;


Find out who is tagging information (peoplesoft IH news)
===================================
select a.EPPTG_PRIV_FLAG, a.OPRID, a.EPPTG_TAG_NAME, EPPTG_ADDTIME, b.EPPTG_ID from sysadm.PS_EPPTG_TAG_DATA a join sysadm.PS_EPPTG_TAG_KEYS b on a.EPPTG_UUID = b.epptg_uuid order by EPPTG_ADDTIME desc;


Summarize Role Counts by beginning with a CUST name
===================================
select rolename, count(rolename) as counted from sysadm.PSROLEUSER where rolename like 'CUST%' group by rolename order by Rolename;


Summarize IB URI Text (Between IH/EP/HR/LS/PF to see if there is an out of place URL)
===================================
select * from PSNODEURITEXT where
MSGNODENAME = 'EMPL' or
msgnodename = 'PSFT_PA' or
msgnodename = 'ERP' or
msgnodename = 'PSFT_EP' or
msgnodename = 'HRMS' or
msgnodename = 'PSFT_HR' or
msgnodename = 'HRMS_LS' or
msgnodename = 'PSFT_LS' or
msgnodename = 'MCM_PSFT_BO' or
msgnodename = 'EPM' or
msgnodename = 'PSFT_PF';

Web Profile Features


The web profile is a set of configuration each web server in your PeopleSoft environment uses when loading.  There are a number of configurations that can be done in the Web Profile, but for the purposes of IH we will be taking a closer look at

Anonymous Guest access
Caching Settings

 We will explore how we made use and configured these options in our 8.53 environment.  The two requirements that drove the need to modify the web profile where showing public content on IH, and Caching Settings for System Consistency.






Guest Access

It's important to note that you can have multiple web profiles associated with an IH database.  Its the web server that uses it, so if you have multiple web servers, each can have a different web profile loaded.

One push for Guest Access, was our HR recruitment module.  You need to be authenticated into Peoplesoft to view the job postings, but you would have no affiliation with the system.  Via web profiles, it is possible to have you authenticated as a guest then display components within PeopleSoft.

We used IH and a separate Web Server to do this, thus limiting the impact on the HCM system.  You will need to ask your security team to design a GUEST account with the lowest possible level of permissions.  If they have IB and Dynamic User Profile security (see Security Architecture ), they would just need to create this account in HCM, and it would broadcast to IH.   The GUEST account would need to exist in both places.

Once the account has been created, try signing into it, and ensure it is working correctly.  Ensure via IH you can browse the HR Recruitment component.  Check Understanding the Portal Registry for help creating content references to remote content providers.

The final step would be to configure the web profile via IH:

  • Main Menu - PeopleTools - Web Profile
  • (if you are unsure which web server is using which web profile, you can check Web Profile History, and browse through them)
  • Click Web Profile Configuration, and select the one being used.
  • Click the Security Tab
  • Check Allow Public Access, and set the User ID and Password Created and tested above.
You should be able to visit the Recruitment URL in IH without signing in.

There was one caveat to implementing this: if you are only are using one web profile, you might run into Workflow issues: whereby when a user clicks a worklist embedded in an email. the system might try to sign them into the system with the GUEST ID you created.  They would get an error, as the GUEST ID doesn't have permission to the worklist item.  When we experienced this issue, PeopleSoft didn't have a very good solution to this: our workaround was to keep the PROD web profile for authenticated access, and to create separate web profiles and Web Servers for each public access requirement: this way we could keep deep linking workflow (without having to modify any URLs / people code) and have public access.


Caching Settings
On our particular Ptools installation: 8.53.06, we noticed there were some inconsistencies with with paglets loading properly.  Sometimes they would just spin, without loading any content.  Sometimes if you logged in as one user, then logged in as another, the browser would still load the previous user's view.

I found the best way to ensure they loaded correctly in IH was to disable most caching in the Web Profile:


  • Via Main Menu - Web Profile - Web Profile Configuration
  • Load up your current web profile
  • Click the Caching Tab
  • We configured the attributes as follows:


  • Changes to these settings require a web server reboot. 
A main concern about this change would be an impact to performance.  Having these set this way didn't have an impact on performance in our environment.  The biggest hamper on performance, is having a lot of paglets load on your home screen.  We found the benefit of having the system consistently load outweighing any minimal performance gains of caching these settings.


Layout and Branding


This article describes Classic branding: check out the Fluid Branding Section in this updated Tools 8.55 post.

Understanding the capabilities and limitations of the PeopleSoft Interaction hub is important when considering how to design the layout of your system.  In previous posts, we have looked at some samples of how we have built our portal to suit our needs and took a deep dive into security configuration.

In this next post, I'd like to discuss PeopleSoft Interaction Hub Branding.  This topic is actually quite encompassing as it will tie together many aspects such as HTML Templates, CSS, Role Based Security, Anonymous Access and adding Images to PeopleSoft.  At the end of this post, I'd like to provide some configuration examples we used to enable branding for two different roles: a Guest Role, and an Authenticated User Role.  For additional reading, this document from Oracle was also useful: Configuring a Contemporary User Experience


What we got working

A side by side comparison of two branding Branding Themes we have implemented


From this example (which is very small, recommend opening it in a new window), we can see the following differences:

Left: Guest AccessRight: Authenticated Access
Removed Main MenuTop Bar: Main Menu: CSS Change White on Red
Larger LogoSmaller Logo
Removed Header BackgroundHeader Background: Welcome Link | Home | Signout Link added 
Footer: CSS Change White on RedSame Footer Used
Invisible: cookie information to set load balancing for NetscalersInvisible: Javascript information to load Google Analytics Tracking


HTML Layout
HTML Layouts in the PeopleSoft Interaction Hub, are the one spot where a Portal Admin has the most control of look and feel of the system.  In PeopleSoft IH 9.2 R2, editing the layout has a little trick to it:

First you will need to see which layout your are currently using

  • via: Main Menu > Portal Administration > Branding > Assign Themes
  • Click Details of the default theme
  • Click Details of the Homepage Header (note for steps below)
  • Click Details of the HTML Layout ID (note for steps below)
  • Click the Search Glass beside HTML Object Name
  • Click the Edit Button

It is important to learn how you would go about adding code in here: if for example you wanted to add google analytics tracking to a web page, you would paste it into the head.  We have more options via this interface:



  1. Go to Main Menu->Portal Administration->Branding->Define Elements->Enable HTML Layouts
  2. Search and select the HTML Layout ID (should be noted in step above)
  3. Select row 51Custom HTML %51
  4. Click the magnify glass beside HTML Object Name, Click the Edit button, and add the following code between and at the bottom of the first <script tags>
    • %bind(:51)
  5. Click okay, this should save your change.
  6. Save the layout.
  7. Go to Main Menu->Portal Administration->Branding->Define Headers
  8. Search and select Home Page Header ID (should be noted in step above)
  9. Add a new effective dated row
  10. Go to the HTML area tab. 
  11. Enable Custom HTML %51, specify HTML source as external, click HTML area and paste the tracking code. [Go to www.google.com/analytics .  Sign in using a Google Analytics account. Go to the Admin  tab. Click the drop down arrow under Property to create a new property. Specify the web site name, the URL, the Industry Category and the Reporting Time Zone. Click Get Tracking ID. Copy the tracking code that is generated and paste]
  12. Save

There are a couple benefits of doing this:

  • You can use a specific template for multiple header IDs 
  • Header IDs are effectively dated, thus changes you make can easily be reverted back, the layout isn't and you should be careful when making changes.  Just clicking the OK button will save the layout when you are editing it.


CSS

CSS is another broad way the Peoplesoft Interaction Hub can be modified. Referring to our examples above, you can see that we updated the header/footer/menu fonts to be white, and made some small changes to the Pagelets to make them more modern.  (see Jim's PeopleSoft Journal for more tips on how to do this.)

We are still using application designer to modify our CSS, but I believe in IH 9.1 R3 there is a way to get around this without App Designer.

Below are instructions on how we modified the CSS on a new branding theme for the Tangerine Style Sheet.

In App Designer, Goto File-> New -> Stylesheet
  • Select "Free Form Sub Style Sheet". Click OK.
Input the following CSS:


.PSHEADERHYPERLINKWHITE{

color: #E8E8EE;

text-decoration: none;

}



.PSHEADERHYPERLINKWHITE:hover{
color:white;
}

.PTPAGELETHEADER{
background-color:#EEE !important;
color:#990033 !important;
}

.EPPBRFTRTOP{
background-color:#C0C0C0;
}
.EPPBRFTRTEXT{
color:#E8E8EE;
background-color:#990033;
}

.pthnavbaropen{
background-color: #5C5B5B !important;
}

.eppbr_top_bar{
background-image: url('%Image(MCM_TOP_MENU)');
}

.eppbr_header_bg {
border-bottom: none !important;
}

.pthnav a, .pthnav span, #pthnavbc a, #pthnavbc span{
color:#BABABE;
}

#pthnavbc a{
color:#E8E8EE !important;
}

a.pthnavbcanchor:hover, #pthnavbc li.pthnavbarfldr a:hover, #pthnavbc li.pthnavbarcref a:hover, a.pthnavbcanchor:active, a.pthnavbcanchor:focus, #pthnavbc li.pthnavbarfldr a:focus, #pthnavbc li.pthnavbarcref a:focus {
color:#E8E8EE !important;
}

#pthnavcontainer {
background-image: url('%Image(MCM_TOP_MENU)') !important;
}
#pthnavbca_MYFAVORITES{
color:#E8E8EE;
}
#ptpgltbody_row_ADMN_RSS_READER_HMPG{
padding:5px;
}
#pthnavbca_PORTAL_ROOT_OBJECT{
color:#E8E8EE;
}
#ptpglts .ptpagelet .ptpageletheader {
  border-radius: 0 0 0 0;
}
.pspage #selsrchgrp {
  border-radius: 4px 0 0 4px;
}
#ptpglts .ptpagelet .ptpageletheader {
  border-radius: 0 10px 0 0;
}


  • note '%Image(MCM_TOP_MENU)' can be uploaded via Main Menu > PeopleTools > 
     Portal > Branding > Branding Options - Image Tab
  • Click Save.  Call the sheet: 'CUST_FREE_FORM_CSS'
Goto File-> New -> StyleSheet.
  • Select "Standard Style Sheet". Click OK.
  • Right Click the Parent Icon 
  • Click Style Sheet Properties
  • Set Parent Style Sheet to EPPBR_TANGERINESTYLEDEF
  • Enter a description of the sheet. Click OK.
Goto Insert->Sub Style Sheet
  • Select 'CUST_FREE_FORM_CSS' ~ this should import the Free Form Sheet, into the Main Sheet that links with EPPBR_TANGERINESTYLEDEF.
  • Click Save. Call the sheet: 'CUST_CSS_FRESH'. Save all elements to a Project:
Goto File -> New -> Project
  • For each item CUST_BR_HEAD, CUST_BR_LOGO and CUST_CSS_FRESH press F7 to put them in a project.  
Goto File -> Project Properties and add the Description:  Branding Definitions
Goto File -> Save Project, CUST_STYLE_SHEET


You should be able to see the stylesheet via: Main Menu > Portal Administration > Assemble Themes.



Branding Profiles & Security

The ability to assign different users different branding themes is also beneficial, especially for guest access: It is very unlikely a guest would need something like the Main Menu.

PeopleSoft offers a good flow when going through the steps to implement branding.  The Main Menu is organized via Main Menu > Portal Administration > Branding:


  1. Define Elements ~ IE HTML Layouts (see google analytics example above)
  2. Define Headers 
  3. Define Footers
  4. Assemble Themes ~ Put Header / Footer / CSS (see above example) together
  5. Assign Themes ~ Assign a theme to a specific role, such as a guest.


Below is a sample configuration to set a new custom theme for a different user type.

Goto:  Portal Administration - Branding - Define Elements - Enable HTML Layouts
Add New Value: CUST_HEADER_LAYOUT_GUEST
    • Layout type: Header
    • Description: Header Layout
      • Description: Custom Header Layout
    • Click Add New HTML
    • Add the following:

<html dir="%Direction" lang="%LanguageISO"> 
<head> 
%bind(:21) 
<title></title> 
<!-- title is generated by Tools--> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<!--system generated HTML %bind22, %bind23,  %bind24,  %bind25, %bind26, %bind27--> 
<script type="text/javascript" src="%bind(:22)"></script> 
<script type="text/javascript" src="%bind(:23)"></script> 
%bind(:24) 
%bind(:25) 
%bind(:26) 
%bind(:27) 
<!--%bind16, %bind17--> 
<link rel="stylesheet" href="%bind(:16)" type="text/css"> 
<link rel="stylesheet" href="%bind(:17)" type="text/css"> 
%bind(:64) 
<style type="text/css"> 
.eppbr_header_bg { 
background-image: url('%bind(:41)'); 
background-repeat: repeat-x; 
border-bottom: 1px solid #C9CED5; 
z-index:-1; 

.eppbr_pers_bg { 
background-image: url('%bind(:42)'); 
background-repeat: repeat-x; 
z-index:-1; 

.eppbr_header_bg td.pthdr2sep { 
width:0px; 
font-size:1px; 


#EPPBR_PTHDRSRCH_CONTAINER #pthdrSrchIcon {margin-top:0px;} 
*html #EPPBR_PTHDRSRCH_CONTAINER #pthdrSrchIcon {margin-top:2px;} 
#EPPBR_PTHDRSRCH_CONTAINER #pthdr2srchpromptdiv_GBL {margin-top:-2px;} 
#EPPBR_PTHDRSRCH_CONTAINER #pthdr2tdadvsrch{margin-left:2px;} 
*html #EPPBR_PTHDRSRCH_CONTAINER #pthdr2tdadvsrch{margin-left:4px;} 
</style> 
%bind(:61) 
</head> 
<body style="margin:0;"> 
<div style="visibility: hidden; height: 0;"> 
<table class="eppbr_top_bar" border="0" cellspacing="0" cellpadding="0" width="100%" summary=""> 
<tr> 
  <td align="%AlignStart"><!--menu-->%bind(:62)</td> 
  <td>&nbsp;</td> 
  <td align="%AlignEnd" width="10" valign="top"><!--bar two %bind7-->%bind(:7)</td> 
  <td width="10"><!--padding--></td> 
</tr> 
</table>
</div>
<table class="eppbr_header_bg EPPBRLAYOUTTABLE" width="100%" height="40" border="0" cellpadding="0" cellspacing="0" summary=""> 
  <tr > 
<td colspan=4><!--padding--></td> 
    <td nowrap width="10" valign="middle" align="%AlignEnd" valign="top"><!--bar one %bind6-->%bind(:6)</td> 
<td width="5"><!--padding--></td> 
  </tr> 
  <tr> 
    <td width="10"><!--padding--></td> 
    <td nowrap width="124" valign="middle" align="%AlignStart">%bind(:31)</td> 
    <td nowrap valign="middle" align="center"><!--search objects %bind2-->%bind(:2)</td> 
    <td nowrap width="10" valign="middle" align="%AlignEnd" valign="top"></td> 
    <td width="10"><!--padding--></td> 
<td width="5"><!--padding--></td> 
  </tr> 
  <tr> 
    <td colspan=6 height="5"><!--padding--></td> 
  </tr> 
</table> 
<table class="eppbr_tab_bg EPPBRLAYOUTTABLE" style="margin-top: 4px;" border="0" cellspacing="0" cellpadding="0" width="100%" summary=""> 
<tr> 
  <td align="%AlignStart" valign="bottom"><!-- homepage tabs -->%bind(:5)</td> 
  <td align="%AlignEnd" style="display:none;"><!-- My Links -->%bind(:1)</td> 
</tr> 
</table> 
<table class="EPPBRLAYOUTTABLE" border="0" cellspacing="0" cellpadding="0" width="100%" summary=""> 
<tr> 
  <td align="%AlignStart" style="padding-%AlignStart:5px;"><!--bar three %bind8-->%bind(:8)</td> 
  <td align="middle" width="100%"><!--Add to Fav URL-->%bind(:63)</td> 
  <td align="%AlignEnd"><!-- pers -->%bind(:4)</td> 
</tr> 
</table> 
<!-- system generated HTML %bind28--> 
%bind(:28) 
<!--system generated HTML %bind29, %bind30--> 
%bind(:29) 
%bind(:30) 
<!--system reserved elements HTML %bind19, %bind20--> 
%bind(:19) 
%bind(:20) 
</body> 
</html>

    • the removal of %bind(:66) elements (there by default) will remove the main menu.
    • Add a name and description.  Press Okay to save
    • Press Save
    • Configure the following Branding Elements as Follows:
      ID
      Select
      Required Element
      Element Name
      1
      x

      My Links %1
      2


      Search Options %2
      3
      x

      Homepage Help Display %3
      4
      x

      Personalization %4
      5
      x

      Tab Display %5
      6
      x
      x
      Header Bar One %6
      7
      x

      Header Bar Two %7
      8
      x

      Header Bar Three %8
      9


      Header Bar Four %9
      10


      Header Bar Five %10
      11


      Header Bar Six %11
      12


      Header Bar Seven %12
      13


      Header Bar Eight %13
      14


      Header Bar Nine %14
      15


      Header Bar Ten %15
      16


      Alternate StyleSheetURL %17
      17
      x
      x
      StyleSheetURL %17
      18
      x
      x
      Page Style Class %18
      19
      x
      x
      System Reserved Element %19
      20
      x
      x
      System Reserved Element %20
      21
      x
      x
      System JavaScript/HTML %21
      22
      x
      x
      System JavaScript/HTML %22
      23
      x
      x
      System JavaScript/HTML %23
      24
      x
      x
      System JavaScript/HTML %24
      25
      x
      x
      System JavaScript/HTML %25
      26
      x
      x
      System JavaScript/HTML %26
      27
      x
      x
      System JavaScript/HTML %27
      28
      x
      x
      System JavaScript/HTML %28
      29
      x
      x
      System JavaScript/HTML %29
      30
      x
      x
      System JavaScript/HTML %30
      31
      x
      x
      Custom Image %31
      32


      Custom Image %32
      33


      Custom Image %33
      34


      Custom Image %34
      35


      Custom Image %35
      36


      Custom Image %36
      37


      Custom Image %37
      38


      Custom Image %38
      39


      Custom Image %39
      40


      Custom Image %40
      41
      x

      Custom Image URL %41
      42
      x

      Custom Image URL %42
      43


      Custom Image URL %43
      44


      Custom Image URL %44
      45


      Custom Image URL %45
      46


      Custom Image URL %46
      47


      Custom Image URL %47
      48


      Custom Image URL %48
      49


      Custom Image URL %49
      50


      Custom Image URL %50
      51
      x

      Custom HTML %51
      52


      Custom HTML %52
      53


      Custom HTML %53
      54


      Custom HTML %54
      55


      Custom HTML %55
      56


      Custom HTML %56
      57


      Custom HTML %57
      58


      Custom HTML %58
      59


      Custom HTML %59
      60


      Custom HTML %60
      61


      Scope Search Options %2
      62


      Global Search Option %2
      63
      x
      x
      CSS Override %61
      64
      x
      x
      Hover menu %62
      65
      x
      x
      IFrame Favorite URL %63
      66
      x
      x
      RTL style sheet %64
    • Save Again
                                                                                                                                                                                            Next GoTo:  Portal Administration - Branding - Define Headers 
                                                                                                                                                                                            Add A New Value: CUST_HEADER_GUEST
                                                                                                                                                                                              • Description: Custom Header
                                                                                                                                                                                              • Select the HTML Layout ID: CUST_HEADER_LAYOUT
                                                                                                                                                                                            • Select the Images Tab, enter the following information:

                                                                                                                                                                                            Enabled
                                                                                                                                                                                            Image Source
                                                                                                                                                                                            Image Object Name
                                                                                                                                                                                            x
                                                                                                                                                                                            Custom Image %31 
                                                                                                                                                                                            CUST_LOGO
                                                                                                                                                                                            x
                                                                                                                                                                                            Custom Image URL %41 
                                                                                                                                                                                            CUST_HEAD
                                                                                                                                                                                            x
                                                                                                                                                                                            Custom Image URL %42 
                                                                                                                                                                                            PT_HNAV_MENUBAR_BG 

                                                                                                                                                                                            • Click the Bars Tab
                                                                                                                                                                                              • Enable %6 and %8
                                                                                                                                                                                              • Click edit items for Personalization%4
                                                                                                                                                                                              • Add the following (ensure the label uses &nbsp; instead of just a space.)
                                                                                                                                                                                            • Click Ok
                                                                                                                                                                                            • Click edit items for Header Bar One %6 (ensure the label uses   instead of just a space.)

                                                                                                                                                                                            Seq
                                                                                                                                                                                            Type
                                                                                                                                                                                            Label
                                                                                                                                                                                            Style Class
                                                                                                                                                                                            1
                                                                                                                                                                                            Link to Sign out
                                                                                                                                                                                            Login
                                                                                                                                                                                            PSHEADERHYPERLINKWHITE 

                                                                                                                                                                                            • Click Ok
                                                                                                                                                                                            • Click edit items for Header Bar Three %8
                                                                                                                                                                                              Seq
                                                                                                                                                                                              Type
                                                                                                                                                                                              Label
                                                                                                                                                                                              Style Class
                                                                                                                                                                                              1
                                                                                                                                                                                              Text From Dashboard Link

                                                                                                                                                                                              PATRANSACTIONTITLE pthp2perslinks ptdboardtitle 
                                                                                                                                                                                            • Click The Special Elements Tab
                                                                                                                                                                                            • Enable Global Search Options%2 and Tab Display %5
                                                                                                                                                                                            • Edit Options on Tab Display:
                                                                                                                                                                                              Type
                                                                                                                                                                                              Style Class
                                                                                                                                                                                              Image Object Name
                                                                                                                                                                                              Active Tab Style 
                                                                                                                                                                                              pthomepagetabactive 

                                                                                                                                                                                              Inactive Tab Style 
                                                                                                                                                                                              pthomepagetabinactive 

                                                                                                                                                                                              Active Left Cap Image 

                                                                                                                                                                                              PT_HOME_TAB_ACTIVE_LEFT_CSS 
                                                                                                                                                                                              Inactive Left Cap Image 

                                                                                                                                                                                              PT_HOME_TAB_INACTIVE_LEFT_CSS 
                                                                                                                                                                                              Active Right Cap Image 

                                                                                                                                                                                              PT_HOME_TAB_INACTIVE_RIGHT_CSS 
                                                                                                                                                                                              Inactive Right Cap Image 

                                                                                                                                                                                              PT_HOME_TAB_INACTIVE_RIGHT_CSS 
                                                                                                                                                                                            • Click the Image Attributes Tab
                                                                                                                                                                                              Type
                                                                                                                                                                                              Height
                                                                                                                                                                                              Width
                                                                                                                                                                                              Additional Attributes
                                                                                                                                                                                              Inactive to Inactive Tab Image 
                                                                                                                                                                                              25
                                                                                                                                                                                              4
                                                                                                                                                                                              valign="top" 
                                                                                                                                                                                              Inactive Right Cap Image 
                                                                                                                                                                                              22
                                                                                                                                                                                              2
                                                                                                                                                                                              valign="top" 
                                                                                                                                                                                              Active Left Cap Image 
                                                                                                                                                                                              22
                                                                                                                                                                                              2
                                                                                                                                                                                              valign="top" 
                                                                                                                                                                                              Inactive Left Cap Image 
                                                                                                                                                                                              22
                                                                                                                                                                                              2
                                                                                                                                                                                              valign="top" 
                                                                                                                                                                                              Active to Inactive Tab Image 
                                                                                                                                                                                              25
                                                                                                                                                                                              4
                                                                                                                                                                                              valign="top" 
                                                                                                                                                                                              Active Right Cap Image 
                                                                                                                                                                                              22
                                                                                                                                                                                              2
                                                                                                                                                                                              valign="top" 
                                                                                                                                                                                              Inactive to Active Tab Image 
                                                                                                                                                                                              25
                                                                                                                                                                                              4
                                                                                                                                                                                              valign="top" 
                                                                                                                                                                                            • Click Save (you may need to go back and re-adjust the height / width after save)

                                                                                                                                                                                            Goto Portal Administration - Branding - Assemble Themes
                                                                                                                                                                                            • Add a new value: MCM_BRANDING_THEME_GUEST
                                                                                                                                                                                            • Set the following attributes
                                                                                                                                                                                            • Set Effective Date before the Assign Themes Date (in 2013).
                                                                                                                                                                                              Status as of Effective Date
                                                                                                                                                                                              Desc
                                                                                                                                                                                              Home Page Head
                                                                                                                                                                                              Target Page Head
                                                                                                                                                                                              Home Footer
                                                                                                                                                                                              Style Sheet
                                                                                                                                                                                              Menu Nav
                                                                                                                                                                                              Active
                                                                                                                                                                                              McMaster Guest Branding Theme
                                                                                                                                                                                              CUST_HEADER_GUEST
                                                                                                                                                                                              CUST_HEADER_GUEST
                                                                                                                                                                                              CUST_FOOTER
                                                                                                                                                                                              CUST_CSS_FRESH
                                                                                                                                                                                              CUST_MENU
                                                                                                                                                                                              Also, ensure"Database Default Theme" is unchecked
                                                                                                                                                                                            • Click Save.
                                                                                                                                                                                            Goto Portal Administration - Branding - Assign Themes
                                                                                                                                                                                            • In assign Themes to roles, add the following:
                                                                                                                                                                                              • Priority: 200
                                                                                                                                                                                              • Theme ID: CUST_BRANDING_THEME_GUEST
                                                                                                                                                                                              • Role Name: CUST_GUEST
                                                                                                                                                                                            • Click Save.