Month: April 2011

HEUG: FIU Mobile Session Review

Again, I did not attend this session, but I did listen to it afterward.  Here are just a few thoughts.

You can view their mobile site here: https://m.fiu.edu.  It worked fine for me even in Chrome on my laptop.

I noticed they said they only supported WebKit-based browsers, which covered 95% of the browsers.  I didn’t catch if they used any HTML5 features.  He mentioned that Blackberry is Webkit, so they are included.  From the statistics, most of their traffic was from iOS devices, mainly iPhones.

Another feature I caught was that there are no graphics involved.  That can’t be totally true because for example on the home page, there is a little icon next to the menu items.  The look and feel is very nice though, and they have done an excellent job with their CSS3 usage.

I thought it was cool to see that they were using Google Analytics to track the usage of the site.  I wonder if anyone else is using Google Analytics in a PeopleSoft scenario like maybe on self-service pages within PeopleSoft.

The fact that they were planning native apps was interesting to me.  The mobile sit seems so robust.  What are the benefits to having a native app that makes it worth the effort?

His steps were very helpful.  Here are the steps he said:

  • Create External Node
  • Create IB Message
  • Create IB Service Operation
  • Configure IB Handler
  • Configure IB Routings
  • Write Handler PeopleCode

HEUG: TAG Session Review

I wasn’t able to catch this session live, but I have started going back through the sessions i missed to see what I can glean. Several things stood out to me.

The HRMS/CS split is a big deal. The TAG is very involved in this process. I also gleamed from the questions and atmosphere that there is a lot of uncertainty and angst surrounding the split. One of the things that was lacking was any mention of who was jumping in and trying the different options.

Another cool thing that caught my ear was the community source initiative. I have heard about several development efforts that have been shared between institutions, but no organized sharing method exists. I would love to get involved with this sharing of the code, but so far, it has eluded me. I just ran back across Grey Sparling’s Code Repository, and they have started down this path.  It would be cool to see an official place from Oracle.  It would be cool to have something like an App Store with both free and paid solutions.

I thought it was cool that TAG was making an effort to get the institutions using the new features.  One easy way to frustrate a programmer is to ignore a new tool he has created that he thinks is the next sliced bread.  I also thought the slight mention of getting everyone to PeopleTools 8.50 was interesting.  The balancing act is waiting long enough to give people time to implement yet at the same time you want to start using your new features in applications and such.

Another interesting mention was Oracle Fusion.  I still don’t quite understand how it comes into play.  Is there some sort of roadmap for getting the Fusion tools integrated with PeopleTools?

PeopleTools 8.51: New Navigation Option

The menu is one of the biggest visual differences in PeopleTools 8.5x.  What I didn’t realize at first was that it was optional.

Here’s the navigation to the setting: PeopleTools > Portal > General Settings

This is what the old style looks like:

To flip the option, I just saved the Settings page, and all I had to do was log out and back in.

Now, to make it look nice, you need to switch to the Swan Stylesheet.  You can do that on PeopleTools > Utilities > Administration > PeopleTools Options.  Notice the heading looks better with the menu this way:

Surprisingly enough, I didn’t have to restart the web server or app server.  I just had to log out and log back in and it looked like this.

Another thing to note is that the menu at the top works differently between PeopleTools 8.50 and PeopleTools 8.51.  In 8.50, you click once to open the menu, and you just hover over to the menu folders to make them open and show their contents.  In 8.51, you have to click on each folder.

Also, as I understand it, when you upgrade an older tools release, the left hand menu stays active.  So, you have to intentionally choose the new drop down navigation for an upgrade.  When you do a new install from scratch in Tools 8.5x the Drop Down navigation is default.

Resources

Grey Sparling Solutions: Navigation Changes in PeopleTools 8.51

Great Link: Learning Documentation From a Croissant

I couldn’t even spell croissant without looking at the title of this article, but now I am going to learning something from it!

Opensource.com: I can’t bake croissants: a fable on project documentation

This is a great link to remind you how to approach documenting.  If I could add one thing — a picture is worth a thousand words!  For me, that means use Shutter like crazy.  The pictures help clarify things for users who are not as familiar with the topic yet they don’t slow down users who are more familiar with the topic.  It’s a win-win situation.

Furthermore, these principles apply both to traditional documentation and blogging.

HEUG: TAG First Look at the Test Framework Review

This is a little late, but better late than never.  This is the last review of the sessions that I attended.  This session was given by Tony Neaton from Griffith University in Australia.  I saw several different sessions on the test framework, and each one added a little bit more.  They didn’t completely overlap, which was very nice.

Here’s one quote that stood out at the beginning on of the session: “Testing is one of the biggest pains in the upgrade process.”  This caught my attention because I really think the test framework will make a huge impact if we can just implement it.

The list of the “things the framework is not” helped explain what it is:

  • not a load testing tool (because it doesn’t support logging in as multiple users)
  • not a Robot scripting tool
  • Not a test case management tool

Tony pointed out that the distinguishing feature is that it understands the PeopleTools framework and metadata.  Other tools by contrast are either position-based (work off of x,y coordinates) or HTML tag based.  As a result, the tests are not as fragile and require less maintenance.

He also pointed out that you can use the Test framework to test older tools versions.  This feature is not supported by Oracle, but I understood they have been using it.  They set up a Tools 8.51 instance solely for the test framework.  Then, they pointed the testing at an older 8.48 system.  In my opinion, the test framework provides ample benefit to justify upgrading the tools in your current environment right now.

What stood out to me is that Tony did a good job of showing off the Test framework.  I think out of all the sessions, I got a better feel for the setup and use of the tool in this one.  He even showed the Integration Broker setup and things that must be configured to make it all work.  He discussed the Security Roles for the framework: PTF Administrator, PTF Editor, PTF User.

Another thing I thought was cool is that he showed how you can click on certain fields that you want to verify to make sure a particular value is in that field.  Then, he also showed in the testing tool how you can edit the test and change things like what value it is expecting.  One of the coolest things he showed is how you can change the test to loop through all the rows in a grid looking for the value.  This way, other unrelated data in the grid doesn’t break the test.

All in all, I really liked this session for showing me how the framework worked.  A picture is worth a thousand words, and a demo must be worth a million.  The demos were all videos, and I think a live demo might be have been slightly nicer.  But, you can go and download the demos since they were prerecorded.

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

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:

[sourcecode language=”SQL”]
SELECT ROLEUSER, ROLENAME
FROM PSROLEUSER
WHERE ROLENAME = ‘<role name>’;
[/sourcecode]

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

[sourcecode language=”SQL”]
SELECT R.ROLEUSER, R.ROLENAME, C.CLASSID
FROM PSROLEUSER R, PSROLECLASS C
WHERE C.CLASSID = ‘<permission list name>’
AND R.ROLENAME = C.ROLENAME;
[/sourcecode]

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:

[sourcecode language=”SQL”]
UPDATE PSPROJECTITEM
SET UPGRADEACTION = 1
WHERE PROJECTNAME = ‘<project name>’;
[/sourcecode]

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:

[sourcecode language=”SQL”]
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;
[/sourcecode]

This is the SQL Server version:

[sourcecode language=”SQL”]
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;
[/sourcecode]

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.

Troubleshooting Report Distribution

I have been having trouble with my newly upgraded PeopleTools 8.51 environment.  The problem was that I had not set the PS_CFG_HOME environment variable plus I also did not have the report node configured for the Process Scheduler server definition.

So, my process monitor was showing everything hung in “Posting” status:
I found the error messages in the c:\documents and settings\\psft\pt\8.51\appserv\prcs\HR90DMO\LOGS\stdout.

[sourcecode]
=================================Error===============================
Message: Database error encountered
Info:
Section:
Info:
SQL Stmt: SELECT R.PRCSINSTANCE ,R.ORIGPRCSINSTANCE ,R.RECURORIGPRCSINST,R.MAINJOBINSTANCE ,R.PRCSJOBSEQ ,R.PRCSJOBNAME ,R.PRCSNAME ,R.PRCSTYPE ,R.RECURNAME ,R.TIMEZONE ,R.PT_RETENTIONDAYS ,R.PTNONUNPRCSID FROM PSPRCSQUE R ,PS_PRCSRECUR S WITH (READUNCOMMITTED) WHERE ((R.RUNSTATUS IN (‘9′, ’17’) AND S.INITIATEWHEN = 1) OR (R.RUNSTATUS IN (‘3′,’6’, ‘7’, ‘9’,’10’,’12’, ’17’) AND S.INITIATEWHEN = 0)) AND R.INITIATEDNEXT = 0 AND R.RUNLOCATION = ‘2’ AND R.RECURNAME > ‘ ‘ AND R.PRCSJOBSEQ = 0 AND R.RECURNAME = S.RECURNAME
Explain: [Microsoft][SQL Server Native Client 10.0]Communication link failure
=====================================================================
=================================Error===============================
Message: Database error encountered
Info:
Section:
Info:
SQL Stmt: SELECT Q.PRCSINSTANCE ,Q.JOBINSTANCE ,Q.MAINJOBINSTANCE ,Q.SESSIONIDNUM ,Q.OPRID ,Q.OUTDESTTYPE ,Q.GENPRCSTYPE,Q.PRCSTYPE,Q.TUXSVCID,P.PRCSOUTPUTDIR FROM PSPRCSQUE Q ,PSPRCSPARMS P WITH (READUNCOMMITTED) WHERE Q.RUNSTATUS = :1 AND Q.SERVERNAMERUN = :2 AND Q.PRCSINSTANCE = P.PRCSINSTANCE
Explain: [Microsoft][SQL Server Native Client 10.0]Shared Memory Provider: No process is on the other end of the pipe.

=====================================================================
[/sourcecode]

I knew about the PS_CFG_HOME variable, but I had just skipped it in my rush to just get something working. What I didn’t realize is that it would prevent me from seeing even an SQR. So, I fixed my PS_CFG_HOME variable:

I also copied the files from the appserv directory under documents and settings to the one in my PS_Home where I configured my PS_CFG_HOME. See this post for more information. That part is important because it needs the configuration files in the new locations. Then, I deleted the Cache, the logs, and the log_output to clean things up. The app server still wouldn’t start, so I tried to reconfigure it. That’s when I received this error:

[sourcecode]
Enter selection (1-26, h, or q): 13

Warning: no changes detected, some configuration files will not be updated.
Loading configuration…

CMDTUX_CAT:111: ERROR: TUXCONFIG (C:\Documents and Settings\psadmin\psft\pt\8.51
\appserv\HR90DMO\PSTUXCFG) of machine SKPHCM90 must be the same as the TUXCONFIG
environment variable (E:\psoft\HR90DMO\appserv\HR90DMO\PSTUXCFG)

CMDTUX_CAT:867: ERROR: tmloadcf: Above errors found during syntax checking

==============ERROR!================
Unable to load the configuration! Check the TUXEDO log for details.
==============ERROR!================

==============ERROR!================
Unable to load the Domain configuration! Check the TUXEDO log for details.
==============ERROR!================

[/sourcecode]

This thread claims that you have to set the TUXCONFIG variable. I didn’t think that you did have to set it, so I did a little more experimenting.

In the config file, I found the Log/Output Directory was still set to the “Documents and Settings” directory:

I changed this to the PS Home directory:

So, that fixed it so that I could reconfigure the process scheduler via psadmin, but I still had trouble with the report distribution. Process Monitor said it was running without a report node:

I went to check the Report Node (PeopleTools > Process Scheduler > Report Node). The port number was wrong on the URL, so I had to fix that (it should probably match the port number on your browser as you are logged in):

That still didn’t fix the problem, so I checked the server definition (PeopleTools > Process Scheduler > Servers). Sure enough, the report node was blank!

So, I entered the report node and saved the page:

Then, everything started working!