Category: PeopleTools

HEUG: PeopleSoft Test Framework Review

Today, I also attended the PeopleSoft Test Framework: Simplifying Upgrade and Maintenance session by Scott Schafer.  Again, I was very impressed with the tool.  I think this is going to revolution implementation projects in PeopleSoft and routine maintenance for systems.

Scott listed many of the advantages of PTF as the test framework is frequently called.  The PTF has a record and playback feature that allows a power user to easily generate a test by recording his actions in the system.  One of the key features is that PTF understands PeopleTools metadata.  It does not just record clicks on the screen at a specific coordinate but clicks on a particular record, field on a particular row.  Also, because they are managed as PeopleTools objects, the tests are comparable between environments and migrate-able to another environment.

First, Scott discussed the Usage Monitor.  He said it was an extension of the Performance Monitor.  I need experiment some more with this because I didn’t quit understand whether or not a full implementation of Performance Monitor is required.  Basically, this tool tells you which of the delivered objects you actually use.  You turn the monitor on in production, and it records which objects get touched by your every day use.

One of the questions I would have is how accurate is this list of objects?  I mean what about periodic events such as year-end processing?  Unless you keep your monitor on for a full year or you happen to build your list during the year-end time frame, you are not going to get objects specific to that process.

Next, Scott mentioned a new feature of App Designer.  Now, it stores the compare report data in the database.  So, you can build your own tools to automate processing the compare results.

Then, Scott demoed the product.  He showed how you can click a record button.  The browser would open and you could perform a basic activity in PeopleSoft.  The client tool would list the steps that you went through to make the activity happen.  Then, he clicked the play button, and he showed how it would step through those actions rather quickly to reproduce the activity.  Finally, he showed how an error would stop the test and show the problem.

The cool part is the object tracking.  Each test represents a business process.  PeopleTools tracks the objects related to the test.  Therefore, you can tie an object to a business process.  Also, your usage data shows you which objects you use, and you can make sure that you have a test for each one of those objects.  Finally, you can compare the objects included in a bundle or maintenance pack with your usage data to see which part of it affects you.  Again, you can then tie that back to the tests and see which business processes gets affected by the new code/objects.

All in all, I think this is the first iteration of a cool tool that will revolutionize PeopleTools.

HEUG: PeopleTools Tips and Tricks Review

Today, I attended Jim Marion’s PeopleTools Tips and Tricks session at the HEUG Alliance 2011 conference.  I really enjoyed the session, and now I need a client who wants one of the features that Jim discussed in the session.  I’m eager to try this stuff out!

First, I learned that I have the personality of a cheesehead!  But, that’s okay.  I can admit to the geek label.  Also, I was only 4 chairs away from getting the free book!  Oh well, I am going to have to quit being cheap and just buy it.  After hearing the session, I really want it now.

The first topic presented was the use of Pagelets.  One of the cool parts about them is that they aren’t a customization.  Rather, they are considered configuration.  So, they are a great way to add to your system without having to customize and worry about upgrade costs.

One of the examples was to take a YouTube video and get the embed HTML to include in a Pagelet.  Another example was to place a navigation collection on the home page.  Then, I thought it was really cool to see how the XSL Template was used to make the collection a accordion style menu.

In passing, Jim pointed out the differences in the tools navigation between 8.50 and 8.51.  I think I read this on the Grey-Sparling blog but didn’t understand it.  In 8.50, you just hover over the folder in the menu to open it, but in tools 8.51, you have to click each folder to open it.  Something to watch out for…

The related content is a great tool.  Two of the cool examples were to take the title of a page and display Google search results next to the PeopleSoft page.  Similarly, the other example displayed search results from Amazon based on the page title.  I have a scenario where I would like to display a customized data page beside the delivered data without customizing the delivered component.  Related content solves that problem.  I wish Jim would have had the time to delve into how he set up the Related Content.

Integration Broker Ajax was another topic that was great to see.  Again, I wish he would have had time to show how he was able to make it work.  I know that Integration Broker is a complicated topic, and it would have taken way too long.

The Mobile app idea was quite interesting.  I know how to create a native Android application, but I didn’t realize that you could create an HTML 5 app that would run across the different mobile platforms — something to look into.  Then, using Integration Broker to power it was a great idea.

Finally, Jim suggested using Fiddler and Wireshark as troubleshooting tools because you can see what data passes between systems/clients.  It was nice to see that work and you can use it to troubleshoot setup.

Step By Step: PeopleTools 8.51 Upgrade (Part 6)

Next, you need to boot the web server.  To do so, open a command window, and go to the <PS Home>/webserv/<domain name>/bin directory.  Then, type “startManagedWebLogic.cmd PIA”.

When I tried, it gave me an error when booting.  I think the error is because I am using Sun’s version of the JDK, and it trying to pass a JRocket specific command line option:

I fixed it by opening the setEnv.cmd file.  Then, I removed the first three options from the JAVA_OPTIONS_WIN variable.  So, I copied the set JAVA_OPTIONS_WIN line and commented out the original.  I deleted “-jrockit -XnoOpt -XXnoJITInline”.

I found another -jrockit location in the file, too, and I did the same thing, but I still had an issue with authentication.  So, I decided to go back to the -jrockit options, and I set the Java Home to my JRockit installation:

</p>
<div id="_mcePaste"><Feb 11, 2011 9:42:07 PM EST> <Critical> <Security> <BEA-090402> <Authentication</div>
<div id="_mcePaste">denied: Boot identity not valid; The user name and/or password from the boot id</div>
<div id="_mcePaste">entity file (boot.properties) is not valid. The boot identity may have been chan</div>
<div id="_mcePaste">ged since the boot identity file was created. Please edit and update the boot id</div>
<div id="_mcePaste">entity file with the proper values of username and password. The first time the</div>
<div id="_mcePaste">updated boot identity file is used to start the server, these new values are enc</div>
<div id="_mcePaste">rypted.></div>
<div id="_mcePaste"><Feb 11, 2011 9:42:07 PM EST> <Critical> <WebLogicServer> <BEA-000386> <Server s</div>
<div id="_mcePaste">ubsystem failed. Reason: weblogic.security.SecurityInitializationException: Auth</div>
<div id="_mcePaste">entication denied: Boot identity not valid; The user name and/or password from t</div>
<div id="_mcePaste">he boot identity file (boot.properties) is not valid. The boot identity may have</div>
<div id="_mcePaste">been changed since the boot identity file was created. Please edit and update t</div>
<div id="_mcePaste">he boot identity file with the proper values of username and password. The first</div>
<div id="_mcePaste">time the updated boot identity file is used to start the server, these new valu</div>
<div id="_mcePaste">es are encrypted.</div>
<div id="_mcePaste">weblogic.security.SecurityInitializationException: Authentication denied: Boot i</div>
<div id="_mcePaste">dentity not valid; The user name and/or password from the boot identity file (bo</div>
<div id="_mcePaste">ot.properties) is not valid. The boot identity may have been changed since the b</div>
<div id="_mcePaste">oot identity file was created. Please edit and update the boot identity file wit</div>
<div id="_mcePaste">h the proper values of username and password. The first time the updated boot id</div>
<div id="_mcePaste">entity file is used to start the server, these new values are encrypted.</div>
<div id="_mcePaste">at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.do</div>
<div id="_mcePaste">BootAuthorization(CommonSecurityServiceManagerDelegateImpl.java:959)</div>
<div id="_mcePaste">at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.in</div>
<div id="_mcePaste">itialize(CommonSecurityServiceManagerDelegateImpl.java:1050)</div>
<div id="_mcePaste">at weblogic.security.service.SecurityServiceManager.initialize(SecurityS</div>
<div id="_mcePaste">erviceManager.java:875)</div>
<div id="_mcePaste">at weblogic.security.SecurityService.start(SecurityService.java:141)</div>
<div id="_mcePaste">at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)</div>
<div id="_mcePaste">Truncated. see log file for complete stacktrace</div>
<div id="_mcePaste">Caused By: javax.security.auth.login.FailedLoginException: [Security:090303]Auth</div>
<div id="_mcePaste">entication Failed: User system weblogic.security.providers.authentication.LDAPAt</div>
<div id="_mcePaste">nDelegateException: [Security:090295]caught unexpected exception</div>
<div id="_mcePaste">at weblogic.security.providers.authentication.LDAPAtnLoginModuleImpl.log</div>
<div id="_mcePaste">in(LDAPAtnLoginModuleImpl.java:244)</div>
<div id="_mcePaste">at com.bea.common.security.internal.service.LoginModuleWrapper$1.run(Log</div>
<div id="_mcePaste">inModuleWrapper.java:110)</div>
<div id="_mcePaste">at com.bea.common.security.internal.service.LoginModuleWrapper.login(Log</div>
<div id="_mcePaste">inModuleWrapper.java:106)</div>
<div id="_mcePaste">at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</div>
<div id="_mcePaste">at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.</div>
<div id="_mcePaste">java:39)</div>
<div id="_mcePaste">Truncated. see log file for complete stacktrace</div>
<div id="_mcePaste">></div>
<div id="_mcePaste"><Feb 11, 2011 9:42:07 PM EST> <Notice> <WebLogicServer> <BEA-000365> <Server sta</div>
<div id="_mcePaste">te changed to FAILED></div>
<div id="_mcePaste"><Feb 11, 2011 9:42:07 PM EST> <Error> <WebLogicServer> <BEA-000383> <A critical</div>
<div id="_mcePaste">service failed. The server will shut itself down></div>
<div id="_mcePaste"><Feb 11, 2011 9:42:08 PM EST> <Notice> <WebLogicServer> <BEA-000365> <Server sta</div>
<div id="_mcePaste">te changed to FORCE_SHUTTING_DOWN></div>
<div id="_mcePaste">WebLogic is no longer running.</div>
<p>

The solution ended out being to start the Admin server first.  So, from the PIA home bin directory, run “startWebLogicAdmin.cmd”:

Then, “startManagedWeblogic.cmd PIA” works:

And, it works now!

So, that wraps up our booting the servers step:

 

Please continue with Step 7.

 

Resources

Step By Step: PeopleTools 8.51 Upgrade (Part 5)

This is a continuation of my PeopleTools 8.51 posts.  This part discusses running the Change Assistant job.

Please see my Step by Step page for more articles like this, or you can start at the beginning of this series withPart 1.

Read More

Step By Step: PeopleTools 8.51 Upgrade (Part 3)

This is a continuation of my PeopleTools 8.51 posts.  In this part, we are looking at installing WebLogic and the PIA.

Sorry it has taken a while to get this post proofread — I was sick this weekend and had family visiting as well.  I will try to keep the others coming soon.

Read More

Step By Step: PeopleTools 8.51 Upgrade (Part 2)

This step by step continues from the previous part 1.  In that part, we simply prepared the system.  Now, we are ready to install software.

Again, I am following the “Enterprise PeopleTools 8.51 Update” document from Oracle.

Read More

Step By Step: PeopleTools 8.51 Upgrade (Part 1b)

This is a continuation of Part 1.  Actually, I got part way through part 2, and I realized that I needed to upgrade Tuxedo to the latest version.  I didn’t find that in the instructions that I was going through.   So, anyway here are the steps I took to upgrade.

Read More

Step By Step: PeopleTools 8.51 Upgrade (Part 1)

I wanted to test drive the new PeopleTools 8.51, and I decided to try it in a copy of my personal HCM 9.0 Environment.  In addition, I thought this would make a great Step-By-Step article.  Please comment on anything you see that I missed.

To do this, I am following the “Enterprise PeopleTools 8.51 Update” document from Oracle.

Just to give you an idea of what I have running — this is an image with PeopleTools 8.49.12.  It already has WebLogic, PIA, the app server, and batch server running fine.

This first part is just preparing for the upgrade.

Read More

New Tables

I found some additional PeopleTools system tables that I am adding to my reference.

The PSPNLCNTRLDATA table stores additional settings for each field on the page.  For example, it holds the new fields PTGRDLAYOUT and GRIDROWS in PeopleTools 8.50 relating to scrollable grids.

The PSPNLFIELDEXT table also stores additional settings for the fields on the page.

The PSPTPNLRTEDITOR is a new table to PeopleTools 8.50 that stores settings related to the new rich-text editor on long character fields.

In the process of researching, I found a huge PeopleTools Tables Reference.

Here is another related tid-bit.  Here is how to decipher the bits in the UseEdit flag (for Oracle):

SELECT FIELDNAME, USEEDIT ,
BITAND(USEEDIT,1) BIT1,
BITAND(USEEDIT,2) BIT2,
BITAND(USEEDIT,4) BIT4,
BITAND(USEEDIT,8) BIT8,
BITAND(USEEDIT,16) BIT16,
BITAND(USEEDIT,32) BIT32,
BITAND(USEEDIT,64) BIT64,
BITAND(USEEDIT,128) BIT128,
BITAND(USEEDIT,256) BIT256,
BITAND(USEEDIT,512) BIT512,
BITAND(USEEDIT,1024) BIT1024,
BITAND(USEEDIT,2048) BIT2048,
BITAND(USEEDIT,4096) BIT4096,
BITAND(USEEDIT,8192) BIT8192,
BITAND(USEEDIT,16384) BIT16384,
BITAND(USEEDIT,32768) BIT32768,
BITAND(USEEDIT,65536) BIT65536,
BITAND(USEEDIT,131072) BIT131072,
BITAND(USEEDIT,262144) BIT262144,
BITAND(USEEDIT,524288) BIT524288,
BITAND(USEEDIT,1048576) BIT1048576,
BITAND(USEEDIT,2097152) BIT2097152,
BITAND(USEEDIT,4194304) BIT4194304,
BITAND(USEEDIT,8388608) BIT8388608,
BITAND(USEEDIT,16777216) BIT16777216,
BITAND(USEEDIT,33554432) BIT33554432,
BITAND(USEEDIT,67108864) BIT67108864,
BITAND(USEEDIT,134217728) BIT134217728,
BITAND(USEEDIT,268435456) BIT268435456
FROM PSRECFIELDALL
WHERE RECNAME = 'MIS_TEST_LONG'
AND FIELDNAME IN ('EMPLID', 'ACTION_TEXT');

For a reference on the UseEdit field, check out this link. I found that the second to last one is the new “Allow Search Events for Prompt Dialogs” option.  To find records that have this option selected, you can use this query:

SELECT * FROM PSRECFIELDALL 
WHERE BITAND(USEEDIT,134217728) <> 0;