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 implementedFrom this example (which is very small, recommend opening it in a new window), we can see the following differences:
Left: Guest Access | Right: Authenticated Access |
---|---|
Removed Main Menu | Top Bar: Main Menu: CSS Change White on Red |
Larger Logo | Smaller Logo |
Removed Header Background | Header Background: Welcome Link | Home | Signout Link added |
Footer: CSS Change White on Red | Same Footer Used |
Invisible: cookie information to set load balancing for Netscalers | Invisible: 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:
- Go to Main Menu->Portal Administration->Branding->Define Elements->Enable HTML Layouts
- Search and select the HTML Layout ID (should be noted in step above)
- Select row 51, Custom HTML %51
- 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)
- Click okay, this should save your change.
- Save the layout.
- Go to Main Menu->Portal Administration->Branding->Define Headers
- Search and select Home Page Header ID (should be noted in step above)
- Add a new effective dated row
- Go to the HTML area tab.
- 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]
- 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:
- note '%Image(MCM_TOP_MENU)' can be uploaded via Main Menu > PeopleTools >
- 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:
- Define Elements ~ IE HTML Layouts (see google analytics example above)
- Define Headers
- Define Footers
- Assemble Themes ~ Put Header / Footer / CSS (see above example) together
- 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:
<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> </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:IDSelectRequired ElementElement Name1xMy Links %12Search Options %23xHomepage Help Display %34xPersonalization %45xTab Display %56xxHeader Bar One %67xHeader Bar Two %78xHeader Bar Three %89Header Bar Four %910Header Bar Five %1011Header Bar Six %1112Header Bar Seven %1213Header Bar Eight %1314Header Bar Nine %1415Header Bar Ten %1516Alternate StyleSheetURL %1717xxStyleSheetURL %1718xxPage Style Class %1819xxSystem Reserved Element %1920xxSystem Reserved Element %2021xxSystem JavaScript/HTML %2122xxSystem JavaScript/HTML %2223xxSystem JavaScript/HTML %2324xxSystem JavaScript/HTML %2425xxSystem JavaScript/HTML %2526xxSystem JavaScript/HTML %2627xxSystem JavaScript/HTML %2728xxSystem JavaScript/HTML %2829xxSystem JavaScript/HTML %2930xxSystem JavaScript/HTML %3031xxCustom Image %3132Custom Image %3233Custom Image %3334Custom Image %3435Custom Image %3536Custom Image %3637Custom Image %3738Custom Image %3839Custom Image %3940Custom Image %4041xCustom Image URL %4142xCustom Image URL %4243Custom Image URL %4344Custom Image URL %4445Custom Image URL %4546Custom Image URL %4647Custom Image URL %4748Custom Image URL %4849Custom Image URL %4950Custom Image URL %5051xCustom HTML %5152Custom HTML %5253Custom HTML %5354Custom HTML %5455Custom HTML %5556Custom HTML %5657Custom HTML %5758Custom HTML %5859Custom HTML %5960Custom HTML %6061Scope Search Options %262Global Search Option %263xxCSS Override %6164xxHover menu %6265xxIFrame Favorite URL %6366xxRTL 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 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 %8SeqTypeLabelStyle Class1Text From Dashboard LinkPATRANSACTIONTITLE pthp2perslinks ptdboardtitle
- Click The Special Elements Tab
- Enable Global Search Options%2 and Tab Display %5
- Edit Options on Tab Display:TypeStyle ClassImage Object NameActive Tab StylepthomepagetabactiveInactive Tab StylepthomepagetabinactiveActive Left Cap ImagePT_HOME_TAB_ACTIVE_LEFT_CSSInactive Left Cap ImagePT_HOME_TAB_INACTIVE_LEFT_CSSActive Right Cap ImagePT_HOME_TAB_INACTIVE_RIGHT_CSSInactive Right Cap ImagePT_HOME_TAB_INACTIVE_RIGHT_CSS
- Click the Image Attributes TabTypeHeightWidthAdditional AttributesInactive to Inactive Tab Image254valign="top"Inactive Right Cap Image222valign="top"Active Left Cap Image222valign="top"Inactive Left Cap Image222valign="top"Active to Inactive Tab Image254valign="top"Active Right Cap Image222valign="top"Inactive to Active Tab Image254valign="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 DateDescHome Page HeadTarget Page HeadHome FooterStyle SheetMenu NavActiveMcMaster Guest Branding ThemeCUST_HEADER_GUESTCUST_HEADER_GUESTCUST_FOOTERCUST_CSS_FRESHCUST_MENUAlso, 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.