psadmin.conf: Development

The second set of psadmin.conf videos are available! These videos are two Blitz Talks on Development. Staci Ludwig shares 10 things you need to know about Nodes and Kyle Benson shares a project that helps integrate Git and App Designer.

We have released the videos as a free course so you can find the videos in one place. Head over to the psadmin.io courses page and sign up. If you have already signed up for the course, you can log in and the videos will be available.

#55 – 2FA and Event Mapping w/ Colton Fischer

This week on the podcast, Colton Fischer joins us to talk about 2 Factor Authentication (2FA) and Event Mapping. Colton explains what 2FA is, how to implement it, and how he used Event Mapping to add it to PeopleSoft. We also talk about Servlet Filters and using REST-based API’s with PeopleTools.

We want to make this podcast part of the community discussion on PeopleSoft administration. If you have comments, feedback, or topics you’d like us to talk about, we want to hear from you! You can email us at podcast@psadmin.io, tweet us at @psa_io, or use the Twitter hashtag #psadminpodcast.

You can listen to the podcast here on psadmin.io or subscribe with your favorite podcast player using the URL below, or subscribe in iTunes.

Podcast RSS Feed

Show Notes

#46 – OpenWorld 2016 Predictions

This week, Dan and Kyle discuss decommissioning software that isn’t used, PeopleCode documentation pet-peeves and how to start using Puppet before upgrading to 8.55. We end the episode with predictions for OpenWorld 2016.

We want to make this podcast part of the community discussion on PeopleSoft administration. If you have comments, feedback, or topics you’d like us to talk about, we want to hear from you! You can email us at podcast@psadmin.io, tweet us at @psa_io, or use the Twitter hashtag #psadminpodcast.

You can listen to the podcast here on psadmin.io or subscribe with your favorite podcast player using the URL below, or subscribe in iTunes.

Podcast RSS Feed

Show Notes

  • OOW 2016 @ :30
  • psadmin.io Community Benefits @ 1:30
  • Hidden psadmin menu option @ 6:00
  • Elasticsearch Release Date Change @ 8:00
  • Missing Trace Files @ 10:45
  • PeopleTools Delta Projects @ 15:00
  • PeopleCode PeopleTools Check @ 27:15

    #If #ToolsRel >= "8.54" #Then
       import PTPN_PUBLISH:PublishToWindow;
    #End-If
    
  • PeopleCode Documentation Pet-Peeve @ 31:45

  • Two Roles for Applying PUM Maintenance @ 35:45

  • Adventures in MOS: UPK Support with 8.55 @ 37:00

  • Decomissioning Software @ 39:00
  • SR to Bug @ 41:30
  • Getting Started with Rundeck and PeopleSoft @ 43:00
  • Getting Started with Puppet before Upgrading to 8.55 @ 44:45
  • OOW 2016 Predictions @ 52:30

#40 – UI Development w/ Sasank Vemana

This week, Kyle interviews Sasank Vemana about User Interface development in PeopleSoft. Sasank presented at Reconnect and shared some great projects he’s done to improve the UI in PeopleSoft. Dan and Kyle also discuss uploading Customer Data into the PUM and how we arrange our monitors.

We want to make this podcast part of the community discussion on PeopleSoft administration. If you have comments, feedback, or topics you’d like us to talk about, we want to hear from you! You can email us at podcast@psadmin.io, tweet us at @psa_io, or use the Twitter hashtag #psadminpodcast.

You can listen to the podcast here on psadmin.io or subscribe with your favorite podcast player using the URL below, or subscribe in iTunes.

Podcast RSS Feed

Show Notes

8.55 – Log Analyzer

The Log Analyzer is a new PeopleTools 8.55 tool that helps you get more information from App Engine trace files. Log Analyzer is specific to analyzing App Engine traces. It feels like a simplified version of TraceMagic (a good thing!). If you have used TraceMagic for PeopleCode, or the Trace2SQL utility to parse .tracesql files, Log Analyzer feels like the two tools combined.

Trace Settings

You need to set the App Engine trace settings to at least these values in the psprcs.cfg file for the Log Analyzer to work:

  • Trace SQL: 3
  • Trace PC: 64

If you are using Config Manager, that translates to these options:

PeopleCode Trace

  • Trace Start of Programs

App Engine Trace

  • Step
  • SQL

Last, you can set them at the process level:

  • -TRACE 3 -TOOLSTRACEPC 64

You can use higher trace values, but these are the minimum for the Log Analyzer to correctly parse your files. Make sure to specify the App Engine SQL trace. If you select the PeopleTools SQL trace, you won’t get an *.AET file when the app engine runs. You can generate a SQL trace (.tracesql) and an App Engine trace (.AET). But at a minimum, you need an *.AET file. Log Analyzer also uses the .TRC PeopleCode trace file.

Log Analyzer GUI

The Log Analyzer tool is a separate java application located under PS_HOME\bin\client\winx86\AELogAnalyzerTool. To launch the tool, run the runTraceAnalyzer.bat batch script. After launching the tool, you’ll see an empty screen. You need to load in an *.AET file.

Screen Shot 2015-12-30 at 1.38.48 PM

Once you load an *.AET trace file, the Log Analyzer will display the heirarchy of the trace program in the lower window. You can expand each section and click on the SQL steps. To view the associated SQL and parameters, click on the “View Details” button. You can also look at the trace in execution order (without the parent/child nesting) by clicking on the “Linearize” button.

Load PeopleCode

If you generate a PeopleCode .TRC trace file, you can import the .TRC file into Log Analyzer. If the trace file has the “Trace Start of Programs” lines (value 64), Log Analyzer will correlate the PeopleCode statements to the app engine step. In the lower window, you can click on the PeopleCode step and view the PeopleCode much like the SQL.

Apply Filters

Log Analyzer has different ways to filter and view your trace file. There are four options to view the different SQL operations: insert, select, update, delete. You can also filter the log output based on a text value, the duration of the step (useful for tuning), or by the number of rows updated.


Log Analyzer feels like a new tool. It functions are still limited (you can filter, but not search), but I think it will be a great tool to add for admins and developers. If you have used TraceMagic, Log Analyzer will be easy to pick up.

8.55 – Reduce your Customizations!

In Episode 8 of the PeopleSoft Administrator Podcast, we dug into a new feature in PeopleTools 8.55. The Related Content Framework (RCF) gained the ability to map custom code to Component events. This change could drastically change how developers approach customizations. (Thanks to Chris Malek at the Cedar Hills Group blog for posting about this.) The Related Content Framework in 8.55 has the ability to insert custom code into the component processor. This means you can insert custom code without changing any delivered code. You map a custom app class to an existing Component or Component Record event and your custom code will execute before or after the event. You can code customizations and not touch any delivered code! Your app class has full access ot the the component buffer, so you can modify scrolls, page components and more. You can write any PeopleCode that is acceptable in a FieldChange event (no DoSave, etc). That still leaves a wide range of customization that could be removed from delivered code and dropped into a custom app class. Kyle made a great point in the podcast: You could organize your modifications in app packages. For example, group all of your HR modifications in an app packages and each customization could be it’s own class. That would make documentation and knowledge transfer substantially easier.  [Kyle] I was thinking about this more. I think something like this would be awesome. Overall package would be per module. Then sub packages would be per component, then the app class would be the PC for a certain event. You could create Component Record subclass under that as well, with their classes. That way, you group classes by component if those components have multiple events customized. For example:
* IO_RCF_HR
* JOB
* PreBuild_Pre
* PreBuild_Post
* SavePostChange_Pre
* JOB_JR
* InsertRow_Pre
* SaveEdit_Post [Dan] There are some limitations though. You can only insert code before or after a delivered event. With a little creativity I think many of the limitations can be worked around. This won’t replace all your customizations, but it’s a great start!

Update: We posted a demo of Event Mapping in action.

PeopleTools Mobile Book

Jim Marion is releasing a new book on writing mobile applications with PeopleTools.

Fluid and MAP have been out for about a year. If you guessed that a new PeopleTools mobile book would cover these mobile technologies, you guessed correctly. But I saw no reason to stop there. After describing how to use Fluid and MAP, the book moves on to building responsive mobile applications using standard HTML5 development tools and libraries including jQuery mobile and AngularJS.

I’m excited for this book. Jim is a great writer and knows PeopleTools inside and out. You can pre-order it now.