2013PSFT-102620 Mastering PeopleTools Exploiting PeopleTools
Download
Report
Transcript 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.