Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
Pagelet Wizard
Configurable iScript
Create New Displays Extend through new Data Types, Display Formats, & Transform
Ajax
10 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
11 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
12
Static JavaScript
Application Designer Definition
13
Writing Code
14
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
15
/* 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
17
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;
19
20
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;
21
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;
22
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;
23
Administration Tips
24
User Interface
25
26
27
28
30
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
31
32
33
Learn More
New Information Development Solutions
Strategy Blog
Twitter
34 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
36