Showing posts with label Related Content Service. Show all posts
Showing posts with label Related Content Service. Show all posts

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, February 19, 2017

Related Content/Event Mapping for Components not registered in the Portal

Related Content Framework and the latest Event Mapping Framework allow us to add services to components (and other content reference types) that are registered in the Portal Menu Structure - Structure and Content. What if we want to add related content or event mapping services to a component that is not registered in the Portal?

Question Courtesy: Lewis Thompson
Event Mapping Framework - Hello World and Quirks | Comment


E.g.:

Component 1
- Hyperlink > Transfers to Component 2
- Hyperlink > Transfers to Component 3


We can see in the above scenario, only Component 1 is registered in the Portal. From Component 1, we use FieldChange peoplecode events to transfer to Component 2 and Component 3.

Component 1:


Transfer to Component 2 - FieldChange PeopleCode:


Transfer to Component 3 - FieldChange PeopleCode:


What if we want to add a related content or event mapping service to such components (Component 2 or Component 3) that are not part of the Portal menu structure?

David Bain from Oracle recently presented an overview of PeopleTools 8.56 (which is not GA yet) via Quest (access recording here). @24:23 he talks about expanding support for Event Mapping Framework via a related content API. It is possible that an API to related content would be very handy for such scenarios! But we will have to wait and see!

In the interim, here are the steps to workaround the scenario detailed above.

Adding Related Content Service:

Register the Component to a Hidden Folder in the Portal | Structure and Content:

PeopleTools > Portal > Structure and Content



Assign Related Content to hidden Content Reference:

PeopleTools > Portal > Related Content Service > Define Related Content Service


PeopleTools > Portal > Related Content Service > Manage Related Content Service > Content References (Tab) > Assign Related Content to an Application Page (Link) > Include hidden Crefs (Option)



Adding Event Mapping Service:

Register the Component to a Hidden Folder in the Portal | Structure and Content:

PeopleTools > Portal > Structure and Content




Assign Event Mapping Service to hidden Content Reference:

PeopleTools > Portal > Related Content Service > Define Related Content Service


Application Class Implementation:


PeopleTools > Portal > Related Content Service > Manage Related Content Service > Event Mapping (Tab) > Map the event of the Application pages (Link) > Include hidden Crefs (Option)



Results:


Tuesday, December 20, 2016

Event Mapping Framework - Migration

A reader asked a question in one my posts on Event Mapping Framework.

Question: Do you know how I can include the "Configure Event Mapping" settings in an App Designer project so I can migrate it from dev to test to prod environments?

The answer is very simple. Since the Event Mapping Framework is simply an extension of the 'Related Content Service' functionality, the procedure to migrate the configuration is also the same as migrating 'Related Content'.

For those who are new to Related Content and/or Event Mapping Framework, here are the steps that will help with the migration.

Step 1: Insert 'Related Content Definition' into the Project


This will take care of migrating the 'Related Content Definition' and associated Application Class. Note: We must highlight 'Application Packages' under the 'Related Definitions' before inserting the Related Content Service ID into the project.


Step 2: Insert 'Related Content Service' into the Project


Insert the 'Related Content Service' by entering the 'Portal Object Name' of the associated 'Content Reference'. This will take care of migrating the 'Event Mapping' Configuration.



Step 3: Save and Migrate the Project

Simply save and migrate the project from the source to the target environment.

Saturday, October 8, 2016

Event Mapping Framework - Hello World and Quirks

Ever since PeopleTools 8.55 was released last year, I have heard fantastic things about the new Event Mapping Framework. I also saw great demos while attending various sessions at Oracle OpenWorld 2016. Although, I know the concept of Event Mapping Framework in theory, I never got a chance to use this functionality. So, I decided to create a simple 'Hello World' example to understand the mechanics.

Step 1: Create a custom App Package

This is the event that we will be mapping to a Component PeopleCode. There is nothing fancy in the event, just a basic 'Hello World' message using MessageBox function.


Step 2: Create a Related Content Service

Navigator > PeopleTools > Portal > Related Content Service > Define Related Content Service


Step 3: Map Related Content Service to Component Event

Navigator > PeopleTools > Portal > Related Content Service > Manage Related Content Service > Event Mapping (Tab) > 'Map the event of the Application pages' hyperlink

Let us add this event to the USERMAINT - 'User Profiles' Component. For this example, let us map our related content service as the 'Post Process' event on the Component PostBuild PeopleCode. This is the same example component which Jim Marion used during his Tips and Techniques session at Oracle OpenWorld this year. I doubt the link will work for long, so grab Jim's slide deck as soon as you can!



Results:

Here we can see that our custom event gets executed as per the Event Mapping Framework configuration. Great!


Quirk:

Now, if we use our custom event and try to execute it as part of another component, say URL_TABLE (PeopleTools > Utilities > Administration > URLs), we will find that it will not get executed. Isn't it a little baffling? Because, even if we perform exactly the same steps as described above, somehow it would appear that something is missing!


After some trial and error, I figured that any custom events mapped to a Component (or Component Record) PeopleCode event via 'Event Mapping Framework' will get executed only if there is some code already associated with the actual Component (or Component Record) PeopleCode.

E.g.: URL_TABLE.GBL.PostBuild (Component PeopleCode) does not contain any code. So, any events mapped to this PeopleCode will not be executed.


Is this working as designed? I really hope not! I hope that it is a bug (or unintended feature) that will be fixed/enhanced in the future releases. Otherwise, it may not be as easy to use the Event Mapping Framework as we expect it to be. Particularly, if we are looking at this framework as an option to reduce customizations.

Updated on December 19th, 2016:
This quirk is no longer a problem as of PeopleTools 8.55.11 release.

Demo of the quirk:


Other resources on Event Mapping Framework:
Chris Malek's Blog
psadmin.io Blog
Jim Marion - Tips and Techniques - OOW16 (may only be available for a limited time)
PeopleSoft Mods by Colton Fisher
PeopleBooks - Mapping Application Class PeopleCode to Component Events