Professional Documents
Culture Documents
Cost
Value
1 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
iScripts
Application Designer Derived/Work Record
10
Pagelet Wizard
Configurable iScript
Create New Displays Extend through new Data Types, Display Formats, & Transform
Ajax
11 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
12 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
13
Static JavaScript
Application Designer Definition
14
Writing Code
15
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
16
/* 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
18
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;
20
21
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;
22
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;
23
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;
24
Administration Tips
25
User Interface
26
27
28
29
31
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
32
33
34
Learn More
New Information Development Solutions
Strategy Blog
Twitter
35 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
37