Showing posts with label Assign Branding Themes. Show all posts
Showing posts with label Assign Branding Themes. Show all posts

Monday, October 22, 2018

PeopleTools 8.57 | Getting Started with Custom Banner aka Company Info Configuration

A new feature was introduced in PeopleTools 8.57 that enables customers to create their own custom banner on top of and in addition to the existing "New User Interface" header consistently on Classic and Fluid.


This is achieved using the Branding Header definition that is configured in our Branding Theme definition.

More details on Header and Theme definitions can be found in PeopleBooks:
Branding Process Overview
Defining Headers and Footers

In the past (pre-8.57), the Branding Header definitions purely represented the Classic header area and we have always had to address the Classic and Fluid branding administration separately. Here is a note from PeopleBooks.


But in the case of the ComponyInfo element which is part of the DEFAULT_HEADER_FLUID header definition, it is a welcome exception wherein we can use a single configuration to handle both (Classic and Fluid).

Getting Started

This blog post will detail what it takes to configure a custom header using the Company Info configuration! The environment used for this post is a HCM 9.2 PUM Image 27 which was originally on PT 8.56.09 and upgraded to PT 8.57.01. The upgrade to 8.57 was administered using PeopleSoft Cloud Manager 7 running on Oracle Cloud Infrastructure - Classic.

As I was getting started - wearing a 'good citizen developer' hat, I cloned the delivered theme (DEFAULT_THEME_FLUID) and header (DEFAULT_HEADER_FLUID) definitions. As shown in the next section, I created custom definitions CSK_THEME_FLUID and CSK_HEADER_FLUID respectively instead of modifying delivered definitions.

Custom Definitions and Branding System Options

PeopleTools > Portal > Branding > Define Headers and Footers

CSK_HEADER_FLUID: Clone of DEFAULT_HEADER_FLUID


PeopleTools > Portal > Branding > Assemble Themes

CSK_THEME_FLUID: Clone of DEFAULT_THEME_FLUID


PeopleTools > Portal > Branding > Branding System Options

Update Branding System Options to reference the custom theme.


Note: If there is any assignment on the 'Assign Branding Themes' page for the current portal (which is typically common in HCM 9.2 PUM images) as shown below, we need to be sure to update this configuration as well.

PeopleTools > Portal > Branding > Assign Themes

Update Default Theme for the current Portal (if assignment exists)


Updating the CompanyInfo Configuration

Now that we created custom definitions, we can update the CompanyInfo element to create our own custom header.

Demo


As we can see, the CompanyInfo Element can be updated using the Rich Text Editor provided in the Additional Options page. While there is an option to configure different content for Classic and Fluid, I am using the same content for the purpose of this example.



Testing the CompanyInfo element

Now that we configured our custom banner, we should be able to test this right away!

Demo

As we can see in the demonstration below, the custom banner "does not appear to"/will not work on Fluid Homepages or Fluid pages. But it works fine in Classic! 😥


Bug in CompanyInfo/Custom Banner functionality for Fluid

After going around in circles for a long time, I found that there is a hard-coding in the Branding App Package which is responsible for displaying the CompanyInfo element in Fluid. As you can see in the screenshot below, the code assumes that we are using the delivered DEFAULT_HEADER_FLUID definition. In our example, we cloned the delivered header and created our own custom definition called CSK_HEADER_FLUID. So, it will not pick up our custom definitions for Fluid! 😂


The following MOS Bug has been logged.

BUG 28844971: BRANDING FRAMEWORK CUSTOM HEADER COMPANYINFO FUNCTIONALITY ISSUE.

Fix to remove hard-coding

We can simply comment out the hard-coding and add code to use a SQLExec to dynamically pull the header definition name from the current theme configured on the Branding System Options! Here is a snippet of the App Class with the modification to the GetCompanyInfoHtml method.


PeopleCode for Reference

Demo after applying fix

As you can see from the video below, the Custom Banner (CompanyInfo element) now shows up on Classic and Fluid consistently. Also, notice that the delivered "Oracle" Logo which was previously present on the top left corner has been removed automatically on the Fluid Homepage! This is an exciting feature in the Branding framework. I hope this can be enhanced in the upcoming patches to obviously remove the hard-coding mentioned in this post and also extend this configuration to allow us to use an App Class! Imagine if we could write our own App Class to dynamically generate this Custom Banner instead of a static rich text value. 🎆🎉


Related Posts

PeopleTools 8.57 | Branding Administration Access and New Roles

Friday, March 24, 2017

Using Different Branding Themes for Different Portals

Most of the posts on my blog are mainly based on or inspired by questions/comments/ideas on my blog, OTN, HEUG and other PeopleSoft forums. This post is no different. Someone raised an interesting query on one of my Branding posts:
What would it take to have a different logo for the different portals (Employee, Supplier, ...)?

We already know how to use 'Branding Themes' to configure Branding requirements like logo, icon, color changes, etc.
PeopleTools 8.54 - Branding - Part 1
PeopleTools 8.55 - Branding - What's new?

For the purposes of this demonstration I created two very simple but different Branding Themes (SV_RED_THEME_FLUID and SV_BLUE_THEME_FLUID). And as we can see below, I am using SV_RED_THEME_FLUID in my 'Branding System Options' as the 'Default Branding Theme'.

SV_RED_THEME_FLUID:



 SV_BLUE_THEME_FLUID:


Branding System Options:


But the changes that are part of a Branding Theme which are applied using the 'Branding System Options' would propagate across the application to all portals (EMPLOYEE, SUPPLIER, CUSTOMER, etc.).

How do we override the 'Default Branding Theme' for specific portals?

Let us say, we want to use a different theme (SV_BLUE_THEME_FLUID) for our CUSTOMER portal.

The solution is very simple. We just need to use the 'Assign Themes' page to configure the override. But the caveat is that we must log in to the portal in question (CUSTOMER in this case) while performing the 'Assign Themes' step.

PeopleBooks: Assign Branding Themes


Trick/Shortcut to switch between portals:

Simply edit the URL to replace the portal portion with the desired value (assuming we have security access to the portal concerned).
E.g.:
http://pi004.cs92.com:8000/psp/ps/EMPLOYEE/SA/c/PTBR_MENU.PTBR_ASSIGN_THEME.GBL
http://pi004.cs92.com:8000/psp/ps/CUSTOMER/SA/c/PTBR_MENU.PTBR_ASSIGN_THEME.GBL


Assign Theme Override for a specific Portal (CUSTOMER):


Results:

Sign out, clear browser cache and sign back in to see the results.


Environment Details:
CS 9.2 - PUM Image 4 - PeopleTools 8.55.12

Related Post:
Role Based Branding Theme Assignments

Tuesday, August 23, 2016

Branding 8.54+ - Role Based Theme Assignment/Override

In the past, I have written about Branding PeopleSoft applications using themes (and even theme macro sets in PeopleTools 8.55). In this post, I want to quickly show how we can assign different themes to different users based on roles/permission lists.

Using the steps detailed in my previous post - PeopleTools 8.55 - Branding, I created two different themes (Red and Blue).

Note:
Although, I am using PeopleTools 8.55, the same - User Attribute Based Theme Assignments - can be done using PeopleTools 8.54 themes as well.

The two themes have the following look and feel. I only updated the background color of the header to keep the themes simple. The idea is to demonstrate role based theme assignment/override. You could follow my other branding posts and make further theme changes as per your requirements.

Blue Theme:


Red Theme:


Environment Details: CS 9.2 PUM Image 2, PeopleTools 8.55.06

Assigning Branding Themes based on User Roles:

Branding System Options:

PeopleTools > Portal > Branding > Branding System Options

I left this as default for the sake of this proof of concept.


Assign Branding Themes:

PeopleTools > Portal > Branding > Assign Branding Themes



Again, for the purposes of demonstration and simplicity, I am using the delivered DEFAULT_THEME_FLUID theme as my default. Notice the 'Effective Date'? This means that we could potentially have certain themes only active for a specific period of time. For example, creating a football based theme specifically for students that is only effective during game week?


Further, you can see that I set the priority of the Red Theme higher (100) than the Blue Theme (200). This means that if a user has both CSK_RED_THM_ROLE and CSK_BLUE_THM_ROLE, the system would prioritize CSK_RED_THEME_FLUID as the user's theme.

Results:

User without CSK_RED_THM_ROLE or CSK_BLUE_THM_ROLE (Default):

This is a scenario where the user does not have any of the roles defined in the 'User Attribute Based Theme Assignments' section. The user simply gets the 'Default Theme'.


User with access to CSK_BLUE_THM_ROLE:

This is a scenario where the user has the role CSK_BLUE_THM_ROLE but not CSK_RED_THM_ROLE. So, the system assigns the CSK_BLUE_THEME_FLUID theme for this user.


User with access to both CSK_RED_THM_ROLE and CSK_BLUE_THM_ROLE:

This is a scenario where the user has both CSK_RED_THM_ROLE and CSK_BLUE_THM_ROLE. The system uses the priority configuration and assigns the CSK_RED_THEME_FLUID.


PeopleBooks Reference:
PeopleTools 8.54
PeopleTools 8.55