#74 – Killing COBOL

This week on the podcast, Kyle and Dan talk about planning PeopleTools and Catch-up projects, BI Publisher security, and how to turn off excessive BI Publisher logging. We also talk about slowly killing COBOL with PeopleSoft (it’s not dead yet) and using multiple Change Assistant installations.

Show Notes

PeopleSoft and Touch Icons

I was looking through my web server logs and noticed that they contained a large amount of 404 errors for /apple-touch-icon*.png and /favicon.ico requests. The /apple-touch-icon*.png requests come from mobile devices (mostly iOS, but also some Android) and all browsers will look for the favicon.ico image file. Here is 24 hours of our top 404 requests:

Today's Top 404 Requests

The files are used as an icon if the a user saves the website to their device’s homepage, or it shows up on pinned tabs and bookmarks. That’s a nice feature, but I want to clean up my log files and removing the extraneous 404 responses. Let’s generate the images that mobile devices and browsers expect and clean up our log files. As an added benefit, we’ll generate some nice icons to add polish to our application and be more mobile-friendly.

Create apple-touch-icon.png

The first step is to decide what image you want as the icon. For my demo system, I’ll use “io” logo; it’s a simple and clean logo that will look good as a small icon. It’s best to choose and image that will look good as a square. Because phones and tablets use different size icons, we could go through the work of creating different sizes by hand, but there is web site that does all the work for us: RealFavIconGenerator.

The site is simple to work with – upload the image you want to use, change any configuration for the different images and site title, then download a zip file. You’ll also get some HTML elements to add to your signon page (signin.html if you are using the default file)

A preview of your icon on iOS, Android, and browser tabs:

The site also generates some HTML elements to put in the <head> section of your login page. All browsers will read these values to determine which icons files to use.

<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="/manifest.json">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#04a6ff">
<meta name="apple-mobile-web-app-title" content="psadmin.io">
<meta name="application-name" content="psadmin.io">
<meta name="theme-color" content="#ffffff">

Deploy the Touch Icons

At this point, we have some HTML to add to our signin.html file, and a zip file that we need to deploy and extract. We can manually modify and copy each file to the web server, but let’s use the DPK and Puppet to deploy these files.

touch-icon.pp

This puppet manifest assumes you have things in place:

  • Your web domains and sites defined in psft_customizations.yaml
  • This is written for Windows, but it can easily be adapted for Linux.
  • Powershell 4 or higher installed (to use the Expand-Archive command)
  • The puppetlabs-powershell Puppet module is installed (puppet module install puppetlabs-powershell to install the module)
  • The updated signin.html and favicons.zip files on a network share

At a high level, this is what the touch-icon.pp manifest does:

  1. Define the network share where to grab the files
  2. Grab the list of PIA domains into pia_domain_list
  3. Deploy the favicons.zip to the PORTAL.war folder
  4. Extract the favicons.zip file so each image and file is at the web server’s root level
  5. Grab the list of PIA sites for the domain into site_list
  6. Deploy the updated signin.html to each site

To run the manifest, navigate to C:\ProgramData\PuppetLabs\puppet\etc\manifests and save the file as touch-icon.pp. Then run puppet apply .\touch-icon.pp --trace --debug.

Before and After for Mobile Devices

Here are two screen shots from my iPhone when I add PeopleSoft to the homepage. In the first screenshot you can see the icon is a tiny version of the login page and the title is generic. In the second screenshot (after deploying the files) you can see the excellent icon and the simple title.

Before

After

#73 – Oracle Configuration Manager

This week on the podcast, Kyle and Dan talk about Query Manager bugs, changing how they apply CPU Patches, and testing partial database refreshes. Then Dan gives an overview of Oracle Configuration Manager and laments it’s unsupported status.

Show Notes

  • Collaborate Sessions
  • PeopleTools Ideas Page @ 3:30
  • IDDA Logging Follow-up @ 4:15
  • Query Manager / JSON bug @ 6:00
  • Changing how you apply CPU Patches @ 10:15
  • ProcessRestartMemoryLimit Parameter @ 18:15
  • Testing localapp @ 24:45
  • PTF being slow @ 29:15
  • SRID in Access Log @ 32:30
  • Populating Correlation Fields @ 35:30
  • Partial database refresh to grab old code @ 37:30
  • [Keeping Older PI Images] (https://support.oracle.com/epmos/faces/DocumentDisplay?id=1579720.1) @ 40:30
  • How do you do it: Booting domains: Serial or Parallel? @ 45:45
  • Oracle Configuration Manager @ 48:15

#72 – Alliance 2017 Recap

This week on the podcast, Dan and Kyle review some of the highlights from the Alliance conference. Then, they talk about about the history of PTF, hidden gems in PeopleTools, upcoming 8.56 changes and more.

Show Notes

  • Collaborate Sessions
  • PeopleTools Roadmap Session @ 2:30
    • 8.56 Supported Platform Changes
    • DPK Improvements
    • Virtual CD End of Life
  • Extending PeopleSoft the Fluid Way @ 12:00
    • Fluid Nav Collections
    • Update Save Event Mapping
  • DevOps and PeopleSoft @ 21:30
    • Calculating Automation Time Savings
  • PS Admin Toolbelt @ 25:30
  • PeopleSoft Automation and Deployment @ 31:30
    • PS_APP_HOME Patching
  • PeopleSoft Cloud Architecture Tips @ 38:00
  • PeopleTools Product Panel @ 42:15
  • Lifecycle Management Panel @ 51:45

ps-availability Version 2.0

About a year ago, I posted a project to check on the status of all our PeopleSoft environments. Our status page has become an important part of monitoring our environments. I check that page every morning and the email alerts let me be proactive in addressing environment issues. We also embedded the status page into our support teams homepage, so any team member can quickly see the status of environments.

I made some improvements to the script over the last year and am releasing them as version 2.0. The improvements for version 2.0 are:

  • Checking for Stale process schedulers. In version 1, I simply grabbed the process scheduler status and reported on that. But, if your scheduler crashes it won’t update the server status table. So, you can get situations where the page says your scheduler is running but it’s not. In version 2.0, you can configure a Stale Interval to compare the last updated time. If the last update is greater than the interval, it will report the scheduler as “Stale”.
  • I removed the interim Markdown tables that were used to create the HTML table, which let me remove the Redcarpet gem dependency. In version 2.0, the HTML tables are built as the data is collected. This let’s the script dynamically add classes for formatting, but it also lets us build more complex tables.
  • IB Domain Status reporting is in version 2.0. The status of the IB domains doesn’t impact the notifications (partly because we have some domains Inactive on purpose), but you can click on an environment row to see a report from the IB Domains page. The row embeds a table with your IB domain status so you can quickly check the status.
  • You can specify a homepage check for both Classic and Fluid so you don’t have to use the same title for both homepages. This is also useful if you are starting to roll out Fluid in some environments, but have Classic in others.

Here is a screenshot of the new status page:

version2

There are three new configuration options (in the psavailability.rb script – on the list for future improvements) with version 2.0:

  • Fluid Homepage Title Check (default: Homepage)
  • Time Zone (default: US Central)
  • Stale Interval (default: 10 minutes)

Go visit the GitHub repository to download the project and get started.

#71 – DevOps and Ansible w/ Jason Gilfoil and Eric Bolinger

This week we podcast from the Alliance 2017 Conference in Las Vegas. Jason Gilfoil and Eric Bolinger join us to talk about DevOps and Ansible with PeopleSoft. We talk about application orchestration, mixing Ansible and Puppet, customizing the DPK and more.

Show Notes

  • Introducing Jason Gilfoil @ 1:30
  • Introducing Eric Bolinger @ 2:45
  • What is Ansible? @ 3:30
  • What is Orchestration? @ 8:00
  • Differences between Puppet and Ansible @ 12:00
  • Puppet Master, Hiera Hash and the DPK @ 15:15
  • Managing infrastructure code with Git @ 20:45
  • Adjusting to a DevOps culture @ 27:00
  • Getting automation started in your organization @ 30:30
  • Calculating Time Saving for Automation @ 35:30
  • Choosing an automation tool @ 41:30
  • Docker @ 43:00
  • Personal Development Environments @ 45:45
  • Starting to think “cloud” @ 50:00

Running Change Assistant without “as Administrator”

One annoyance with Change Assistant (among a few) is that you have to start it “as Administrator”. If you don’t, you’ll get the message “Another instance of Change Assistant is already running” (even though it’s not). While running a program “as Administrator” is not hard, there is no reason why Change Assistant needs Administrative rights. (At least that I know of).

Folder Security

The fix to run Change Assistant without Administrator is to set the folder security permissions correctly. If you install Change Assistant to the default directory, C:\Program Files\PeopleSoft\Change Assistant, the Change Assistant folder security needs to be updated. Grant the user (or group) who will be running Change Assistant Full Control over the directory. In my case, I granted the group “Authenticated Users” full access to the folder.

Screen Shot 2017-03-08 at 5.17.53 PM

Now you can start Change Assistant as a normal application.

PeopleTools Idea

There is an Idea on the Oracle PeopleSoft Space for the PeopleTools team to fix this. If you want to vote for the Idea, you can do that here.

I don’t remember where I originally saw this solution, so I can’t give appropriate credit, but I want to thank whoever posted about this in the past.

#70 – Attachments

This week on the podcast, Kyle and Dan talk about Log Correlation fields, resetting SES security filters, and getting started with the ACM. Then they dig into storing attachments and searching attachments with SES and Elasticsearch.

Show Notes