I ran into an issue where I couldn’t figure out the keystore password. I thought for sure that the PUM configuration script asked me for a password. Apparently, it didn’t. Here’s how I figured out.
Viewing HTML Compare Reports on Linux
While working on an upgrade, I wanted to review a project using the Web Compare Reports. The problem is that my laptop is Linux, and the reports require Internet Explorer. Here’s what I did to kind of get it to work…
Installing App Designer on Ubuntu
It’s been a while since I have tried to install Application Designer directly on my Linux host. In fact, the last time I tried was many tools versions ago. Since I’ve been playing with a PUM again, it’s time to give it another try.
Here’s my notes:
PeopleTools 8.54: Looks Exciting
I’ve been a bit behind on reading my news. Back in April, PeopleSoft released their “Release Value Proposition” for PeopleTools 8.54, and it’s got me excited about it. Then, a week or two ago, PeopleSoft published the pre-release notes. I don’t have any inside information, but I thought I would list the features that looked exciting to me…
- Code Completion: HUGE — this is a feature I have been looking for for years!
- 64-bit developer client: Application Designer, etc. is going 64-bit. So, a developer must run a 64-bit machine to develop, and now no 32-bit database drivers are required.
- Automated Configuration Manager: looks like tools that will make automating refreshes much easier
- %SelectDummyTable: allows for a better way than using the DUAL table for Oracle or PS_INSTALLATION for platform independence
- Mobile Application Platform: new interface for smart phones
- Fluid Layout: Creating interfaces with CSS positioning rather than fix positioned pages. It will be a learning curve for developers
- Application Designer: PNG files supported for images in Application Designer
- Application Engine changes: it will now split the trace file into multiple files if it gets too big, you can now choose not to commit at the end of the program
- Branding Framework: tools to allow customizing the look and branding without needing to code; it looks like it is all in the PIA
- Query: Default values for prompts and support for images in Query results
- BI Publisher Updatable PDFs: users can update the report and submit the content back into PeopleSoft
- Global Temporary Tables (for batch App Engines): supporting in-memory tables
- Materialized Views: for Oracle — App Designer will create views that store their data in the database for quicker retrieval
- Portable PS_HOME: On Unix the psadmin binary is only located in the bin directory, paths are not saved in configuration files to moving and cloning the directories easier, and the PS_HOME variable is not set by the psconfig.sh script (you set that before calling the script and everything is relative to PS_HOME)
- Push Notification Framework: looks like it allows the PIA/Web Server to initiate messages to the browser
- PIA-Based Definition security: ability to secure App Designer definitions using the online pages plus additional new features
- Query Security: new advanced option to allow up to 5 security records for an individual record
- SQR: new XML output option
- Component Interface: new errors sheet to consolidate errors
As I went through the documents, I noticed a couple of features that are already released and that I need to do some learning and catch up. Do you mind if I just take some notes out loud here?
- Activity Guides: “Activity Guides are a useful PeopleTools feature that helps guide users through complex or infrequently performed processes.” What’s new: “With PeopleTools 8.54, Activity Guides will be even easier to create and manage because PeopleTools includes an Activity Guide Management WorkCenter.”
- Data Migration Workbench: “Data Migration Workbench is a lifecycle management tool first delivered with PeopleTools 8.53 that enabled customers to move and compare configuration data easily and securely between PeopleSoft application instances such as DEV, TEST, and PROD”
- JSON: The PeopleSoft Documents Technology mentions using JSON, and I hadn’t kept up that JSON was available.
- Oracle Secure Files: mentions that Report Repository files can be exposed as a “virtual mount point”
64-bit History: The 64-bit requirements have been of notable interest to me because I spent some time working for a client who had challenges switching away from 32-bit hardware. One of the documents listed the history of the migration of PeopleSoft from 32-bit to 64-bit. Here’s a nice summary:
- PeopleTools 8.48 — Unix Application server converted to 64-bit
- PeopleTools 8.50 — Linux Application server
- PeopleTools 8.51 — Web Server
- PeopleTools 8.53 — Windows Application server
- PeopleTools 8.54 — Developer Tools
- PeopleSoft Technology Blog: PeopleTools 8.54 Release Value Proposition Now Available
- Oracle Support: Release Value Proposition
- PeopleSoft Technology Blog: PeopleTools 8.54 Pre-Release Notes Available
- Oracle Support: Prerelease Notes: Oracle’s PeopleSoft PeopleTools 8.54
Installing PeopleTools Client on Ubuntu Linux Host
Ubuntu has been my choice of OS for some time now. It works great for the most part until I start trying to interact with the Microsoft-centric business world. App Designer is one of those pressure points. Normally, my clients give me a Windows-based remote desktop, but for playing around with things outside a client, I needed a way to run App Designer locally on my laptop.
I finally figured out how to install App Designer for Oracle’s PeopleSoft VM images directly in Ubuntu. Here’s what I did…
Changing Records in Queries
This isn’t best practice, but I found a way to switch out a record in a query without redoing the criteria. Here’s the situation: I have a query in which the row-level security is causing problems. It is slowing down the query and also eliminating future-dated rows from the results. So, I created a view of the table which would select all of the rows from the original table. It was basically a copy with the query security view removed. The next challenge was to change the query to use that new record. If I remove the old record and add the new, I would have to redo the whole complicated query just about.
So, I found that I could update two records in the database:
UPDATE PSQRYFIELD SET RECNAME = '<new record name>' WHERE QRYNAME = '<query name>' AND RECNAME = '<old record name>'; UPDATE PSQRYRECORD SET RECNAME = '<new record name>' WHERE QRYNAME = '<query name>' AND RECNAME = '<old record name>';
After that, I found that I needed to open the query online in query manager, make a small change, and save it. After that, it worked fine with no problems.
Warning: use at your own risk. This isn’t the intended way to edit queries.
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:
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.
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
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:
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:
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”:
Now, make sure the node is set to password authentication. I am not sure what else to check here.
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.
The Repository path is in that file:
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.
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:
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.
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:
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.
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:
Make sure that you select to use the project definition from the File:
Again, select all the object types and hit copy:
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:
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.
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.