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!