Professional Documents
Culture Documents
PS
PS
IT Project Justification
Cost
Value
2 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
User Experience Writing Code System Administration Tips
User Experience
Evolving from UI to UX
Higher Productivity, Information to Action
Interactive Intuitive Graphical, Visual Look and Feel
Great User Experience
Content
PeopleTools 8.52 and 8.53 have incorporated some exciting new user
iScripts
PeopleSoft Swiss Army Knife
iScripts
Requirements
Defined in a record that begins with WEBLIB iScript Function must begin with IScript_ iScript Function has no Parameters
iScripts
Application Designer Derived/Work Record
iScripts
Web Library Security Permission Lists
10
iScripts
Application Designer Derived/Work Record
11
Pagelet Wizard
Configurable iScript
Create New Displays Extend through new Data Types, Display Formats, & Transform
Ajax
12 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
13 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
14
Static JavaScript
Application Designer Definition
15
Writing Code
16
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
17
/* 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
19
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;
21
22
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;
23
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;
24
Dont 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;
25
Administration Tips
26
User Interface
27
28
29
30
32
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
Isolation of Customizations
Allows the PS_HOME and PS_APP_HOME locations to retain only content delivered with the installation program
33
34
35
Learn More
New Information Development Solutions
Strategy Blog
Twitter
36 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Facebook
to link to resource.
Learn More
More Information Development Solutions
Service Repository
Click on
38