2013PSFT-102620 Mastering PeopleTools Exploiting PeopleTools

1
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
2013PSFT-102620
Mastering PeopleTools:
Exploiting PeopleTools Tips
and Tricks
Jim Ellis
PeopleSoft Applied Technology
The following is intended to outline our general product direction. It is intended
for information purposes only, and may not be incorporated into any contract.
It is not a commitment to deliver any material, code, or functionality, and should
not be relied upon in making purchasing decisions. The development, release,
and timing of any features or functionality described for Oracle’s products
remains at the sole discretion of Oracle.
3
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
4
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Cost
IT Project Justification
Low cost,
High value
Value
5
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
 User Experience
 Writing Code
 System Administration Tips
6
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
User Experience
7
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Evolving from UI to UX
Higher Productivity, Information to Action
• Interactive
• Intuitive
• Graphical, Visual
Look and Feel
Content
Great
User
Experience
• Proactive Delivery
• Actionable
• Event-based
Process/
Navigation
• Transactional
• Business Process Orientation
• Role-based Consoles
8
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Documented User Experience Techniques
 PeopleTools 8.52 and 8.53 have incorporated some exciting new user
experience capabilities – Interaction Hub, Dashboards, WorkCenters
and more !
9
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
iScripts
PeopleSoft “Swiss Army Knife”
 Create Dynamic URL’s
– CREF’s that redirect to other targets
 Serve Non-HTML pages
– Images, JavaScript, CSS, etc
– iCal, vCards, etc
 Ajax/Flex Data Source
10
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
iScripts
Requirements
 Defined in a record that begins with WEBLIB
 iScript Function must begin with IScript_
 iScript Function has no Parameters
 iScript Function does not Return a Value
11
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
iScripts
Application Designer – Derived/Work Record
12
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
iScripts
Web Library Security – Permission Lists
13
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
iScripts
Application Designer – Derived/Work Record
14
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Pagelet Wizard
Configurable iScript
 Create New Displays
 Extend through new Data Types, Display Formats, & Transform
Types
 Not just for Home Pages
– WorkCenters
– Related Content
– Stand Alone
– Ajax
15
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Integration Broker
Stateless UI
 REST services
 SOAP services
 Serve HTML, JSON, JavaScript, XML, etc
 Client-side Mash-up
 Benefits:
– Can be anonymous
– Separate server
– Can use HTTP Basic Auth
16
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
JavaScript Injection
Modify Behavior Without Modifying Code
 Add JavaScript to the end of a common PT% HTML Definition
– PT_PAGESCRIPT
– PT_COPYURL
– PT_COMMON (if PT 8.50 or higher)
 Change Behavior/Appearance of Existing Pages w/o Modifying Pages
 Warning: Must be properly managed – easy to introduce bugs…
17
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Static JavaScript
Application Designer Definition
18
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Writing Code
19
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
“Any fool can write code that a computer can
understand. Good programmers write code that
humans can understand.”
Martin Fowler
Refactoring: Improving the Design of
Existing Code
20
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Reference Named Definitions
/* Find Definition References command won't find this */
If (&rec.Name = "PERSONAL_DATA") Then
/* Too much overhead */
If (&rec.Name = CreateRecord(Record.PERSONAL_DATA).Name) Then
/* Best */
If (&rec.Name = Record.PERSONAL_DATA) Then
22
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
How to Truncate an Array
Learn the Language - Really, Really Well !
Local object &Object;
Local array of object &ArrObject = CreateArrayRept(&Object, 0);
/* OK -- It Works, but DON'T DO THIS!! */
While (&ArrObject.Len > 0)
&ArrObject.Pop();
End-While;
/* BETTER: 1 line, no loop, but construction overhead */
&ArrObject = CreateArrayRept(&Object, 0);
/* BEST: 1 line, no loop */
&ArrObject.Len = 0;
23
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
PeopleCode Language
Binary to Base64 – OLD Way
Local JavaObject &f_in = CreateJavaObject("java.io.FileInputStream", "c:\img.gif");
Local JavaObject &coder_in =
CreateJavaObject("org.apache.commons.codec.binary.Base64InputStream", &f_in, True);
Local JavaObject &reader = CreateJavaObject("java.io.BufferedReader",
CreateJavaObject("java.io.InputStreamReader", &coder_in));
Local string &b64Data = "";
Local any &line;
While True
&line = &reader.readLine();
If (&line <> Null) Then
&b64Data = &b64Data | &line | Char(13) | Char(10);
Else
Break;
End-If;
End-While;
24
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Keep up with Changes
Binary to Base64 – NEW Way
Local File &f = GetFile("c:\img.png", "R", %FilePath_Absolute);
Local string &b64Data = &f.GetBase64StringFromBinary();
25
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Complex Logic
Bugs love clutter…!
&bPosEffdt = False;
If &hdr.Name = "POSITION_DATA" And
&fld.Name = "EFFDT" Then
&bPosEffdt = True;
End-If;
If (&fld.IsKey) And
&bPosEffdt = False Then
&where = &where | " and " | &prefix | &fld.Name |
%This.GetFieldSQLBind(&fld);
End-If;
26
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Be Positive
Use an Empty “If” - Instead of “Not”
If ( &hdr.Name = Record.POSITION_DATA And
&fld.Name = Field.EFFDT) Then
REM ** Do nothing;
Else
&where = &where | " and " | &prefix | &fld.Name |
%This.GetFieldSQLBind(&fld);
End-If;
27
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Don’t Be So Negative - 
It is harder to comprehend negative logic…
If ( Not (&hdr.Name = Record.POSITION_DATA And
&fld.Name = Field.EFFDT)) Then
&where = &where | " and " | &prefix | &fld.Name |
%This.GetFieldSQLBind(&fld);
End-If;
28
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Administration Tips
29
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Troubleshoot with Fiddler
HTTP Debugging Proxy Server Application
 Report Node
 Integration Broker
 PeopleSoft Test Framework
 User Interface
30
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Troubleshoot with Fiddler
HTTP Debugging Proxy Server Application
31
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Troubleshoot with Fiddler
32
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Troubleshoot with Fiddler
33
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Modular Infrastructure Design
Decoupled Homes
 PS_CFG_HOME
– Contains the PeopleSoft configuration content like cache, log files
– PeopleTools 8.50+
 PS_APP_HOME – Location of the PeopleSoft Application
– Install and run the PeopleSoft application independent of PeopleTools.
– PeopleTools 8.52+, PeopleSoft Applications 9.0+
 PS_CUST_HOME – Location of Customizations
– Designate a specific file system location for customizations (COBOL, SQR, etc.)
– PeopleTools 8.53+
34
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Modular Infrastructure Design
Decoupled PeopleSoft Homes
 PS_HOME
– Contains only file system artifacts deployed by PeopleTools installation programs
 PS_CFG_HOME – Location of Configuration content like cache, log files
– PeopleTools 8.50+
 PS_APP_HOME – Location of the PeopleSoft Application
– Install and run the PeopleSoft application independent of PeopleTools.
– PeopleTools 8.52+, PeopleSoft Applications 9.0+
 PS_CUST_HOME – Location of Customizations
– Designate a specific file system location for customizations (COBOL, SQR, etc.)
– PeopleTools 8.53+
35
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Modular Infrastructure Design
Advantage of Decoupled PeopleSoft Homes
 Secured Environment
–
Different owners for PS_APP_HOME and PS_HOME
–
No cross-writing of the PS_HOME and PS_APP_HOME by restricted users.
–
Runtime user can have restricted access
 Reduced Disk Space Needs
–
Same installation can be shared by multiple independent runtime users
 Patch Application
–
Simplified due to fewer distinct copies of the installation that must be maintained.
 Reuse
–
Decouple PeopleSoft homes helps run multiple applications use the same PS_HOME
 Problem Diagnosis
–
Easier to isolate the problem
 Isolation of Customizations
–
36
Allows the PS_HOME and PS_APP_HOME locations to retain only content delivered with the installation program
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Modular Infrastructure Design
PeopleSoft Oracle VM Images
 Oracle's PeopleSoft Virtualization Products (Doc ID 1538142.1)
 Quick Start Option for PeopleSoft Applications
 Portal, HRMS, FSCM, ELM
 Two Oracle Linux/Oracle VM Images
– PeopleSoft FSCM Database instance running on Oracle Database 11.1.0.7 containing
PeopleSoft demo data
– PeopleSoft Internet Architecture and Application Server with Oracle Tuxedo 10gR3 and
Oracle Weblogic 11g
 PeopleSoft OVM Whitepaper Available
– http://docs.oracle.com/cd/E18128_01/psft/acrobat/OVM_Templates_WhitePaper_2010.pdf
37
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Books to Make Your Life Easier…..
Tips and Techniques – Get Ready for Your PeopleSoft Upgrade !
38
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Learn More
New Information Development Solutions
Video Feature Overviews &
More on YouTube
Strategy Blog
Linkedin
More helpful resources can be found on the PeopleSoft Information Portal
Twitter
39
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Cumulative Feature
Overview Tool
Facebook
Click on
to link to resource.
Learn More
More Information Development Solutions
Hosted & Mobile
PeopleBooks
Upgrade Resource
Report
Fit Gap UPK
More helpful resources can be found on the PeopleSoft Information Portal
Entity Relationship
Diagrams
40
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Service
Repository
Business Process
Maps
Click on
to link to resource.
41
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.