Step By Step: PeopleTools 8.51.0 to 8.51.11



I had hoped to be able to get the PeopleTools Testing Framework posts complete before I proceeded to installing the latest update patch for PeopleTools. After constantly reading that you need to update to the latest for PTF, I decided I was being silly, and I broke down and went through the update.

Here’s what I did:
(more…)


Share

Great Links: PeopleTools 8.52 Hype

I have seen several articles on the next version of PeopleTools.  So, here are the links.  The best date I have seen so far is Quarter 3 of 2011.

Articles:


Share

Troubleshooting Report Repository Error

I thought I had my environment built, but I keep finding little problems.  Well, this time it was the report repository.  I got the reports posting, and I thought I was home free.  The solution ended out being simpler than I thought.

Let me just walk you through some of the things I checked to see if it helps any of the problems you may be having.

My specific error was: “Site name is not valid“.

The cause was that my Report Repository path was not configured.  PeopleTools > Web Profile > Web Profile Configuration

Blank Report Repository Path

The catch was that somehow I got mixed up on which Profile I was using.  You can check your profile easily from the Web Profile History:

Determining Current Web Profile from Last Loaded

On the search page of the Web Profile History, you can see which profile was loaded last.  You can sort the list by clicking on the “Profile was Loaded” heading.  If you click a second time, it will sort it descending.  Notice that previously I was using the Dev profile on port 8000.  When I last installed PIA, I must have configured it for the Prod profile on Port 80.  So now, I need to configure things on the Prod profile.

Here’s some other things you can check.  Make sure your distribution node is connected to your server:

Report Node connecting to Server

Then, check the Report Node.  Make sure the URL matches the URL you are using to connect to the Portal.  The domain name and port should match.  If there is no port number like mine, you are using port number 80.  Then, check the portal domain name.  For me, I am using the default “ps”.

According to this post, you also need to check the local node.  In PeopleTools > Portal > Node Definitions, look for the node with Local Node set to “Y”:

Default Local Node Search

Now, make sure the node is set to password authentication.  I am not sure what else to check here.

Node Options

Finally, check your configuration.properties file for the path.  I am not sure what this setting controls because mine was wrong just now, yet it seemed to be working.

Look in <PS Home>\webserv\<domain>\applications\PORTAL.war\WEB-INF\psftdocs\<domain>\configuration.properties.

configuration properties location

The Repository path is in that file:

Repository Setting in Configuration.Properties

Resources


Share

Deleting Projects from PeopleSoft

Have you ever needed to delete a project with all of its objects from an environment?  I don’t know if this necessarily something you would do in a real production environment, but maybe some of the thoughts will help someone out.

I wanted to get all of my little development projects out of this environment to return it back as close to a clean demo environment as possible.  Here’s what I did:

Step 1: Security

If your project contains any Roles or Permission Lists, you need to remove those from the User Profiles first.
A Role in a Project

I learned this the hard way. My user was connected to one of the roles that I deleted via the project. All of the sudden, I couldn’t get to anything inside PeopleSoft Online. I couldn’t log back into App Designer anymore. I had to remove the role from PSROLEUSER manually in the database before I could do anything.

You can use this query to check any roles:

SELECT ROLEUSER, ROLENAME
FROM PSROLEUSER
WHERE ROLENAME = '<role name>';

If it is a permission list, you may want to check this query:

SELECT R.ROLEUSER, R.ROLENAME, C.CLASSID
FROM PSROLEUSER R, PSROLECLASS C
WHERE C.CLASSID = '<permission list name>'
AND R.ROLENAME = C.ROLENAME;

Here’s where I am deleting the Role from my user:
Deleting the Role

Step 2: Check your project

Make sure you know what you are deleting! You can’t get these objects back unless you have a backup.

Click on the Upgrade tab and just go through all the folders to make sure you know what objects are included. You want to watch for any delivered objects that you had modified that you don’t really want deleted.
Clicking on the Upgrade Tab in the Project

Step 3: Change the Upgrade Action

Now, you need to change the upgrade action for each of the objects. If this is a large project, you will want to do this from the database:

UPDATE PSPROJECTITEM
SET UPGRADEACTION = 1
WHERE PROJECTNAME = '<project name>';

You can see it from the Upgrade tab in the project:
Upgrade Action set to Delete

Step 3: Export the Project to file

Use the menu Tools > Copy Project > To File… Make sure all the object types are selected, and key in the path to a temporary folder.
The Copy to File Dialog

Step 4: Import the Project back from File

Use the menu Tools > Copy Project > From File … Browse to the same path where you save the project. Select that project and import it:
Selecting the Project

Make sure that you select to use the project definition from the File:
Selecting to use the project from the file.

Again, select all the object types and hit copy:
Copy Project From File dialog

Step 4: Confirm Objects Deleted

Now, try to open a few of the objects from the project. You should get a message that it doesn’t exist:
Object Does Not Exists Message

Step 5: Clean up the Database

Here is some SQL that should generate the Drop statements for all of the tables involved in the project. This is the Oracle version:

SELECT 'DROP TABLE ' || TABLE_NAME || ';'
FROM DBA_TABLES A, PSPROJECTITEM B
WHERE B.PROJECTNAME = '<project name>'
AND B.OBJECTTYPE = 0
AND 'PS_' || B.OBJECTVALUE1 = A.TABLE_NAME;

SELECT 'DROP VIEW ' || VIEW_NAME || ';'
FROM DBA_VIEWS A, PSPROJECTITEM B
WHERE B.PROJECTNAME = '<project name>'
AND B.OBJECTTYPE = 0
AND 'PS_' || B.OBJECTVALUE1 = A.VIEW_NAME;

This is the SQL Server version:

SELECT 'DROP TABLE ' + TABLE_NAME + ';'
FROM DBA_TABLES A, PSPROJECTITEM B
WHERE B.PROJECTNAME = '<project name>'
AND B.OBJECTTYPE = 0
AND 'PS_' + B.OBJECTVALUE1 = A.TABLE_NAME;

SELECT 'DROP VIEW ' + VIEW_NAME + ';'
FROM DBA_VIEWS A, PSPROJECTITEM B
WHERE B.PROJECTNAME = '<project name>'
AND B.OBJECTTYPE = 0
AND 'PS_' + B.OBJECTVALUE1 = A.VIEW_NAME;

Step 6: Delete the Project

Now, you are done with your list of definitions, and you can just remove the whole project using App Designer. Use the File > Delete … option.
Deleting the Project

Step 7: Check your system.

Run the DDDAudit and the SysAudit and make sure that you haven’t left anything broken. You can run those from PeopleTools > Process Scheduler > System Process Requests.

Share

HEUG: PeopleTools 8.51 in Action

This afternoon, I attended Jim Marion’s PeopleTools 8.51 in Action session.  I understand that someone else was supposed to present it, but Jim did a great job.  I left excited to delve into the new tools features.

The intro was kind of fun again.  I felt like I just missed the book give-a-way — the winner was directly in front of me 4 rows!  Oh well.  Also, I noticed that Jim is a hard core HTML guy: it’s obvious when someone uses a web page with check boxes to show and check off topics covered.  I thought it was cool.  Is that the cheese grater showing through?

First, he mentioned again the different between tools 8.50 and 8.51 in the drop down menu.  In tools 8.51 you have to click on each menu item whereas tools 8.50 only required you to click on the first item that opened the menu.  As a result, in tools 8.50, the menu is called a hover menu, and in tools 8.51 it is called a drop down menu.  Jim showed how you can change the navigation type in PeopleTools > Portal > General Settings.

One great point that Jim made was that you need to pay attention to documentation.  When you switch your stylesheet / look, your documentation screenshots will not match.  Just something to think about.

Next, Jim talked about the SWAN styles sheets.  I think I did this part wrong when I did my tools upgrade steps (and no one said anything!) because I was modifying stylesheets in App Designer.  I was following the directions in the tools upgrade document.  Jim simply went to PeopleTools > Utilities > Administration > PeopleTools Options.  Then, he changed the stylesheet name to PTSTYLEDEF_SWAN (if I remember the name right).

Type-ahead was another topic.  Someone asked a question about the chatter/network traffic caused by the type ahead.  Jim pointed out that it may break even considering you don’t have to reload the whole page.  So, you are sending less data more often, which makes for more consistent traffic rather than spikes.

The Work Center is another new feature to PeopleTools 8.51.  It seems to work similar to Related Content except that the extra information displays to the left of your main content rather than at the bottom.  A great example is to add a navigation collection to allow easy navigation within a group of related screens.

On a side note, Jim pointed out the new operational dashboard feature.  In structure and content, you can open up homepage tabs under portal objects.  When you create a new content reference, you can change the Usage Type to Homepage Tabs.  Then, you see a new option call Operational Dashboard.

Persistent Search is another new feature to Tools 8.51.  You have to enable it on the Web Profile, and it is the Recent Search Results on the bottom of the Caching tab.  The local cache uses the browser’s HTML5 local storage to save search results.  Once you search, you will can reopen the search results from the bread crumbs bar without generating another query to the database.

One of the questions asked at the end caught my interest.  The person asked if persistent search created a security concern since it was storing information on the user’s computer.  Jim referred her to another person for the answer, and I wouldn’t mind seeing the answer.  From what it looked like in the session, the search results only persisted during life of the user’s session.  When Jim logged out and back in again, the search results were gone.  So, that doesn’t seem like much of a security concern to me.

Jim talked about a few other features.  He pointed out that pagelets load independently via AJAX.  So, even if you have many pagelets, you see the homepage immediately, and the pagelets slowly load as the info comes across.  He also mentioned embedded help, which is something you have to turn on from the page in App Designer.  Finally, he pointed out the way you can pop grids out of the page, modal messages show as AJAX dialogs, and secondary pages are modal.

So, this was a great session, and I have a bunch of new features to blog about!

Share
Posted in PeopleTools. No Comments »

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.

Share
Posted in PeopleTools. No Comments »

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.

Share
Posted in PeopleTools. No Comments »

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

Share

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.

(more…)

Share

Step By Step: PeopleTools 8.51 Upgrade (Part 4)

This is a continuation of my PeopleTools 8.51 posts.  Now, we will use Change Assistant.

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

(more…)

Share

Switch to our mobile site