Tuesday, July 21, 2020

Drop Zones - LCM Considerations

Previously, I wrote about Lifecycle Management (LCM) Considerations for Event Mapping Framework.

Refer: Event Mapping Framework LCM Considerations

Drop Zones, similar to Event Mapping, provide a way for us to isolate our customizations and utilize configurations. Like I mentioned in my previous post, Drop Zones also do not have support for LCM as of now. Particularly, flagging App Designer - Compare Reports would be very helpful while taking updates from PeopleSoft (via PUM) to determine associated impact to any Drop Zone configuration.

While we wait for LCM enhancements to Drop Zones, here is a SQL query that will find a correlation between page objects in a project and the Drop Zones metadata. The query will return all page objects in a project (think tax updates, 'get me current' PUM application patching, etc.) that have corresponding Drop Zones configured. We can use this SQL to review any impact to custom subpages configured as Drop Zones.

Sunday, July 19, 2020

Migrating Custom Kibana Visualizations/Dashboards

In the following DIY blog series, I described how we can use the framework provided in PeopleTools 8.58 to configure our own custom visualizations and dashboards in Kibana and use them in PeopleSoft applications via the 'Kibana Visualizer'.

Refer: DIY - Kibana Dashboards with Application Data

Someone ask a very valid question:
How do we migrate these configurations from one environment (source) to another (target)?

My previous blog post detailed the steps for migrating the Search Definition and associated configuration. This post will describe the steps for migrating the Kibana Visualizations and Dashboards.

Refer: Migrating Custom Search Definition and Configuration

Migration

We used an App Designer project to migrate the Search Definition. We will be using Data Migration Workbench to migrate all the Kibana Visualization/Dashboard related configurations. The following Doc Id from My Oracle Support details the application data sets delivered by Oracle.

E-KB: How to Migrate Kibana Dashboards From One Environment to Another? (Doc ID 2684543.1)

Application Data Set Description Notes
PTSF_KIBANA_DBOARD_DTL Defines the dashboards that are deployed to Kibana. This is the configuration located in PeopleTools > Search Framework > Administration > Deploy Kibana Dashboards
PTSF_KIBANA_DBOARD_ATT Defines the JSON files of a dashboard.
PTSF_KIBANA_DBOARD_ROLE_MAP Defines the roles mapped to a dashboard. This is the configuration located in PeopleTools > Search Framework > Administration > Kibana Privileges
PTSF_KIBANA_DBOARD_CREATE_ROLE Defines the privileges assigned to a role with respect to a Kibana dashboard.
PTSF_KIBANA_SYSDB Defines the system monitoring dashboards that are imported and deployed. This is the configuration located in PeopleTools > Search Framework > Administration > Kibana Privileges
We did not set this up in the examples demonstrated in the DIY series.

In addition to the above configurations, we also need to migrate any Tiles or Related Information configured using PeopleTools > Search Framework > Administration > Kibana Visualizations.

Application Data Set Description Notes
PSPRSM_CREF Content Reference Dashboards configured as Tiles.
RCF_SERVICES RC Services Dashboards configured as Related Information of a Fluid page.

Finally, if we used the following workaround to setup any Kibana dashboards as related content of classic pages, then we need to migrate the configuration using the data sets listed below.

Refer: Kibana Dashboards - Related Content for Classic

Application Data Set Description Notes
RCF_SERVICES RC Services Dashboards configured as Related Content of a Classic page.
RCF_SERVICE_DEFINITION RC Service Definition Custom Related Content Service Definition - Classic Kibana Related Content

Here is a project used for demonstration purposes. This project will be used to demonstrate the migration of all the configurations created in the DIY series.


Imported Kibana Dashboards

The following steps will migrate the dashboards imported into PeopleSoft from Kibana.



Demo


Kibana Privileges



Demo


Kibana Visualization as a Tile



Demo


Kibana Visualization as Related Information (Fluid)



Demo


Kibana Visualization as Related Content (Classic)




Demo



Post Migration Steps

Once we migrate all the data sets using Data Migration Workbench, we should deploy the imported dashboards to Kibana in the target environment. As you can see in the screenshot below, the imported dashboards will appear to be in deployed status. This status is brought forward from the source. Therefore, we must deploy once again in the target environment.


The deploy step takes care of all the configurations in Kibana - index patterns, visualizations and dashboards!

Migrating Custom Search Definition and Configuration

In the following DIY blog series, I described how we can use the framework provided in PeopleTools 8.58 to configure our own custom visualizations and dashboards in Kibana and use them in PeopleSoft applications via the 'Kibana Visualizer'.

Refer: DIY - Kibana Dashboards with Application Data

Someone ask a very valid question:
How do we migrate these configurations from one environment (source) to another (target)?

This post will detail the steps for migrating the Search Definition and associated configuration.

Migration

We can migrate everything related to the Search Definition using an App Designer project. Simply insert the Search Definition and make sure the the 'Related Definitions' are selected as shown below.



Save the 'Project' and migrate to target environment.

Note: If we used any Application Package PeopleCode to configure the Search Definition (Security Configuration) - Document Filter App Class, then we must also include the App Package in the project.

Post Migration Steps

Once we migrate the configuration, we must complete the following administrative steps in the target environment.

1. Deploy Search Definition
2. Schedule Search Index
3. Configure Search Context (optional)
4. Configure Search Group Security

Related Posts

Migrating Custom Kibana Visualizations/Dashboards

Tuesday, July 7, 2020

Kibana Dashboards - Related Content for Classic

In the following DIY blog series, I described how we can use the framework provided in PeopleTools 8.58 to configure our own custom visualizations and dashboards in Kibana and use them in PeopleSoft applications via the 'Kibana Visualizer'.

Refer: DIY - Kibana Dashboards with Application Data

Part 3 described how we can configure a Kibana visualization/dashboard as a Tile within PeopleSoft. There is also another way we can expose the Kibana visualization/dashboard in PeopleSoft. This alternate approach is to configure them as related information/content of a component.

Configure Kibana Visualizations as Related Information/Content of a Component

Let us take the same Kibana dashboards that we built in the DIY series and configure them as related information of a component.

Gotcha: As delivered, this option only works for Fluid components.

So, let us pick a Fluid component - HR_EE_ADDR_FL (Employee Self Service > Personal Details > Addresses) and configure the Kibana dashboards as related information.

Navigation: PeopleTools > Search Framework > Administration > Kibana Visualizations > Component Level (Tab)


Configure Kibana Visualizations as Related Content of a Classic Component

As we saw in the previous section, the 'Component Level' - related information option is only available for Fluid components. Does this mean we cannot use Kibana visualizations/dashboards as related content for Classic? It is true that we cannot use the delivered 'Kibana Visualizations' configuration page for Classic components. But we can simply configure a related content service that points to the 'Kibana Visualizer' component and pass appropriate parameters to display the desired dashboards!

Create Related Content Service


URL and Parameters

The URL and parameters required for the Related Content Service could be determined by inspecting the 'Full View' of any Kibana dashboard displayed via the 'Kibana Visualizer' as shown below.


URL

The below URL is an example of a dashboard (Full View) displayed via the 'Kibana Visualizer' in 'Full View' mode.

http://pi034.hcm92.com:8000/psc/ps_newwin/EMPLOYEE/HRMS/c/PTSF_SEARCH_ADMIN.PTSF_KIBANA_COMP.GBL?DBOARD=URLGEN&DASHBOARD=IB Dashboard&SUMMARY=IB Tile Dashboard&ICDoModeless=1

Required Parameters for Related Content Service

Parameters Notes
DBOARD URLGEN will ensure that 'Kibana Visualizer' (Full View) is used
DASHBOARD Name of the Kibana Dashboard for Full View
ICDoModeless This will ensure that the Branding header is not displayed

Note: The SUMMARY parameter is not required for the related content service because we will only be using the 'Full View' and don't require the 'Tile View'.

Manage Related Content Service

As a proof of concept, we will add the Related Content Service to PeopleTools > Integration Broker > Service Operations Monitor > Monitoring > Asynchronous Services.



Demo


Conclusion

This proof of concept is in response to a question that was posed on the following blog post.

PeopleTools 8.58 - Application Data and Kibana Dashboards

Can we setup Kibana dashboards as related content of Classic pages? The delivered framework does not provide an option for this setup but we can configure this directly using related content.

Sunday, July 5, 2020

Access Kibana (Admin) Home from PeopleSoft

In the following DIY blog series, I described how we can use the framework provided in PeopleTools 8.58 to configure our own custom visualizations and dashboards in Kibana and use them in PeopleSoft applications via the 'Kibana Visualizer'.

DIY Kibana Dashboards with Application Data

Kibana Admin Login

As part of the DIY configuration process (detailed in Part 2), we need to login to the Kibana Administration page and setup index patterns, visualizations and dashboards. Typically, this step would/should be completed by a developer/analyst/admin type of user. As you can see below, the Kibana Administration page requires a separate login. With the latest integration provided in PeopleTools, we can simply use the same userid/password as in PeopleSoft and also enter the database name.


Access Kibana Administration from PeopleSoft using SSO

PeopleSoft already delivered a security plug-in for Kibana that allows end users to access Kibana visualizations and dashboards from within the PeopleSoft UI. Basically, if users are logged in to PeopleSoft (with a PS_TOKEN), then they can simply access the Kibana visualizations without having to login to Kibana again.

We can take the same logic and create a link in PeopleSoft that will open the Kibana (Admin) Home without requiring a separate step to login to Kibana. In the screenshot below, we can see the user and token parameters in the Kibana iframe URL.


The logic for generating this URL is available in PTSF_KIBANA_COMP.Activate Page PeopleCode.


Custom IScript

We can take the same logic available in the delivered Page PeopleCode and create a custom IScript to redirect to the Kibana (Admin) Home.

Custom Content Reference (CREF)

Next, we can create a custom content reference and associated the IScript created in the previous section. For the sake of simplicity, I added the CREF under PeopleTools > Search Framework > Administration folder. You can change this to an appropriate parent folder of your choice.


Demo


Classic Drop-Down List Styling

Recently, there was a question on my blog related to drop-down list styling.

Refer: Original Question

How do we apply different colors to drop-down list values?

In this post, I will walk through a few examples of how we can use CSS to apply different background colors to drop-down list values. As an example, we will be using the 'Branding System Options' classic page which contains two drop-down lists.

Navigation: PeopleTools > Portal > Branding > Branding System Options

Identifying the style classes to target

The first step to overriding delivered CSS is to identify the style class(es) to target. We can do this using the browser's developer tools.


Overriding CSS using Component Branding

Since we are focusing on Classic UI, we can use the Component Branding feature which is available via the Branding Framework configuration to apply a custom Stylesheet object to the Component (PTBRANDINGSYSTEMOP).

Navigation: PeopleTools > Portal > Branding > Component Branding


Zebra Striping

In this approach we will use the nth-child() CSS to alternate between two different background colors as shown below.


Option 1: All Drop-Down lists on the page/component

Option 2: Specific Drop-Down list on the page/component

Notice the #PSBRSYSTOPT_WRK_PTBRANDTHEME in the CSS selector.

Styling specific rows

In this scenario, we will assume that we already know the rows that we want to style differently. Let's say, we want to display the custom Themes (with "SV_" prefix) differently.


Option 1: If we know the row numbers

Option 2: CSS based on attribute value prefix

Thursday, May 21, 2020

DIY - Kibana Dashboards with Application Data - Part 3

This post is part of a series: DIY - Kibana Dashboards with Application

The major parts of creating a search index (using application data) in Elasticsearch and creating Dashboards (and visualizations) in Kibana were completed in Part 1 and Part 2. This part will focus on the final steps of importing the Kibana Dashboards (and visualizations) into PeopleSoft, configuring and deploying them as PeopleSoft visualizations (tiles, related content, etc.).

Import Kibana Dashboards

In Part 2, we created two dashboards (Full View and Tile View) in Kibana. These dashboards can be imported into PeopleSoft from PeopleTools > Search Framework > Administration > Import Kibana Dashboards.


Configure the Dashboard(s) as a Tile

Once the Dashboards are successfully imported into PeopleSoft, we can configure them as a Tile (or related content) from PeopleTools > Search Framework > Administration > Kibana Visualizations.


Note: When we setup the dashboard as a Tile, PeopleTools will automatically create the Tile content reference for us as shown below.




Specify User Privileges

Once we configure the Kibana dashboard(s) as a Tile, we can specify the user privileges to secure access to the Tile.

PeopleTools > Search Framework > Administration > Kibana Privileges


Note: This will automatically update the Tile content reference security appropriately.


Deploy Kibana Dashboards

Finally, we can deploy (redeploy?) the dashboards configured in PeopleSoft as a visualization (Tile) into Kibana. This is step will deploy all the configurations (security, etc.) associated with the dashboards in Kibana.

PeopleTools > Search Framework > Administration > Deploy Kibana Dashboards


DIY - Kibana Dashboards with Application Data - Part 2

This post is part of a series: DIY - Kibana Dashboards with Application

Once the search index (based on application data) is deployed and functional in Elasticsearch, we can now move ahead with the process of configuring visualizations and dashboards in Kibana.

Create Index Pattern in Kibana

At this stage, we know that our custom search index is working in Elasticsearch. The next step is to create an index pattern in Kibana. This index pattern will then become the hook (connection) between the search index in Elasticsearch and the visualizations in Kibana.

Let us login to Kibana (using PS userid) and create the index pattern based on the search index in Elasticsearch.

Accessing Kibana Dashboards from PeopleSoft

PS userid has elevated security in the application so we know that we can login to Kibana without any issues using that userid. But what is the security required to be able to login to Kibana?

PeopleBooks: Accessing Kibana Dashboards from PeopleSoft

"A PeopleSoft user with the Search Administrator role or a user who has edit privilege or create privilege to any of the dashboard can log on to Kibana directly. The edit or create privilege is specified on the Kibana Privileges page."

After logging into Kibana as PS userid (or other userid with appropriate access), we can create the index pattern based on the search index as shown below.

Kibana > Management > Index Patterns > Create Index Pattern


Create Visualizations

Now that we have everything in place, we can start creating our visualizations in Kibana.

Tag Cloud Visualization


Horizontal Bar Visualization


Vertical Bar Visualization


Pie Visualization


Saved Search with Drilling URL

Before we create a saved search with drilling URL, we must change the format of the drilling URL field from string to URL. This will ensure that the URL is actually converted into a hyperlink in the visualization.

Kibana > Management > Index Patterns > Select Index Pattern: sv_ib_async_msg* > Field: ORCL_ES_LINK


Now we can go ahead and create a saved search.


Create Dashboards

The first dashboard created in the video shown below will be the detailed dashboard (Full View) which contains all the visualizations.


The next video demonstrates how to create a Dashboard with a single visualization. This will be used as the Tile Dynamic Content for the Kibana Visualizer (Tile View).


That is it! Our job within Kibana is completed.