Monday, November 21, 2022

"Find Definition References" for Page and Field Configurator

A student recently asked:

Is there an Edit | Find Definition References equivalent for Page and Field Configurator?

Great question! In Application Designer, we can open a field and choose Edit | Find Definition References to find all usages of that field. Unfortunately, Page and Field Configurator does not have an equivalent. The good news, however, is Page and Field Configurator is metadata driven. In other words, we can create our own "Find Definition References" equivalent by writing SQL. Here is a short example to get you started:

SELECT *
  FROM PS_EOCC_CONFIG_FLD
 WHERE FIELDNAME = 'DESCR'

The EOCC_CONFIG_FLD record contains the Component name, Record name, and Field name, allowing us to effectively "Find Definition References" for any of those three items.

At JSMpros, we teach PeopleTools Tips like this every week. Be sure to check our website to see what we are offering next!

Tuesday, November 08, 2022

TokenChpoken


Several years ago, ERPScan published a series of articles describing PeopleSoft security attack vectors. While reading the series, keep in mind it was written nearly a decade ago, and PeopleSoft has made changes to security to mitigate the issues raised by ERPScan. For example, their article about the Access Token ends with the note, "this vulnerability was patched in Oracle CPU for October 2014." Note to self: Apply CPUs! But the topic that keeps coming up is TokenChpoken.

What is TokenChpoken?

When you authenticate (log in) to PeopleSoft, PeopleSoft sends a cookie to your browser. Thereafter, PeopleSoft identifies you by that cookie. For every request, PeopleSoft asks, "who are you?" and that cookie supplies the answer. This cookie is critical to cross-product SSO for unified navigation, Interaction Hub, etc. TokenChpoken describes how to decrypt that cookie, change the OPRID, and assume the identity of someone else. Pretty scary! But is it legitimate? As described by the TokenChpoken write-up, someone leveraging this approach must know your user ID, the SSO node name, and the node password must be discoverable through a modern brute-force attack. If you renamed your nodes and use strong passwords, you are a long way from a TokenChpoken "vulnerability." But that doesn't eliminate the potential. It is now a risk calculation.

Is TokenChpoken still relevant for today's PeopleSoft? In PeopleTools 8.56, PeopleSoft implemented a "knock knock/callback" pattern with a check token. Dan Iverson has a great write-up on this 8.56 feature. Likewise, as of 8.56, if I restart my web server while browsing PeopleSoft, PeopleSoft renders the message "unauthorized token detected." It seems like PeopleSoft now keeps a list of issued tokens in memory, and a restart clears that list. These are fantastic safeguards against a potential TokenChpoken Switch User. My thought is,

"If PeopleSoft won't accept its own token after a restart, why would it accept a modified token?"

But is this enough?

A few years ago, Colton Fischer came up with a simple way to test functionality as a different user. You log into PeopleSoft as yourself, press a bookmark in your web browser, supply the node name, node password, and the target user ID, and instantly become someone else. You may find his project here. As a developer and tester, this sounds fantastic! Through a "master password," I can assume the identity of anyone for testing purposes, of course. How does it work? It is essentially TokenChpoken in the web browser. What does that mean? TokenChpoken is alive and well.

Mitigation

As documented by Dan Iverson, setting the Check Token and node password on your nodes, as well as changing node names from something other than the default PSFT_xx, is a great start. And that start may be enough. But you might want to try Colton's bookmarklet to see if you can become someone else. If so, here is another idea: Eliminate the PS_TOKEN cookie. Eliminating the PS_TOKEN is a bit controversial as this is the "key" to PeopleSoft SSO, and it may not be the right solution for you. But here is how it works: As a request leaves a load balancer or web server, the web server/load balancer replaces PS_TOKEN with a different, randomized cookie. On re-entry, the web server/load balancer maps that random cookie to the original PS_TOKEN. PeopleSoft is unaware and functions as usual. If all of your PeopleSoft instances are behind the same load balancer and use the same domain, then SSO may work as usual, and token replacement may be a great option. If you want an off-the-shelf solution, check out Pathlock's ERP Firewall, which has built-in TokenChpoken mitigation.

Since most PeopleTools classes involve nodes and security, we talk about TokenChpoken regularly. To learn more about this topic and other PeopleTools tips, check out our website to see what we are offering next!

Friday, October 28, 2022

Triggering FieldChange from JavaScript

We love a challenge, and we believe anything is possible with PeopleTools. It is never a question of "can you?" but "how?" A customer recently shared a challenge with us:

We use a handheld scanner to enter values into a text field of a Fluid Page. After scanning, we want FieldChange PeopleCode to load data into the remainder of the page. Our solution worked great in PeopleTools 8.58, but quit working after upgrading to 8.59.

Since many scanners act as automated keyboards, sending keystrokes derived from barcodes, there are several ways to handle this. The simplest way is to include a button immediately following the data entry field and use this button to trigger FieldChange. But this got us thinking about another scenario:

How do you trigger FieldChange if you use JavaScript to update a data entry field?

 The process involves three steps:

1. Use JavaScript to update a data entry field. The JavaScript might look something like this:

document.getElementById('MYRECORD_MYFIELD_ID').value = 'The new value';

2. Stage field changes by triggering the onchange handler

document.getElementById('MYRECORD_MYFIELD_ID').onchange();

3. Trigger PeopleSoft's Ajax processing

submitAction_win0(document.win0, id);

Notice the win0 in step 3? That is a system-generated name that reflects the current window ID. PeopleSoft uses the Meta-HTML %FormName at design time.

Here is a short example I put together for the PeopleTools 8.59 Event Mapping configuration page, complete with HTML element IDs, that demonstrates using %FormName. The purpose of the fragment is to set the service name for an event and trigger PeopleSoft processing:

Please note: this is an unsupported example that worked for a specific use case but may not work for others. We provide it as an example of what's possible and as a starting point for your own solution.

Are you interested in learning more PeopleSoft Fluid tips and tricks? Be sure to enroll in one of our upcoming events!

Wednesday, October 26, 2022

Decustomization Strategies Free Webcast!

Join us Thursday, November 3, 2022, for a free 30-minute webcast describing PeopleSoft decustomization strategies such as:

  • When should you Decustomize?
  • What tools are available?
  • How do you use those tools?

Be sure to register immediately, as the webcast is next week! It all starts at 12:15 Central.


Tuesday, October 25, 2022

Announcing Configuration Day 2022!

Announcing PeopleSoft Configuration Day! Join me online Thursday, November 17th for a full day PeopleSoft education experience filled with tips and best practices. Space is limited so register now!

Register Now!

Here are some of the topics we will cover and questions we will answer:

Configuration versus Customization

  • Are Page and Field Configurator changes really configurations?
  • What about Event Mapping or Drop Zones?
  • Why does Oracle call these features "isolating customizations?"

PeopleSoft Test Framework

Isolated customizations do not appear on compare reports. But without compare reports, how do you know what to test and what to retrofit? Learn how to use PTF to regression test configurations and isolated customizations. Experience the new PTF Chrome-based recorder when you join us Thursday, November 17th.

Security

Learn about the data privacy framework and how it differs from Page and Field Configurator's Data Masking. Learn how functional business analysts may use roles to secure, hide, and mask fields.

Extending Oracle-delivered page Content

Learn how to use Related Content and Drop Zones to add more content to Oracle-delivered pages. Find out where these features are similar and where they differ. Learn when to use which tool.

HCM Application-Specific Configurations

What do My Team, Job Data, and Benefits have in common? HCM-specific configuration options. Should you use these options or the more generic PeopleTools configuration alternatives? Join us on Thursday, November 17th to find out!

Activity Guides

Should you use PeopleTools Activity Guides directly or Activity Guide Composer? Find out on Thursday, November 17th!


Register now to find the answers to these and many more questions on Thursday, November 17th.

The cost for this event is $447 per person. If you have a group of 10 or more, contact us at info@jsmpros.com for a quantity discount.

Register Now!

Saturday, October 22, 2022

REST Consumer Base URL Maintenance Idea

"Legacy" Integration Broker used nodes to identify endpoints, and we migrated nodes separately from Messages and modern Service Operations. This design offered the following benefits:

  • Reuse across 8.47- Messages and 8.48+ Service Operations,
  • Different endpoints between development and production, and
  • The ability to test node connectivity without invoking a live service.
Modern PeopleSoft REST consumption, however, requires us to specify the full endpoint URL on every Service Operation. Here is an example. Let's say I want to send absence requests to the Oracle HCM cloud. Since the current version is 11.13.18.05, I would post to a URL that looks something like: https://some.server.com/hcmRestApi/resources/11.13.18.05/absences. If I also wanted to create workers, I would post to https://some.server.com/hcmRestApi/resources/11.13.18.05/workers. Do you see the similarities? I would have two service operations pointing to the same URL base. And that is just for POST. There are also GET, PUT, and PATCH operations, which would result in further redundancy. Now, let's say I need to change my server domain name or service version. That would require me to locate and update every Service Operation that uses the old base URL.

My other concern with the current design relates to the separation between development and production. Since the full endpoint URL is stored with each Service Operation, a migration from development through to production may require an update to the endpoint URL. In a sense, this requires us to place untested configurations in production.

To work around the current design, many developers resort to code-only metadata-less integrations where they use simpler metadata constructs such as URL definitions, App Classes, and Message Catalog entries for shared reusable fragments.

We believe there is value in Integration Broker metadata, but I think we just need one change. I just proposed the following idea in the PeopleSoft IdeaLabs to simplify the maintenance of both REST Service Operations and the new 8.60 Application Services Framework consumer services. Please vote for this idea if you believe it would be beneficial.

Monday, October 17, 2022

What if Component App Classes Were Configurable?

With Fluid, PeopleSoft implemented an interesting design pattern: App Classes as Event Handlers. Properly implemented, there are some fantastic reasons to choose this pattern:

You can see Oracle's latest pattern on just about every Fluid component. A component that uses this pattern might have PreBuild PeopleCode that looks something like this:

import SOME_PACKAGE:SomeClass;
Component SOME_PACKAGE:SomeClass &handler;

&handler = create SOME_PACKAGE:SomeClass();
&handler.PreBuild();

But I had this idea... What if the code looked more like this:

import SOME_PACKAGE:SomeBaseClass;
Component SOME_PACKAGE:SomeBaseClass &handler;

Local string &className;

REM ** Select actual implementation of SomeBaseClass from a configuration table;
SQLExec("...", %Component, &className);

&handler = CreateObject(&className);
&handler.PreBuild();

Then we could override delivered behavior by subclassing and configuring our own handlers to override the delivered handlers. And I think this is the best reason to use App Classes as component event handlers. What would it take to implement this solution? Oracle would need to select the implementation class from SQL rather than hard-code its implementation into component PreBuild. But is it worth it? You know that is a fantastic question! You might say Event Mapping offers the same result but is more flexible. Let us know your thoughts in the comments!

At JSMpros, we teach PeopleTools and PeopleCode concepts like this regularly check out our website to see what we are offering next!

Saturday, October 15, 2022

PeopleTools 8.60 PTF: Where is IE 11?

I was just reviewing the fantastic PeopleTools 8.60 Highlights video and noticed something missing from the PTF Execution/Runtime Options. Here is a screenshot


Do you see something missing? Where is Internet Explorer? Internet Explorer retired on June 15, 2022, and is no longer a "supported" browser (see MOS Doc 2834591.1). Releases of 8.59 still allowed us to use IE for recording and playback as long as we chose IE from the browser list, even after support ended. But as you can see, IE 11 is not in the 8.60 screenshot. This is an important consideration as you evaluate PeopleTools 8.60. What do you think of this change? Share your thoughts in the comments! Here is a thought that I have: Dropping IE 11 as a playback and record browser means the PeopleTools team may use modern CSS features, such as Flexbox and CSS variables, without concern for legacy browsers.

Ready to learn more about PeopleSoft's Test Framework and the Chrome-based recorder? Check out our on-demand recorded and live virtual offerings. Want to train your whole team? Contact us for group pricing and scheduling.

Not sure how to get started with PTF? Here is what we recommend: As a developer, start by recording regression tests. Every time you apply a Drop Zone, Event Mapping, or Page and Field Configuration, record a simple regression test to prove your alteration still works. This approach will help you build an amazing maintainable regression test library over time.

Thursday, October 13, 2022

PeopleTools 8.60 GA

 Are you wondering when PeopleTools 8.60 will be generally available? Watch for it on OCI tomorrow! Here are the announcements from this week's PeopleSoft Reconnect conference:

  • PeopleTools 8.60.01 GA cloud-first release date is October 14, 2022
  • PeopleTools 8.60.02 GA on-premise release date is December 1, 2022
We posted a list of changes for 8.60 in our Blueprint 4D conference notes. Check it out!

JSMpros monitors releases very closely to ensure we deliver relevant, timely training using modern tools and infrastructure. That is why we teach all of our classes on PeopleTools 8.59 today and will switch to 8.60 when it is ready.

Wednesday, October 05, 2022

PeopleSoft ReConnect 2022: I'm Presenting!

PeopleSoft ReConnect begins next week! Are you ready? I'm just putting the finishing touches on my presentations. I have a ton of great ideas to share with you. Here is a list of sessions I'm delivering. See you there!



Tuesday, September 20, 2022

Fluid Fundamentals 90-minute Webcast

 I am constantly amazed at the flexibility of PeopleSoft's Fluid UX. Through AddJavaScript and AddStylesheet, we can make the user interface do or appear however we desire. But in all our cleverness, we can't neglect the fundamentals such as:

  • What are the differences between Classic and Fluid?
  • What are the purposes of the various Fluid layouts?
  • How do I align columns and fields in Fluid?
  • What do I do with related display fields? Why won't they appear beside their control fields?
  • How do you render grids on mobile?
  • Is there a place for the scroll area in Fluid?
We regularly teach Fluid development principles. As developers become familiar with Fluid's CSS capabilities, they begin writing their own CSS. Is that OK? Should we write our own CSS? Absolutely! A better question is, "when?" When should we write our own CSS? When should we inject our own JavaScript? These are the questions we answer through Fluid fundamentals. Whether you have years of experience with Fluid or you are just starting your Fluid journey, we all learn by getting back to the basics: The Fundamentals. So join us on September 29th from 1:00 to 2:30 PM Central for 90 minutes of Fluid Fundamentals. Register now!

Monday, September 19, 2022

Mock Service URLs for PeopleSoft Testing

 As you create, learn, and discover Integration Broker's capabilities, it is helpful to have mock APIs for testing purposes. Here is a list of my favorites.

Many of these services have secure and non-secure alternatives. The value of insecure testing is you don't have to import certificates. On the other hand, the secure versions help you prove your PeopleSoft certificate import skills.

Do you have some sample APIs you use? If so, please share them in the comments!

At JSMpros, we teach PeopleSoft REST and SOAP integrations regularly. Want to learn more? Check out our Integration Tools Update course to learn best practices and strategies for incorporating REST and JSON into your development process!

Wednesday, September 14, 2022

Simple Code-only REST Request

PeopleSoft is a metadata-driven application. It stands to reason, therefore, that the solutions we create require metadata. Sometimes metadata, which is supposed to be configurable, forces us down an immutable (non-configurable) path. Integration Broker is a fantastic example of semi-mutable, bordering on immutable metadata. As we prototype, we often make changes. But the testing associated with prototyping locks various metadata pieces. Sometimes we just want to test without metadata and backfill after we choose the proper path.

Here is a very simple metadata-free REST request example I run from a local App Engine program for prototyping and testing purposes.

Now, an important question:

Once you have a working "simple" solution, do you backfill and update with proper Integration Broker metadata?

Let us know your thoughts in the comments below!

At JSMpros, we teach Integration Tools concepts regularly. Check out our website to see what we are offering next!

Monday, September 12, 2022

Recordings Available!

Did you know we record all of our events? Replays are available through our online learning platform. Be sure to check out the webinar collection. Each replay includes sample code downloads, handouts, a Q&A roster, and links to additional resources. Topics include:

  • Integration (REST, SOAP, Cloud, Application Services Framework)
  • Fluid (Fundamentals, Drop Zones, Grids, Navigation, Complex CSS)
  • PeopleCode Application Classes
  • Isolated Customizations and Configuration Alternatives (Drop Zones, Event Mapping, Related Content, Related Actions, Activity Guides, Page and Field Configurator)

Do you prefer interactive training with plenty of hands-on activities? Check out our schedule to see what we are offering next!

Wednesday, August 31, 2022

Metadata-less Integration (Easy REST)

 As PeopleSoft customers move to REST, I've noticed an interesting trend: choosing code over metadata. Most of the examples I've seen online are labeled Easy or Simple. Some of the examples use fully supported documented approaches, whereas others use undocumented internal testing methods. Here are some of my favorites:

Based on those examples, REST PeopleCode really is easy! But what does that say about the metadata approach? Is it hard? Is it complex? To answer that, let's review the metadata definitions necessary to craft a REST request:

  • UR Document (if the target has parameterized URLs)
  • URI Message (if the target has parameterized URLs)
  • Request Document (if POST, PUT, or PATCH)
  • Request Message (if POST, PUT, or PATCH)
  • Response Document
  • Response Message
  • Service
  • Service Operation
  • Service Operation Security

And when you are done with the metadata configuration, you must still write code to invoke the REST request. Interestingly, invoking a REST metadata-based request requires roughly the same amount of PeopleCode as a "simple" or "easy" PeopleCode request.

So what does all that Metadata buy us? In other words, why choose metadata over pure code?

  • Logging: We can set the log level in the routing.
  • Security: OAuth and Basic Auth options can be set at the routing level.
  • Parsing: Document-based messages will parse JSON, XML, and Rowsets for us.
  • Maintenance: We can update/change URLs online rather than through PeopleCode (although a URL definition is a very simple way to maintain URLs across instances).

What if you don't require these features? Perhaps choosing the simple PeopleCode approach is better? Let us know your thoughts in the comments!

We teach PeopleTools REST and Integration regularly through our three-day Integration Tools Update course. Check out our website to see what we are offering next!

Wednesday, July 20, 2022

Which Query Security Tree?

Here is the scenario:

A user needs to create a query, but doesn't have security access to view a record. The user asks you for help.

Before running or writing queries, a user must have access to records through Query Security Trees. We assign records to trees, trees to permission lists, permission lists to roles, and roles to users. The solution is trivial: grant security access through a security tree. The difficult part is deciding which tree and which permission list. When I receive a request like this, I have two groups of questions:

  1. Is there already a query security tree that grants access to the target record? If so, which one and which permission lists? Would any of those permission lists be appropriate for this user?
  2. Is there already a query security tree available to this user that would be a good fit for this record?

Here are some SQL statements I created to help answer these questions.

Find existing trees that include the target record:

Finding Permission Lists that grant access to a specific record is more challenging. Locating permission lists that contain a tree that contains a record is trivial. Narrowing that list based on Access Group is more challenging because Access Groups represent node hierarchies and therefore require recursive logic:

Do you have SQL statements and tricks to help you manage Query Security? If so, share them in the comments!

At JSMpros, we teach PeopleTools tips like this every week. Check out our website to see what we are offering next!

Tuesday, July 12, 2022

Announcing: PeopleSoft Developer Day 2022!

Announcing PeopleSoft Developer Day 2022 with all new Content! Join us online Thursday, August 18th for a full-day PeopleSoft education experience. Filled with PeopleTools development tips and best practices, we designed this opportunity to help you build better solutions faster. Space is limited so register now!

Register Now!

I have some fantastic new content to share with you; tips and ideas that will help you deliver better, modern solutions with less effort. We lead our Developer Day webcast once per year, and pack it with a variety of PeopleTools topics. This year we'll focus on the following topics:

  • Fluid: we want you to build highly engaging, informative, modern, mobile-friendly solutions, and we want you to do it with less effort. With that in mind, we have some Fluid-specific tricks to share with you.
  • Integration: digital assistants are incredibly popular. But what makes them possible? Integration. Cloud, on-premise, payment gateways, purchasing... there are so many opportunities for integration and we want to make sure you know all the productivity secrets.
  • Isolating Customizations: with continuous delivery and the cloud's "always current" policy, it is critical that we learn to uptake new features as fast as possible. But to do that, we must reduce our customization retrofit timeline. We have great ideas to share with you in this regard, including regression testing best practices.
  • PeopleCode: nearly every PeopleSoft solution involves PeopleCode. But here's the problem: PeopleCode can be hard to read. We want to help you by showing you ways to write better, human-readable PeopleCode.

 

Register now to reserve your seat for this dynamic one-day event on Thursday, August 18th. Registrants receive 60-days access to the recording, a copy of the Q&A roster, and sample code downloads.

Take advantage of this opportunity for only $447 per person. If you have a group of 10 or more, contact us at info@jsmpros.com for a quantity discount.

Register Now!

Friday, June 10, 2022

It's a wrap! Blueprint 4D 2022 PeopleTools Recap

We just finished the fantastic Blueprint 4D conference, full of great sessions and incredible networking. It is always a pleasure to meet our JSMpros student alumni and connect with members of the PeopleSoft community.

The conference started with a great lineup from Product Strategy, including Paco sharing a broad perspective of what to expect in future PeopleSoft applications, and then focused strategy breakout sessions. It is very clear PeopleSoft is still a top-tier ERP solution. If you are a PeopleSoft developer, here are some things to watch in future releases:

  • New theme for PeopleTools 8.60. We've been watching the steady transition to the Oracle Redwood theme, and it appears the transition is complete.
  • Global Search is visible all the time, not just on homepages. To make room, PeopleSoft moved the page title down a row, in line with the component header.
  • Recent and favorite icons from the 8.59 homepage move up to the left side of the header. To make room, the back button is collapsed to an image.
  • The global actions header is now detached from an optional component-specific header. While the proliferation of dot-dot-dot menus may seem confusing, I'm pleased with the change as it is now visibly clear if a component has custom actions.
  • Configurable search is coming! Configurable search appears to be based on keyword search, which is a viable option if real-time indexing is enabled. Configurable search will be available for both Classic and Fluid. In summary, configurable search lets you configure search fields and list box items, rather than relying exclusively on search record metadata. Besides Configurable Search, using keyword search (Elastic at this time) also allows you to search for transactions from the global search bar, and the global search bar will show transaction search suggestions from your keyword search history.
  • Fluid is getting SQL Search. My interpretation of this new feature is that Fluid will finally leverage search record metadata to build search pages for us just like Classic. This will be a great time saver since current Fluid search strategies include Pivot Grids, Elastic Search, custom search pages, and custom components.
  • PeopleSoft will transition from Elastic Search to OpenSearch to be consistent with Oracle Cloud. No mention of the impact on Kibana. The timing for this is unknown as the 8.60 planned release will use ELK 7.10. Regardless, the change should be transparent as our users use the PeopleSoft search framework, not Elastic directly. Elastic changed the license with 7.11, which is why Oracle is staying with 7.10 for now, and will migrate to OpenSearch, which is based on ELK 7.10. Oracle encourages to continue creating Kibana dashboards, building indexes, etc as the change should be transparent.
  • Future releases of Cloud Manager should support using Data Science to automatically scale up and down based on load and customer-configured thresholds.
  • CSS custom properties (variables) will replace branding macros. I am very excited about this. We just released a YouTube video showing how to apply a hover effect to rows through CSS. As of 8.59, we must hardcode the hover color, border, etc. In the video, I specifically stated these colors are different than 8.57 and earlier, and hard-coded colors could present a maintenance challenge. If we can leverage PeopleSoft CSS variables, we may be able to reduce future maintenance. With each release, we still expect variable changes (new variables, etc.) just as prior releases brought new Branding Macros, but finding and updating the list with future additions should be trivial with a text compare tool.

Campus Solutions

  • PI 24 delivered Drop Zones to the following three components: Personal Details, Biographic Details, and Emergency Contacts. This is fantastic as it allows us to collect additional information about students without customizing the Oracle-delivered pages.
  • Future Fluid components will include Drop Zones and CAF.
  • 2023 planned Fluid releases include Transfer Credit, Degree Progress, Research Activities, and Program Enrollment.
  • Roadmap items include Integration with Student Management Cloud and Student Financial Planning (cloud)
  • Continued WCAG 2.1 enhancements.
  • Continued Classic Plus conversions.

Notes from Sasank's 8.59 PeopleTools session

  • Search: suggestions show history, corporate history, and the menu.
  • For your history and corporate history to appear in the list, you must enable the following indexes: PTSF_RECENT_KW and PTSF_RECENT_MENU
  • For your recent history to appear, you should also enable real-time indexing.

PeopleTools Platforms Roadmap

We could summarize the 8.60 platforms roadmap by stating that PeopleSoft has or will certify on platforms supported by the vendors of those platforms at the time of release. For example, 8.60 drops support for Windows Server 2016. A more accurate way to state that is Microsoft dropped support for Windows Server 2016, making it no longer supported by Oracle. Likewise, IE11 is missing from the browser certification matrix. Given the Oracle OpenSearch announcement made by Dave Bain. It was interesting to note PT 8.60 will release with Elastic 7.10, Kibana 7.10, Logstash 7.10. The 7.10 release predates the ELK 7.11 license change. Mark assured us ELK's support policy and end of service dates are irrelevant because Oracle maintains their own version of ELK with their own patches and their own support. In that sense, you might say we are already on Oracle OpenSearch as OpenSearch is a fork of ELK 7.10.

On another interesting note, PeopleTools 8.60 adds Excel from the Office 365 suite to the list of supported Excel versions. As Mark noted, however, this is not necessarily a product/version certification, but a license model, as Office 365 is not a version, it is a subscription license. This could be interesting as Office 365 is always current and doesn't necessarily follow numbered release versions.

Cloud Manager 14 Highlights

  • Data Science for Auto Scaling: Automatically scale up nodes on increased load. Uses Health center to identify anomolies for scaling.
  • Support for custom domain names to Cloud Manager.

Page and Field Configurator Planned Features

  • Allow page changes dynamically as the user updates information in response to FieldChange events.
  • Use system variables as criteria (date, time, etc.).
  • Streamline selection of fields for the administrator.
  • Track changes made by users to pages (change tracker). This will be field and role-based and will store before and after values. Users will be able to view change history through related content associated with the transaction. Page and Field Configurator configuration component will have a button to activate the Related Content on the target component for you. This related content will work with both Classic and Fluid. Note: This does not replace PeopleTools Audit Tables.
  • Page and Field Configurator will track views of sensitive information, logging each time a user accesses that sensitive information. By the way, this is a common feature of the Pathlock/Appsian Security Platform, usually implemented through click-to-view.
  • Changes coming for search pages: ability to change labels and apply default values.
And finally, as the conference wrapped up, Oracle completed its acquisition of Cerner. I'm expecting to hear more announcements at the HIUG Interact conference next week!

Thank you to everyone that shared at Blueprint 4D! Be sure to mark your calendars for May 8-11 for the 2023 Blueprint 4D conference!

At JSMpros, we lead PeopleTools training using the latest releases and up to date curriculum. Be sure to check out our website to see what we are offering next!

Wednesday, June 01, 2022

Join me at Quest Blueprint 4D 2022!

BLUEPRINT 4D
See it. Build it. Do it. Imagine it.

I cannot believe the #BP4D conference starts this weekend! Are you ready? Remember to register for your favorite sessions. There are so many great topics on the agenda. PeopleTools 8.60, the great implementations, and amazing ideas from PeopleSoft customers and consulting partners all at BP4D!

On Wednesday, June 8th, be sure to check out my signature session PeopleTools Tips and Techniques to learn phenomenal new ideas.

Let us know your favorite sessions and topics in the comments section below.

I look forward to seeing you in Las Vegas!

Thursday, April 14, 2022

PTF Chrome Recorder

PeopleSoft Test Framework now records with Google Chrome! As of PeopleTools 8.59.07, Google Chrome replaces Internet Explorer 11 as the PTF recorder. This is great news considering Internet Explorer 11 retires from most Windows operating systems on June 15th, 2022. We took the new recorder for a test drive and have some findings to share with you. Check it out on our YouTube channel.

Be sure to subscribe to our channel so you don't miss future updates!

The biggest changes seem to be the replacement of the "always-on-top" recorder with a side window and a right-click pop-up menu.

Are you ready for June 15th? Details about the new PTF recorder are available in My Oracle Support document 2834568.1. At this time, Oracle plans to backport the Chrome recorder to 8.58.18. The document also shares details about potentially recording with the Edge browser in a future PeopleTools release.

What are customers saying? If your site disables Chrome extension installation, then you may experience challenges with the new Chrome recorder. It appears to self-install and run when launching the PTF recorder. You may find limited details about the Chrome extension issue in MOS doc 2648652.1.

With Event Mapping, Drop Zones, and other customization isolation solutions, PTF is more important than ever! Since we no longer customize directly, compare reports don't identify potential impacts. PTF regression tests are how modern PeopleSoft developers locate isolated customizations issues. Are you ready to learn more? Check out our live and recorded PTF courses online! Do you have a team you would like to train? Contact us with the details, and let's get something scheduled.

Thursday, March 17, 2022

Announcing PeopleSoft Fluid Day 2022!

Announcing PeopleSoft Fluid Day 2022 with all new Content! Join us online Thursday, May 19th for a full-day PeopleSoft education experience. Filled with Fluid development tips and best practices, we designed this opportunity to help you build better solutions faster. Space is limited so register now!

Register Now!

With the rapid pace of change in the IT industry, it is imperative that we keep our skills sharp. That is why I'm inviting you to reserve May 19th, 2022 to sharpen your PeopleSoft skills so you can develop better solutions faster and with less effort. Save time and money while increasing customer satisfaction by learning new techniques for building intuitive, mobile and desktop-friendly solutions. Learn how to use responsive and adaptive design to make the best use of screen real estate regardless of device type. Discover new ways to present information that communicates effectively with our users. Reduce the amount of time spent training users by creating intuitive experiences.

Here are some of the topics we will cover:

Fluid Page Design

  • Experience the key development differences between Classic and Fluid
  • Learn adaptive versus responsive design techniques
  • Understand Fluid Search Strategies
  • Leverage the PeopleSoft Fluid style library to create solutions without writing CSS.

Extending Oracle-delivered Solutions

At Fluid Day 2022, we will show you some fantastic examples of using Drop Zones and Event Mapping to isolate customizations.

Testing Strategies

Learn strategies for testing mobile and desktop solutions. With Drop Zones and Event Mapping, regression testing is more important than ever!

JavaScript and CSS

PeopleSoft wrote all the JavaScript and CSS required to build Fluid solutions, which means you don't have to write your own! We'll show you how to leverage Oracle's web assets. If you want to write your own, this session will give you some great ideas. We have examples that show you how to incorporate custom CSS and JavaScript into your Fluid designs.

Data Visualizations

A modern, intuitive user experience is an experience that communicates effectively. Learn simple CSS and JavaScript techniques to build an effective user experience.


Register now to reserve your seat for this dynamic one-day event on Thursday, May 19th. Registrants receive 60-days access to the recording, a copy of the Q&A roster, and sample code downloads.

Take advantage of this opportunity for only $447 per person. If you have a group of 10 or more, contact us at info@jsmpros.com for a quantity discount.

Register Now!

Thursday, March 03, 2022

A Simple Classic to Fluid Conversion

Oracle published a fantastic document describing how Oracle converted from Classic to Fluid. This very educational document is available at Doc ID 1984833.1. Oracle's solution makes sense for Oracle because it offers customers a choice: migrate to Fluid or stay Classic. As customers, do we need to offer that same flexibility? If so, then Oracle's approach is fantastic. I find most customers are either Fluid or Classic (or some derivative thereof), and when we convert a component to Fluid, it stays Fluid. We don't, for example, have part of an organization using a Classic version while another part of the organization uses the upgraded Fluid version. With that in mind, we developed a simpler approach to Fluid conversion: the in-place conversion. This stands in contrast to the clone-and-recreate approach. We put together a playlist with several videos describing our approach:

Be sure to subscribe to our channel so you don't miss future updates!

Want to learn more? Check out our vast Fluid training library, including recorded and live virtual events, online!

Wednesday, February 16, 2022

Where is that Content Reference?

New user 'X' needs access to 'Y.' Piece of cake, right? At least it was in Classic. The entire PeopleSoft navigation model stems from Content References. The classic "Navigator" and bread-crumb menus rendered the "Structure and Content" hierarchy. Finding content references under the classic model was trivial because the online visual rendering matched the "Structure and Content" portal registry hierarchical model. After finding a Content Reference, we could review the menu/component combination as well as existing permission lists to derive a solution.

What about Fluid? Most Fluid components exist somewhere in "Structure and Content." The question is, "Where?" The Fluid navigation model consists of homepages, dashboards, tiles, navigation collections, activity guides, and WorkCenters. And we can add any Content Reference to any one of these definitions. There is no structure. We use two tools to help us find Content References:

  1. Enterprise Components > Find Object Navigation
  2. SQL
If you know the menu/component combination or the CREF ID, you can look up the path using Enterprise Components > Find Object navigation. This is very helpful.

Unfortunately, many Fluid content references share the same component, a framework component such as PT_FLDASHBOARD or PT_AGSTARTPAGE_NUI. Everyone has access to these components. Let's consider the Personal Details tile on the HCM Employee Self-Service homepage. The menu/component combination is exactly the same as Payroll. Both use a framework component. What differentiates one tile from the next is the additional URL parameters. So we put together a SQL statement to help us locate content references by URL fragment. The following SQL is Oracle-specific. Notice the URL in the WHERE clause. Replace that URL with your own. Since this SQL uses regular expressions to filter CLOB data, be sure to regex escape special characters.

There is one other way to find a CREF ID. If the target is a Fluid Dashboard, then you may visit PeopleTools > Portal > Dashboards > Manage Dashboard Pages. The properties link shows both the parent folder and the dashboard's CREF ID.

Are you interested in learning more about PeopleSoft Fluid administration and development? Check out our website for live virtual and on-demand recorded PeopleSoft Fluid training.

Tuesday, January 11, 2022

Hiding Tiles

At a conference several years ago, a friend and I were discussing PeopleSoft Fluid. Fluid was new at the time, so my friend was sharing his vision for making Fluid better. One of his ideas was to dynamically hide tiles. For example, if an employee has an Onboarding event, show the onboarding tile. Likewise, if a student has holds or "To Do's," then show a tile. I thought this was a fantastic idea and came up with a few ways to make this happen. If you are using PeopleTools 8.54 through 8.58, here are some options:

  • Use Dynamic Role Rules to add/remove a role that grants access to the target tile. This is the easiest approach and the most adopted method for dynamic access to tiles. For this to work properly, a tile should be marked as required.
  • Use Event Mapping to hide a tile. The PeopleSoft tile homepage is a cleverly formatted Fluid DIV Grid. Each tile represents one row in a grid. Through PageActivate Event Mapping, we can selectively show or hide rows by setting a row's Visible property. As you iterate over the list of rows, evaluate criteria and set the row's visbility accordingly.

What about 8.59? Why did I recommend these strategies for 8.58 and earlier and not 8.59? There is a new PeopleTools 8.59 feature that lets you configure a tile's visibility. Tammy Boyles from Oracle Product Management shared about how HCM uses this new feature last month. Here are the steps:

  1. Create an App Class that extends PTGP_APPCLASS_TILE:API:TileAppFilter.
  2. Put your conditional logic in the IsTileVisible method, returning True to show or False to hide.
  3. Add the content reference attribute TILEAPPFILTER to your tile's content reference.
  4. Open the appropriate homepage content reference and mark the tile as required.

Once you configure a TILEAPPFILTER attribute, the tile will no longer show in the "Personalize Homepage" list of available tiles, so users may no longer add or remove this tile. Therefore, a tile that has a TILEAPPFILTER attribute must be marked as required.

Do you want to see an example? Join us on November 18th, 2021 for Configuration Day 2021 to see this and many other new 8.59 features in action.

At JSMpros, we teach PeopleTools topics like this every week. In fact, this specific topic is part of our continuously updated Configure, Don't Customize course. Be sure to check out our website for more information about this and many other PeopleTools topics.