Escolar Documentos
Profissional Documentos
Cultura Documentos
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
Pagelet Wizard
Configurable iScript
Create New Displays Extend through new Data Types, Display Formats, & Transform
Ajax
9 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
10 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
11
Static JavaScript
Application Designer Definition
12
Writing Code
13
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
14
/* 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
16
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;
18
19
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;
20
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;
21
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;
22
Administration Tips
23
User Interface
24
25
26
27
29
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
30
31
32
Learn More
New Information Development Solutions
Strategy Blog
Twitter
33 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
35