Beruflich Dokumente
Kultur Dokumente
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Author
Disclaimer
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Curriculum Team
Technical Contributors
and Reviewers
Customer Experience (CX)
This document contains proprietary information and is protected by copyright and other
intellectual property laws. You may copy and print this document solely for your own use
in an Oracle training course. The document may not be modified or altered in any way.
Except where your use constitutes "fair use" under copyright law, you may not use, share,
download, upload, copy, print, display, perform, reproduce, publish, license, post,
transmit, or distribute this document in whole or in part without the express authorization
of Oracle.
Team
Publisher
Syed Imtiaz Ali
The information contained in this document is subject to change without notice. If you find
any problems in the document, please report them in writing to: Oracle University, 500
Oracle Parkway, Redwood Shores, California 94065 USA. This document is not warranted
to be error-free.
Restricted Rights Notice
If this documentation is delivered to the United States Government or anyone using the
documentation on behalf of the United States Government, the following notice is
applicable:
a
s
a
)h
m
co de
e
r
u Gui
t
n
Trademark Notice
cce dent
a
Oracle and Java are registered trademarks
@owners.ofSOracle
tu and/or its affiliates. Other names
y
may be trademarks of their respective
e
d this
n
a
cp use
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
ya -tran
a
M non
U.S. GOVERNMENT RIGHTS
The U.S. Governments rights to use, modify, reproduce, release, perform, display, or
disclose these training materials are restricted by the terms of the applicable Oracle
license agreement and/or the applicable U.S. Government contract.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Contents
Course Introduction
Lesson Agenda 1-2
Instructor and Class Participants 1-3
Training Site Information 1-4
Course Audience 1-5
Course Prerequisites 1-6
Course Goal 1-7
Course Objectives 1-8
Course Methodology 1-9
Course Materials 1-10
Information Sources 1-11
Other Sources 1-12
Course Agenda 1-13
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
iii
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
iv
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
n
hi
t
a
p
e
5 Presentation Model
c o us
k
n
Objectives 5-2
a se t
y
a
Review: Proxy Framework
(m li5-3
en
c
y
e
Review: ThedPresentation
e Model 5-4
l
n
b
A Presentation
ra Object 5-5
Pa sfeModel
k
n an the Presentation Model Examples 5-6
yaCustomizing
r
a
tot Customize a Presentation Model 5-7
n
M nHow
o
Example 5-8
Terminology 5-9
Implement a Presentation Model Customization 5-10
1. Verify the Object Class does not yet Exist 5-11
2. Add the Class to the Namespace 5-12
3. Define the File and Parent File(s) for the Class 5-13
4. Implement a Constructor Function for the Class 5-14
4.1 Declare the Class as a Function 5-15
4.2 Create the class Constructor 5-16
4.3 Specify the Class as an Extension of its Parent Class 5-17
4.4 Add Implementation Code to the Class 5-18
4.4 Add an Init Function 5-20
4.5 Add the Custom Methods for the Class 5-21
Complete Example Page 1 of 3 5-22
Complete Example Page 2 of 3 5-23
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Physical Renderer
Objectives 6-2
The Physical Renderer 6-3
A Physical Renderer Object 6-4
Customizing the Physical Renderer Examples 6-5
How to Customize a Physical Renderer 6-6
Example 6-7
Implement a Physical Renderer Customization 6-8
1. Verify the Object Class Does Not Yet Exist 6-9
2. Add the Class to the Namespace 6-10
3. Define the File and Parent File(s) for the Class 6-11
4. Implement a Function for the Class 6-12
4.1 Declare the Class as a Function 6-13
4.2 Create the Class Constructor 6-14
4.3 Specify the Class as an Extension of its Parent Class 6-15
4.4 Add Implementation Code to the Class 6-16
4.5 Add the Custom Methods for the Class 6-17
Review: Physical Renderer Structure 6-19
Lesson Highlights 6-20
Practice 6-21
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
7 Debugging
Objectives 7-2
Suggestions for Debugging a Script 7-3
Browser Developer Tools 7-4
Invoke Developer Tools 7-5
Verify the Script was Downloaded 7-6
Reasons for Failure to Download 7-7
Use SiebelJS.Log() 7-8
Output of SiebelJS.Log() 7-9
The debugger Statement 7-10
Debugging Using Browser Developer Tools 7-11
Recommendations 7-12
Lesson Highlights 7-13
Practice 7-14
vi
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
nt
cce d8-18
e
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
9
vii
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
viii
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
1
Course Introduction
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Lesson Agenda
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Audience
A
di
Prerequisites
Goal
Objectives
Methodology
Materials
Agenda
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
How do y
you expect
p
to benefit from this course? com
e
e
r
d
i
tu Gu
n
e
cc dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Rest rooms
Telephones
s
a
h
)
m
o
c de
e
r
Fire Exits
Questions?
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Course Audience
This course is designed for members of the Siebel application
team responsible for customizing Siebel CRM applications
using the Siebel Open UI framework or team members
responsible for planning or administering these customizations
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Course Prerequisites
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Recommended:
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Course Goal
To familiarize participants with the Siebel Open UI framework
and how to customize it using JavaScript and Cascading Style
Sheets
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Course Objectives
Describe the Siebel Open UI architecture
Identify the key file types involved in customizing the Siebel
Open UI client
Administer Siebel Open UI customizations
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Course Methodology
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Course Materials
Course content is delivered over two days
Student Guide
All slides presented during lecture
Student notes with additional information
Activity Guide
Hands-on practices
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Information Sources
Siebel CRM documentation is available on Oracle Technology
Network (OTN)
http://www.oracle.com/technetwork/documentation/siebel087898.html
s
a
h
)
m
o
c de
e
r
u Gui
t
n
Additional content on My Oracle Support:
cce dent
a
Information Center: Siebel Open y
UI@
(DocSID
tu1511846.2)
e
d
an e this
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Other Sources
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
co de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
The Siebel
Open
n development team periodically posts transfers of information (TOIs) to
a traUI
y
a
Oracle
Library at http://www.oracle.com/oll. Navigate to Products > Siebel CRM to
M nLearning
on- learning
see available
resources.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Course Agenda
Introducing Siebel Open UI:
Lesson 1: Course Introduction (this lesson)
Lesson 2: Introducing Siebel Open UI
Lesson 3: Siebel Open UI Architecture
Customizing Siebel Open UI:
Lesson 4: Administering the Manifest
Lesson 5: Presentation Model
s
a
h
Lesson 6: Physical Renderer
)
m
o
c de
Lesson
L
7
7: D
Debugging
b
i
e
r
u Gui
t
n
Lesson 8: Cascading Style Sheets and Open
t
cce UInThemes
a ude
@
t
y
S
e
d
an e this
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Course Agenda
Additional Topics:
Lesson 9: Siebel Mobile Applications
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
2
Introducing Siebel Open UI
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Objectives
After completing this lesson, you should be able to:
Describe Siebel Open UI
Identify advantages of Siebel Open UI over the Siebel High
Interactivity (HI) user interface
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Siebel Open UI
Is Oracle's next-generation browser client for Siebel desktop
and mobile applications
Uses the same back-end architecture, but changes the way
the user interface (UI) is rendered
Can
C co-exist
i t with
ith fformer, ttraditional
diti
l Si
Siebel
b l clients
li t
Siebel Enterprise
a
s
a
)h
Web Server
m
co de
Database
e
r
u Gui
t
n
Open UI
cce dent
a
Client
tu
Siebel Server y@
S
e
d
Continued
an e this
p
c
s
k to u
n
a
ay ense
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
The former
employee-facing
client is the high-interactivity (HI) client and can be replaced with
a tran
y
a
the
UI -client. Open UI is not available for the customer-facing standard-interactivity (SI)
M Open
non are special Open UI versions of some former customer-facing clients; for
client. There
Traditional
Client
Siebel Open UI
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
Traditional
co de
HI Client
e
Web Server
r
i
u GDatabase
t
u
n
Any standardscce dent
a
compliant platform
Open UI
y@ s Stu
e
Client
d
thiServer
an Siebel
p
e
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Browser
Compatibility:
a tran To improve performance, as of IP 2014 Siebel Open UI is no longer
y
a
"infinitely"
browsers must be modern enough to use JavaScript
nM nobackwards-compatible;
ECMA-262
and later. For a complete list of supported browsers, review the Certifications tab
Requires IE
and ActiveX
Siebel Enterprise
on My Oracle Support.
As of this writing, CSS 2.1 is the minimum requirement for Cascading Style Sheets, and
HTML5 is recommended but not required.
HyperText Markup Language (HTML) is the primary markup language for displaying web
pages and other information that can be displayed in a web browser.
Cascading Style Sheets (CSS) is a style sheet language used to style web pages written
in HTML. It is designed primarily to enable the separation of document content from document
presentation such as the layout, colors, and fonts.
JavaScript (JS) is an open source client-side scripting language commonly implemented as
part of a web browser in order to create enhanced user interfaces and dynamic websites.
ActiveX is a software framework created by Microsoft that adapts its earlier Component
Object Model (COM) and Object Linking and Embedding (OLE) technologies for content
do nloaded from a net
downloaded
network,
ork partic
particularly
larl in the conte
contextt of the World Wide Web.
Web
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
More
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
Open
p UI in
p UI in
oOpen
cMozilla
e
Google Chrome
Firefox
e
r
d
i
tu Gu
n
e
cc dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
The CSS
files
n with the Siebel application contain some rules that use browser
a tshipped
a
y
r
a
extensions
nto- invoke browser functionality that has yet to be made an industry standard. For
M nobrowser
example,
extensions are used to create shaded buttons on browsers that support
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
linear gradient color display. More details on CSS are in a subsequent lesson.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Integrates
I t
t with
ith mobile
bil ffunctions
ti
Gestures, calls, email, location, and so on
A Siebel mobile application
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Each Siebel
mobile
ya -tran application requires a separate license.
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Updated Look
Open UI-specific CSS files provide a cleaner, more modern
look and enhanced functions
New overall look
Simple querying
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
and the other controls automatically
e
r
u Gui
resize (they are narrower here)
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
The calendar
an a user to specify start of week and workdays.
ya -tallows
r
a
M non
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
Tabs and view bar
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
Continued
c o us
k
n
t
ya nse
a
(m lice
y
e
nd rable
a
P sfe
kconfiguring
n
Detailsa
on
n responsive web design are in the Siebel Open UI - Advanced
a
y
r
t
a
- course.
JavaScript
M nonAPI
Small global icons
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
"Mid-size"
Mid size window
s
a
h
View bar has been removed)to
omwhich
provide room for the c
tabs,
are now in
ide
ure2 levels
t
u
n
e nt G
c
c
a ude
@
t
y
S
e
d
an e this
p
Continued
c o us
k
n
t
ya nse
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
"Small" window
No global icons
A vastly-reduced
number of tabs
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Client-Side Customizations
The framework provides a full continuum of customization
possibilities using the public JavaScript API
The as-delivered Siebel Open UI client behaves very similarly
to the high-interactivity client
You can use the JavaScript API to get as sophisticated as you
want with your customizations
a
s
a
)h
m
co e
e
r
AsFully
id
ucustomized
In between
t
u
n
delivered
G
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Open UI
provides
a trana fully published JavaScript API to build powerful CRM solutions. That API
y
a
allows
n- to easily extend the capabilities of Oracle provided features. The new API
M ncustomers
oanything
supports
from simple validations to replacement of whole UI components that require
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
Note: Siebel Tools is still required for server-side customizations
t
n
cce dent
a
y@ s Stu
e
d
More
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
As-delivered
Aurora tree theme
a
s
a
)h
m
co de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Three types
of
n are available: Tab (tabs across the top of the screen), Tree (navigation
a trthemes
a
y
a
- side of the page), and Side Menu (a hidden menu that is displayed when the
links
the
M along
nona menu icon). The as-delivered application provides the Aurora theme in all three
user clicks
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
formats.
Siebel Web Template files provide placeholders for Siebel view and applet layouts on top of
which the HTML is constructed.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
co de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
k P nsfe JavaScript library designed to simplify the client-side scripting of
jQuery a
isna multi-browser
y jQuery
tra library is public.
HTML.
n
Ma nThe
o
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
If Job Title has a value, display
cce dent
work and main phone
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Siebel Tools
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
JavaScript
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
And so forth
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Considerations
Developers modify CSS and JavaScript files outside of the
Siebel framework using their own tools and editors
Standard web development practices should be followed
Siebel Tools is not used to track, check in, or manage these
fil customizations
file
t i ti
The framework does provide separate Siebel directories for
custom files
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
Continued
an e thi
p
c
s
k to u
n
a
ay ense
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
ya -tran
a
M non
So they are isolated from upgrades
You must manage your own custom file versions
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Considerations
You can completely tailor the user interface using the
JavaScript API
Redesign the way the Siebel application is rendered
Add Open UI portlets to other applications
And
A d so fforth
th
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
Continued
an e thi
p
c
s
k to u
n
a
ay ense
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Considerations
Applets that are classified as standard interactivity applets are
not usually supported in Open UI
A warning icon is displayed in the view
You can:
Remove th
R
the applets
l t ffrom the
th view
i
Rework the applets to conform to high-interactivity
Wait until Oracle migrates these applets
a
s
a
)h
m
co de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Reference:
See
Tasks for Siebel Open UI" in Deploying Siebel Open UI for more
n
a tra"Migration
y
a
information
M nonon- making standard interactivity applets and views work in Open UI.
Exceptions: Standard Interactivity applets without business components or applets outside of
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
views may be converted to RIA (rich internet application) applets and displayed in Open UI
A view becomes standard activity if any of the below criteria are met:
Contains one or more applets which are not bound to a business component
Contains one or more applets whose "Class" properties points to a class which derives
from classes that implement the base functionality of standard interactivity
High Interactivity"
Interactivity set to 1
Contains one or more applets whose associated Class have "High
Contains one or more applets with User property: High Interactivity Enabled = N
Contains one or more applets outside of a View (not associated to a view web template
other than standard pop ups (MVG/Pick/Assoc)). For example "About Record"
The server side renderer implements standard interactivity
Contains one or more applets with a portlet in it
Product Catalog style layouts.
layouts
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Lesson Highlights
Siebel Open UI is the new user interface for Siebel
applications
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Practice
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
3
Siebel Open UI Architecture
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Objectives
After completing this lesson, you should be able to:
Describe the components of the Siebel Open UI architecture
and how they interact
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
More
p
c
s
k to u
n
a
ay ense
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
Select the desired AOM o
c de
e
r
u Gui
t
n
cce dent
a
tu and
y@
S
e
Set iEnableOpenUI
d
th s
an e HighInteractivity
to True
p
c
s
k to u
n
a
ay ense
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
For existing
deployments
it is best to create a new object manager so that you can continue to
a tran
y
a
run
n- object manager for high interactivity clients as necessary. The URL for Open
M thenformer
odifferent
UI will be
from the standard URL and available in parallel to the existing HI client.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
You must generate the new virtual directories on the Siebel Web Server to support the new
object manager.
If you are prototyping using the Siebel Developer Web Client, you can set these parameters in
the [InfraUIFramework] section of the client configuration (.cfg) file.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Siebel Web Template files
have a .swt extension
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Decoupled Layout
Open UI uses new versions of the SWT files which no longer
contain explicit layout
They use <div> tags instead of explicit alignments or frames to
support CSS styling
The 'original' SWT files include explicit
tables, locations, boundaries, and so forth
a
s
a
)h
m
co e
e
r
The updated SWT files use <div> tags, allowing
the
id
uthe page
t
u
n
G
CSS stylesheets to determine how to lay
out
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
The original
SWT
a tranfiles contain layout information. The new files do not. In short, the SWT files
y
a
have
so that instead of saying, "Put this in as a table that's this big at this
M beenonchanged
locationnon
the screen," they say, "The first element in your list goes here. Let the CSS file
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
co de
e
r
u Gui
t
Siebel Open UI SWT files
n
are in OUIWEBTEMPL
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
If you are
prototyping
ya -tran using the Siebel Developer Web Client, the path is client\WEBTEMPL.
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
Include rules that specify how to lay out block-level elements
)
m
o
c de
defined in the HTML source
e
r
u Gui
t
n
Are referenced to present the final UI to the
user
cce dent
a
HTML elements include style information
tu references styles
y@ s Sthat
e
d
stored in CSS files
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
The original
CSS
ya -tranfiles did not contain layout information. The new CSS files do.
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
The directories
an the files for HI and Open UI.
ya -trcontain
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
co de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Modifying
existing
a tran files: Rather than modifying existing files, Siebel Open UI allows you to
y
a
reference
modified
version of the file in a separate custom directory. This protects the
M oanfrom
originalnfile
corruption, and protects the modified file from being overwritten by upgrades.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
JS Folder Structure
JS files are on the Siebel Web Server in
\eappweb\public\<lang>\<build>\SCRIPTS
The top directory contains all JavaScript for high interactivity
The siebel subdirectory contains all JavaScript for the Open UI
framework
The 3rdParty subdirectory contains all 3rd party controls
s
a
h
)
m
o
Siebel Open UI JavaScript files are inc
e
e
PUBLIC\<lang>\<build>\scripts\siebelu
orr3rdParty
d
i
t
u
n
G
e
t
cc den
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Store your
custom
ya -tranJavaScript files in the custom subdirectory of the siebel directory.
a
M non
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Browser Scripts
JavaScript files that are used with HI clients are separate from
the JavaScript files that are part of the Open UI framework
Historical JavaScript files (if any) are on the Web Server in
\eappweb\PUBLIC\<lang>\<srf>\bscripts\all
a
s
a
)h
m
co de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Traditional
browser
ya -tran scripts can run side by side with Open UI, but it is not recommended.
a
M non
eappweb
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Open UI Client
Is a framework that runs within the browser on the client to
present the interface to the user
Utilizes:
Proxies
s
a
h
)
Presentation Models (PM)
m
o
c (PWs)
e
e
Physical Renderers (PR), including Plug-in Wrappers
r
d
i
u
t
u
n
G
e
t
cc den
a
y@ s Stu
e
d
More
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Proxy
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Is provided by Oracle
Must not be modified by customers
Browser
Open UI Client
s
a
h
)
Runtime
m
o
PM
c de
data
e
r
u Gui
t
n
Proxy
Proxy interfaces with
cce dent
the servers
a
y@ s Stu
e
d
Siebel Server
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Runtime
data
ya -tisrathen records from the Siebel database that the user will see in the view.
a
Metadata
M noisnother data such as repository objects that are needed to construct the view.
PW
PR
Metadata
Proxy
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
Browser
Local representations
m
o
c de
Open UI Client
e
r
u Gui
Metadata
t
n
PW PR
cce dent
Runtime
a
PM
y@ s Stu
data
e
d
Proxy pan
thi
e
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
kcovered
n
Detailsa
are
n in a subsequent lesson.
a
y
r
t
a
M non Did the user leave a control?
Did the user click a link?
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
List applet
Carousel
Timeline
A d so fforth
And
th
s
a
h
)
m
o
c de
e
r
i
u Gmobile
t
u
n
Supports different presentations for desktop
versus
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
kcovered
n
Detailsa
are
n in a subsequent lesson.
a
y
r
t
a
M non
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
faenew feature in IP2014.
k P are
s
n
Plug-inawrappers
n
y
ra
Ma non-t
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Manifests
Identify which files are associated with a given user interface
element
If an element is not listed, a default set of files is used
PR
a
s
a
)h
m
co e
Proxy
e
r
Specify which files to download
id
u to theGclient
t
u
n
cce dent
Web Server /
a
Siebel Server
y@ sJSStu CSS
e
d
Manifests
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Only the
files
nare required for a particular element are downloaded to the browser. The
a that
a
y
r
t
a
- manager is responsible for reading the manifest and determining which files
application
object
M ondownloaded.
need tonbe
It provides this list of files in the HTML header sent to the client
PM
JS
CSS
browser.
The manifest is stored within the Siebel database just like other administrative data.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Manifest Administration
Manifests are managed in the Application - Administration
screen within the Siebel application
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
kmanifest
n
Detailsa
on
n administration are covered in a subsequent lesson.
a
y
r
t
a
M nonCopyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
ure Guide
t
n
cce dent
a
y@ s Stu
e
d
More
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Browser
Open UI Client
PW
PR
a
s
a
)h
m
Proxy
co de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Handling
Events:
a tranAs of IP2014, event handling is managed using an "Event Helper" object.
y
a
- of this object are described later in this course, for a more detailed
While
basics
M the
nonof the event helper consider taking Oracle University's Siebel Open UI - Advanced
description
User click
PM
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
PW PR
h
)
m
o
PM
c de
e
r
u Gui
t
n
Proxy
t
Proxy sends
n
ccerequest
e
a
@ Stud
y
e
Siebel Server
d this
n
a
AOM
cp use
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
ya -tran
a
M non
No
contact
data
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Metadata
s
a
h
)
PM
m
o
R cti
Runtime
d
data
t
e
r
d
i
Proxy
u Gu e
Passed to Proxy
t
n
t
cce denDatabase
a
Web Server /
y@ s Stu
e
SRF
d
i
Siebel Server
SWT
an e thAOM
p
Metadata
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
PW
PR
Runtime
data
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
PR
Metadata
JS
CSS
a
s
a
)h
Proxy
m
o
Fil d
Files
downloaded
l dcd
e
e
r
d
i
tu Gu
n
e
Web Server /
c ent
c
a
Siebel Server
@ JSStud CSS
y
SWE
Manifest
e
d this
n
a
cp use
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
The appropriate
n files associated with the theme and view/applet are also downloaded
a traCSS
y
a
and
M cached.
non
PM
Runtime
data
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Browser
Open UI Client
s
a
PW PR
h
)
Metadata
CSSom
JS
PM
c de
e
r
Runtime
u Gui
t
n
Proxy
data
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
HTML
)
Metadata
CSS
m
JS
o
PM
c de
e
Runtime
r
u Gui
t
n
Proxy
data
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
PW
PR
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
PR
PM
Metadata
Runtime
data
JS
CSS
HTML
s
a
h
)
m
o
c de
e
r
u Gui
t
n
Record data
cce dent
to display
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Proxy
HTML to
display
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Browser
Open UI Client
PW
PR
Metadata
PM
Runtime
d t
data
JS
Proxy
CSS
Downloaded
Interactions
s
a
h
)
Manifest
m
o
c de
e
r
i
u GCSS
t
SRF
u
JS
n
SWT
cce dent
a
Metadata
y@ s Stu
e
d
i
n
h
t
a
p
e
Runtime datac
oDatabase
us
k
n
t
ya nse
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Web Server /
Siebel Server
AOM
ActiveX UI
Controls
Siebel HI Client
JavaScript UI
Controls
JavaScript
Library
JQuery Library
Client
C
Browser
Siebel HI Client
JavaScript
Extension API
ActiveX Proxy
JavaScript
Proxy
Client
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
In the diagram
nSiebel Server and Siebel Web Server are represented together as
a trthe
a
y
a
"Server".
M nonSiebel Web Templates
Style Sheets
Conditional
Rendering
Siebel Object
Manager
Siebel Tools
Configuration
HTML
Composition
Conditional
Rendering
a
Server
Style Sheets
HTML
Composition
Layout
y
Styling
Styling
Layout
Siebel Open UI
Static:
Layouts moved to
CSS from SWT
Server
Siebel HI Client
Dynamic:
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Summary of Differences
((In Yellow))
Recommended Practices
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Reference:
For
n information, see Deploying Siebel Open UI on Oracle Technology
a tramore
y
a
- Siebel Open UI Deployment Guide (Doc ID 1499842.1) on MyOracle Support.
Network,
M noornthe
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Lesson Highlights
The architecture for Siebel Open UI is similar to the
architecture for the high interactivity with some differences
A separate application object manager is used which is enabled
for Open UI
Layout information is moved from the SWT to the CSS files
Data binding and layout is decoupled in the client by using
proxy, presentation model, physical renderer, and CSS layers
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Practice
Enable Siebel Open UI for an application object manager
Use the browser to see which files are downloaded
Inspect some of the directories
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
4
Administering the Manifest
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Objectives
After completing this lesson, you should be able to:
Describe the purpose of each of the Siebel Open UI manifest
administration views
Add custom files to the manifest
Administer the manifest
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
JavaScript files
Cascading Style Sheet (CSS) files
s
a
h
)
m
Associate files to objects
j
in the Siebel application
pp
o
c de
e
r
i
For example, specify which JavaScript files should
be
u Gassociated
t
u
n
with which applet, navigation item, or other
t
n
cceobject
e
a
@ Stud
y
e
d this
n
a
cp use
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
ya -tran
a
M non
Where those files should be applied
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
More
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
co d>e
Administrationr-e
Application
i that
u Gallufiles
t
Manifest Files
includes
n
t to the client
cedownloaded
mightcbe
n
e
a
@ Stud
y
e
d this
n
a
cp use
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
File References:
a tranThe manifest contains file references; the files themselves are not uploaded
y
a
to
This allows you to modify the files in the filesystem and the updated
Mthe Siebel
on-Enterprise.
files arenimmediately
available. Do not forget that the browser caches JavaScript files, so you
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
may need to clear the browser cache to see the updated files.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
co de
e
r
i
Administration - Application > ManifesttExpressions
u Guincludes
n
name-expression
pairs
cce dent
a
y@ s Stu
e
d
i evaluates to TRUE if the
For example, the expression
named
Base
thattribute
an object
p
OperationalMode
equals 'Base'
e
c
s
u
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
The expressions
n written using Siebel Query Language. The full range of Siebel Query
a traare
y
a
Language
is available.
M nonexpressions
The two most-commonly-used
most commonly used methods are GetObjectAttr() to read an attribute from the
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
currently-active object (for example, the applet), and GetProfileAttr() to read an attribute from
the currently-active application and session (for example, Siebel Call Center while logged in
as SADMIN).
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
tu the Manifest
y@ Files
from
S
e
d
athen e this Files view
Expressions from
p
Manifest Expressions
c oviewus
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Screenshot:
anscreenshot has been modified to fit the page.
ya -tThe
r
a
M non
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
More
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
Specify an object type
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
co de
e
r
u Gui
t
n
nttype
ccethe dusage
Specify
e
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Resource
Files:
files are files that are not necessarily JavaScript or CSS files, but
n
a traResource
y
a
that
by the JavaScript; for example, HTML files that might be referenced to
M maynobenreferenced
add a standard
footer to a page or so forth.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
The files required to support the standard Siebel Open UI interface are already populated in
these views. You only need to add or modify records in this view if you are customizing the
application.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
co de
e
r
i
uobjectG
t
u
Specifyn
the
name
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Other names:
n are names in ALL CAPS that are used to specify more general
a trThere
a
y
a
configurations;
for example, DEFAULT FORM APPLET applies to all form applets that do not
M non-rules
have specific
set for them.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Duplicate Names: You cannot modify as-delivered records. Instead, you can create ONE
additional record with the same Type, Usage Type, and Name as an as-delivered record. The
files you specify in your record will be downloaded in addition to those specified in the asdelivered record. This is the only exception to the requirement that Type/Usage Type/Name
be unique for each record.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Each
E h group h
has a llevell
Each group is evaluated in order; evaluation stops when a
group evaluates to TRUE
a
s
a
)h
m
co de
e
r
u Gui
t
n
t is evaluated
ceGridegroup
n
cThe
a
@ Sfirst;
tualld of its expressions
y
e
d this are combined with ANDs
n
The Map group
a
is evaluated lastcp
se
u
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
Web Template
n If Usage Type = Web Template, then you must specify the name of
a traName:
y
a
- Template here, rather than in the Files applet.
the
Web
M Siebel
non
Specify the operator (AND or OR) to use to combine
expressions in the group
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
c de
e
r
u Gui
t
n
cce dent
a
The
group
the Desktop,
@Grid and
tuGridevaluates
y
S
e
EditList,
expressions,
in that
d
s
i
n
h
order,
and
ANDs
them
together
pa use t
c
k to
n
a
ay ense
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
Expressions:
nexpressions are those defined in the Administration - Application >
a trThe
a
y
a
Manifest
view.
nM noExpressions
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
download jqgridrenderer.js
from the siebel directory
s
a
h
)
m
o
c de
If the Grid expression group
e
r
u Gui
evaluates to TRUE
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
fe
k PThenas-delivered
s
n
Defaultafiles:
application includes a set of JavaScript and CSS files to
a
y
r
t
a
download
M noton-the client. You are specifying custom files to download here.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
For Presentation Model and
Physical Renderer files, the file
name mustt b
be added
dd d tto th
the fil
file it
itselflf
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
Example: Modify the Contact Form Applet so that if the contact's Job
)
m
o
Title is blank (empty)
(empty), the contact
contact's
s work phone number and fax phone
c de
e
r
number are not shown
u Gui
t
n
cce dent
a
y@ s Stu
e
d
More
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
Downloading 3rd-party libraries
)h
m
co de
Copying
C
i and
d modifying
dif i as-delivered
d li
d JJavaScript
S i trfil
files
e
u Gui
t
n
Writing your own
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Customizing
presentation
model and physical renderer JavaScript files will be discussed in
a tran
y
a
subsequent
M nonlessons.
Obtain new files by:
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
Otherwise...
o
else{
cthem
...hide
e
e
$( "div#WorkPhoneNum_Label" ).parent().hide();
r
d
i
tu
u
$( "[name='" + WorkPhoneNum.GetInputName() + "']"
).hide();
n
G
e
t
c en
$( "div#FaxPhoneNum_Label" ).parent().hide();
c"']"
a
$( "[name='" + FaxPhoneNum.GetInputName()
+
@ Stud).hide();
y
}
e
d this
n
a
cp use
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
How this
example
ya -tranwas implemented:
a
n this example, navigate to Administration - Application > Manifest Administration
M Tonostart
and
a
d que
query
y tthe
eU
UI Objects applet
app et for
o Name
a e = Contact
Co tact Form
o Applet.
pp et In tthe
e as
as-delivered
de e ed
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
application, you will receive no results, as the Contact Form Applet has not yet been
customized.
Next, query for Name = DEFAULT FORM APPLET. This returns both the physical
renderer (phyrenderer.js) and presentation model (pmodel.js) for a default form applet.
Create two files according to instructions in subsequent lessons and give them easilyrecognizable names; for example, ContactFormPR.js and ContactFormPM.js.
Edit the two files to implement the customizations
Administer the two files in the views shown in this lesson.
GetInputName() vs. GetEI(): In subsequent lessons you will see the new GetEI() method
implemented to get control elements. The "old" (IP2013 and before) style of GetInputName()
still works, and is shown in this example.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
Add your custom files to Administration
r
u Gui
t
- Application > Manifest
Files
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
tu
y@
Only SADMIN
will seeS
modifications
e
d
s
hiexpression
tthis
anthat use
p
e
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
Add expressions
a
tu custom files
y@ s Specify
S
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Navigation:
The
n shown in the screenshot is Application - Administration > Manifest
a traview
y
a
Administration.
M nonCopyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
Job Title is p
populated...
p
cofax numbers
are
and
e
e
...and work
r
d
i
tu notGshown
u
n
e
t
cc den
a
y@ s Stu
e
d
Job Title is empty....n
a e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Lesson Highlights
The manifest administration views determine what files are
downloaded to the Siebel Open UI client
Administration - Application > Manifest Files lists available files
Administration - Application > Manifest Expressions defines
true/false expressions
Administration - Application > Manifest Administration specifies
which files are associated with which object
s
a
h
Add the JavaScript files to the appropriate directory
)
m
o
c idet UI
Administer
Ad i i t the
th manifest
if t to
t apply
l the
th files
fil to
t the
th rappropriate
e
u Gui
t
object
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Practice
Modify a manifest to include custom files
Verify the results
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
5
Presentation Model
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Objectives
After completing this lesson, you should be able to:
Describe the structure of a presentation model file
Describe how to create a custom presentation model file to
implement your own business logic
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
These representations are managed as objects in a m)
co de
namespace in the client cache
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
For example,
p , desktop
p and mobile clients
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
Caveat: Most presentation model customizations alsom
require
o
c changes
customization
t i ti off the
th physical
h i l renderer
d
tto di
display
l reth
the
hde
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
This lesson's
an extends an existing presentation model using the Init() method.
ya -example
r
t
a
M non
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Example
Implement a new ShowJobTitleRelatedField property that is
TRUE if a contact record's Job Title field is populated
In a subsequent lesson you will modify the physical renderer to
hide fields if ShowJobTitleRelatedField is FALSE
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
If Job Title has a value, display
a
work and main phone
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Terminology
The presentation model's class instantiates the presentation
model object with a unique name
In JavaScript there is only one instance of the class/object at a
time
ha
)
om
c
ure Guide
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
From http://www.phpied.com/3-ways-to-define-a-javascript-class/:
It is important to note
a tran
y
a
that
are
n- no classes in the original JavaScript specification. Functions can be used to
M there
noclasses,
simulate
but in general JavaScript is a class-less language. Everything is an object.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
In terms of inheritance, objects inherit from objects, not classes from classes as in the "class"ical languages.
Siebel Open UI uses functions to simulate classes.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
More
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Example: Implement a ContactFormPM presentation model that extends the
standard form applet presentation model by setting a property to TRUE or
FALSE depending on whether or not the Job Title field is populated
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Example code:
a
s
a
)h
m
codetermines
The 'if' statement
... // The rest of your code goes here
e
e
r
d
i
whether
tuthe classGhas
u already
}
n
e
been
implemented
t
cc den
a
// No else statement is required
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
SiebelAppFacade
a tranis a namespace used to register all classes. In subsequent slides you will
y
a
- your class to this namespace.
see
M hownotonadd
// 1. Run this code only if the class does not yet exist
if( typeof( SiebelAppFacade.ContactFormPM ) === "undefined" ) {
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Example code:
s
a
h
)
m
o
Th SiebelJS.Namespace
The
Si b lJS N
callll adds
dd th
the
c de
e
r
class to the SiebelAppFacade namespace
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
// 2. Add this class to the SiebelAppFacade namespace
SiebelJS.Namespace( "SiebelAppFacade.ContactFormPM" );
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
co de
e
r
u Gui
t
n
});
cce dent
a
Return the class
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
File Names:
By
Siebel Open UI matches the file name to the object the file is
n
a traconvention,
y
a
defining.
n- for this example, to clearly differentiate between the file and the object, the
M noHowever,
file name
is contactformpmodel.js, while the object is ContactFormPM.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Parent Files: The parent file is found by examining the default presentation model for the
object you are customizing. For example, if you are customizing a form applet, navigate to
Application - Administration > Manifest Administration, query for Name = DEFAULT FORM
APPLET, and verify that the default presentation model file is siebel/pmodel.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
More
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Example:
a
s
a
)h
// Declare the ContactFormPM class
m
Si b l
SiebelAppFacade.ContactFormPM
d C
= ( f
function(){
i (){
co de
e
r
// ...Code that defines the class...
u Gui
t
n
} ());
ce ent
Since the "class" is actually a function, ac
@ Stud
the ending parentheses are required
y
e
d this
n
a
cp use
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
JavaScript
has
nconcept of classes such as in other languages like Java or C++; everything
a trno
a
y
a
in
n-is an object. To simulate classes, use functions to create reusable objects.
MJavaScript
no'class'
Since the
is actually a function, the () at the end is required as part of a function
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
declaration.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
om
c
ure Guide
t
// Create the constructor and call the superclass constructor
n
cce dent
function ContactFormPM( proxy ){
a
SiebelAppFacade.ContactFormPM.superclass.constructor.call(
this,
y@ s Stu
e
proxy);
d
hisuperclass constructor
tthe
an Call
p
}
e
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
The proxy
object
the Siebel Open UI client proxy, containing the "shadow" objects,
n
a trarepresents
y
a
- Siebel data.
metadata,
and
M non
Example code:
Call vs. Apply: JavaScript provides two mechanisms for invoking a function: call(), which
accepts an object and an array of arguments, and apply(), which accepts an object and a
list of arguments. You will see both used in code examples in this course and the
documentation. In general, code written before IP 2014 used call(). For IP 2014, engineers
chose to switch to apply(). From a functional perspective there is no difference between the
two methods.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Example code:
s
a
h
)
// Make ContactFormPM an extension of its parent class
m
o
SiebelJS.Extend(ContactFormPM, SiebelAppFacade.PresentationModel
c de);
e
r
i
u Gu
t
Extend the
default
n
nt model
cce dpresentation
e
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
For example, add the Init() method using
)h
m
yourClass.prototype.Init
y
p
yp
= function()
() {
co e
e
r
// call your Init() code, including
u Guid
t
n
// the Init() function of the superclass
cce dent
a
}
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Prototyping:
anprototype type in JavaScript is very powerful. It has several advantages:
ya -tThe
r
a
be added to an object at any point, and applies to all instantiated
M Anprototype
on can
objects as well
e as a
all future
utu e objects
objects. So p
prototyping
ototyp g a
allows
o s you to add functions
u ct o s o
or
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
sif
Include code that creates or overrides methods for the class,
a
h
)
any
om
c de
this.AddMethod("NameOfMethodToOverride",
e
r
yourMethodName, {sequence:false, scope:this});
ntu Gui
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Format:
The
n for the Init declaration is:
a format
a
y
r
t
a
yourClass.prototype.Init
= function(){
M non Invoke any other available methods
Available Methods to Override: The available methods that can be overridden depend on
the object of your presentation model. For example, for a description of methods that can be
overridden for an applet presentation model, consult "Presentation Model Methods for
Applets" in Configuring Siebel Open UI, or consider taking the Siebel Open UI - JavaScript
API course from Oracle University.
For a full description of all presentation model methods, see "Classes and Methods of the
Siebel Open UI Application Programming Interface" in Configuring Siebel Open UI .
Some implementations may also require the Setup method to be overridden. This is true
when you want to add additional processing of the initial response from the Siebel server.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Example code:
// In the Init() method, add a property and two methods
ContactFormPM.prototype.Init = function(){
Declare the Init function
SiebelAppFacade.ContactFormPM.superclass.Init.call( this );
Add a property named
"ShowJobTitleRelatedField"
a
s
a
)h
m
co applet
Override the "ShowSelection"
Similarly, override the "FieldChange"
e
e
r
d
i
method with a locally-defined
tu Gumethod
method with OnFieldChange
n
e
named
SelectionChange
c ent
c
a
this.AddMethod( "FieldChange", OnFieldChange, { sequence
: false,
@ Stud
y
scope: this } );
e
d this
};
n
a
cp use
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
AddProperty:
n function stores the property as local data on the client. So the object
a trThis
a
y
a
model
the
n-client now contains one additional property that is not part of the object model
M on
noserver.
from the
ShowJobTitleRelatedField is a local property that can be manipulated by the
this.AddMethod( "ShowSelection", SelectionChange, {
sequence : false, scope : this } );
presentation model.
AddMethod: This function allows you to add your method to an existing API method.
Whenever a user selects a new record, the ShowSelection() method is run. Use AddMethod
to add a custom "SelectionChange" method that runs whenever ShowSelection() is run.
ShowSelection: This applet method is an internal proxy method that Siebel Open UI calls
when it must display a record as the chosen record. Thus it is called when a record is
di l
displayed.
d
FieldChange: This applet method changes the value of a field in the applet. When a user
updates a field in the UI, FieldChange() is called. Use AddMethod() so that your custom
"OnFieldChange" method is called whenever FieldChange() is called.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Example code:
as
// Custom method that runs whenever a new record is selected ) h
function SelectionChange(){
{
om
Get the applet controls
c
e
}
Set ShowJobTitleRelatedField
c tootrue
usor false, depending on whether job title is set
k
n
t
ya nse
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
// 1. Run this code only if the class does not yet exist
if(typeof(SiebelAppFacade.ContactFormPM) === "undefined"){
// 2. Add this class to the SiebelAppFacade namespace
SiebelJS.Namespace("SiebelAppFacade.ContactFormPM");
// 3. Put in a define statement that defines the file and the
//
parent presentation model
define("siebel/custom/contactformpmodel", ["siebel/pmodel"],
function () {
s
a
h
)
m
o
c de
e
r
// Create the constructor and call the superclass constructor
u Gui
t
n
function ContactFormPM(proxy){
cce dent
SiebelAppFacade.ContactFormPM.superclass.constructor.call(this,
a
proxy);
y@ s Stu
e
}
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
// Declare the ContactFormPM class
SiebelAppFacade.ContactFormPM = (function(){
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
};
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
4. Class constructor
s
a
h
)
m
o
c properties
e
e
5.rCustom
d
i
u methods
tand
uare added
n
G
e
t
cc detonthe Init() method
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Lesson Highlights
To create a custom presentation model, create a JavaScript
file and:
Verify the object class does not yet exist
Add the class to the namespace
Implement
I l
t a constructor
t t function
f
ti for
f the
th class
l
e is
d
n
a e th
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Practice
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
6
Physical Renderer
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Objectives
After completing this lesson, you should be able to:
Describe the structure of a physical renderer file
Describe how to create a custom physical renderer file to
customize the physical appearance of the application
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
All
Allows records
d (th
(thatt iis, th
the same presentation
t ti model)
d l) tto b
be
displayed in different ways on different views
Lists
Forms
Carousels
And so forth
s
a
h
)
m
o
c de
e
r
u Gui
t
n
t different
Allows records to be displayed in different
waysen
on
cce
a
@ Stud
platforms
y
e
d this
n
For example, desktop versus
mobile
a
cp use
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
co de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
New Features
a trinanIP2014: Siebel Open UI has significant updates to the physical renderer
y
a
mechanism
M nonin- IP2014:
ug wrappers
appe s a
allow
o de
developers
e ope s to write
te co
controls
t o s independent
depe de t o
of app
applets.
ets
Plug-in
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
The developer writes the code for the control, not concerning him- or herself with
the implementation details of the underlying applet.
- The developer attaches the control to applets based on a conditional function he or
she writes.
The HTML template manager provides a method to generate HTML code for controls
- For example,
p , add the HTML code for the once the p
plug-in
g wrapper
pp has g
generated
the control.
-
This course focuses on "basic" customizations that involve changing the applet-level physical
renderer. For more information on plug-in wrappers and the HTML template manager,
consider taking Oracle University's Siebel Open UI - Advanced JavaScript API course.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
co de
e
r
u Gui
t
n
And many more
cce dent
a
u
Most "branding" of the Siebel applications
some
y@ s Stinvolves
e
d
i
modification to physical renderer
th
an efiles
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
For example, desktop or mobile
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
n tG
e
c
c den
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
This lesson's
example
a tran extends an existing physical renderer using the Init() method.
y
a
Binding
n- to notifications: When an event occurs in the presentation model; for example, the
M nhandlers
o
value of a presentation model property changes, a notification is sent to the physical renderer. The
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
physical renderer must have an AttachPMBinding() call that monitors this notification and invokes a
method. Add AttachPMBinding() calls to the Init() method of the physical renderer to handle
presentation model notifications.
Method invocation: All three methods, ShowUI(), BindData(), and BindEvents() are run once
when the control (for example, applet) is loaded. The example in this lesson is designed to update the
UI immediately when a field value changes. The correct method in this case is AttachPMBinding(),
attaching a Physical Renderer method to a Presentation Model method so that once the Presentation
M d l method
Model
th d completes
l t (f
(for example,
l to
t update
d t a value
l in
i the
th metadata),
t d t ) the
th Physical
Ph i l R
Renderer
d
method runs (for example, to show or hide a field in the UI).
Plug-in wrappers: Controls can be built using separate physical renderer files known as "plug-in
wrappers".
Event Helper: As of IP2014 there is an EventHelper object that helps make events more abstract; for
example, both a mouse click on a desktop machine and a tap on a touchpad are "down" events for the
event helper. Details on plug-in wrappers, the HTML template manager, and the event helper are all in
O l University's
Oracle
U i
it ' Siebel
Si b l O
Open UI - Advanced
Ad
d JJavaScript
S i t API course.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Example
Show or hide controls based on the value of the
ShowJobTitleRelatedField property in the presentation model
Uses AttachPMBinding() to update the UI whenever the
presentation model property is updated
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
If Job Title does not have a value, de
do not display work and mainpphone
an e thi
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
Example: Implement a ContactFormPR physical renderer that extends the m)
co de
standard form
f
applet physical renderer by reading a property from
f
the
e
r
ifields
u certain
t
presentation model and using it to determine whether or not tonshow
u
G
cce dent
a
y@ s Stu
e
d
an e thi
More
p
c
s
k to u
n
a
ay ense
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Example code:
// 1. Run this code only if the class does not yet exist
if( typeof( SiebelAppFacade.ContactFormPR ) === "undefined" ){
s
a
h
)
m
... // The rest of your code goes here
o
The 'if' statement
c determines
e
e
r
}
d
whether
the
class
has
already
i
tu Gu
n
been implemented
e
cc dent
// No else statement is required.
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Example code:
s
a
h
)
m
o
c de
e
r
The SiebelJS.Namespace call adds the
u Gui
t
n
class to the SiebelAppFacade namespace
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
// 2. Add the class to the SiebelAppFacade namespace
SiebelJS.Namespace( "SiebelAppFacade.ContactFormPR" );
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
co de
e
r
u Gui
t
// ... The rest of the code goes here
n
ceclass ent
return "SiebelAppFacade.ContactFormPR";
cthe
Return
a
@ Stud
});
y
e
d this
n
a
cp use
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
File Names:
By
Siebel Open UI matches the file name to the object the file is
n
a traconvention,
y
a
defining.
n- for this example, to clearly differentiate between the file and the object, the
M noHowever,
file name
is contactformphyrenderer.js, while the object is ContactFormPR.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Parent Files: The parent file is found by examining the default presentation model for the
object you are customizing. For example, if you are customizing a form applet, navigate to
Application - Administration > Manifest Administration, query for Name = DEFAULT FORM
APPLET, and verify that the default physical renderer file is siebel/phyrenderer.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
More
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Example:
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Self-Invoking
By default, JavaScript functions are not invoked until called.
n
a trFunctions:
a
y
a
Functions
form
M noinn-the
(function
() {
// Declare the ContactFormPR class
SiebelAppFacade.ContactFormPR = ( function(){
{
// ...Code that defines the class...
} ());
Since the "class" is actually a self-invoking
function, the ending parentheses are required
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
e
e
r
d
i
Example code:
tu Gu
n
e
// 5. Call the superclass constructor
cc dent
a
function ContactFormPR( pm ){
y@ s Stu
e
SiebelAppFacade.ContactFormPR.superclass.constructor.call(
this, pm
d
i
n
h
);
t
a
cp use Call the superclass constructor
}
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Example code:
// 6. Make ContactFormPR an extension of its parent class
SiebelJS.Extend(ContactFormPR, SiebelAppFacade.PhysicalRenderer );
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Extend the parent presentation
model or physical renderer
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Example code:
// Bind the ShowJobTitleRelatedField variable from the
// presentation model to the ModifyLayout method of this object
ContactFormPR.prototype.Init = function () {
SiebelAppFacade.ContactFormPR.superclass.Init.call(this);
this.AttachPMBinding( "ShowJobTitleRelatedField", ModifyLayout
);
a
s
a
)h
m
co de
e
r
u Gui
t
n
nttime there is
cce devery
The ModifyLayout method of this physical renderer will be
executed
e
a
@ ofSthe
a change in value of the ShowJobTitleRelatedFieldyproperty
tupresentation model
e
d
an e this
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
The ShowJobTitleRelatedField
property is a custom property that was used as an example in
a tran
y
a
the
on- customizing the Presentation Model.
M lesson
non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Example code:
Get the applet controls and the
ShowJobTitleRelatedField property
function ModifyLayout( ){
var controls = this.GetPM().Get( "GetControls" );
var canShow = this.GetPM().Get( "ShowJobTitleRelatedField" );
var WorkPhoneNum = controls[ "WorkPhoneNum" ];
var FaxPhoneNum = controls[ "FaxPhoneNum" ];
if( canShow ){
specifically, get the WorkPhoneNum
$( "span#WorkPhoneNum_Label"More
).parent().show();
and FaxPhoneNum
controls
$( "[name='" + WorkPhoneNum.GetInputName()
+ "']"
).show();
$( "span#FaxPhoneNum_Label" ).parent().show();
$( "[name='" + FaxPhoneNum.GetInputName() + "']" ).show();
}
Show WorkPhoneNum and
else{
FaxPhoneNum
if the property is true
$( "span#WorkPhoneNum_Label"
#
k h
b l )
).parent().hide();
() hid ()
$( "[name='" + WorkPhoneNum.GetInputName() + "']" ).hide();
$( "span#FaxPhoneNum_Label" ).parent().hide();
$( "[name='" + FaxPhoneNum.GetInputName() + "']" ).hide();
}
Otherwise hide them
}
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
methods
are added
n within
ththei class
aCustom
p
e
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Lesson Highlights
To create a custom physical renderer, create a JavaScript file
and:
cp use
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
ya -tran
a
M non
Practice
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
7
Debugging
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Objectives
After completing this lesson, you should be able to:
Use SiebelJS.Log() to log messages to the console
Use the debugger statement to add breakpoints to scripts
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
More
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
You can perform inline modification of the CSS rules to see how
those changes affect the look
look-and-feel
and feel
)
m
o
Browsers that provide built-in developer tools include
c Google
e
e
r
d
i
tu8 orGhigher
u
Chrome, Mozilla Firefox, and Internet Explorer
n
e
t
cc den
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Console:
For
n reasons, Open UI disables console access to JavaScript objects, so
a tsecurity
a
y
r
a
- is not available for Siebel Open UI.
this
M functionality
non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
tu or Mozilla Firefox,
y@ s Chrome
S
e
In Google
d
thi and select Inspect element
an right-click
p
e
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
In Google Chrome, the Sources tab lists all JavaScript
)
m
and CSS files that have been downloaded
o
c de
e
r
u Gui
t
n
Click the Errors
to see
JavaScript
nthet any
cceicondwith
e
errors a
associated
current page
y@ s Stu
e
d
Verify
that your tcustom
hi JavaScript
anhas
p
e
c o usbeen downloaded
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
The inspector
Th
i
t informs
i f
you off JavaScript
J
S i t errors and
d allow
ll
you tto
examine them
a
s
a
)h
m
co de
e
r
ucase Gui
t
Review the errors and the files they are in; for example, innthis
t
a file is missing, indicating an improperly-configured
n
ccemanifest
e
a
@ Stud
y
e
d this
n
a
cp use
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
Checking
the
If the file fails to download at all, first make sure that the path to the
n
a trmanifest:
a
y
a
- in the Manifest Files view. Then make sure the file is applied to the correct
file
M is included
nothen Manifest Administration view. Finally, check the Manifest Expressions to make
object in
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
sure that they are allowing the file to be downloaded. For this particular example, the file
name had a typo in it and hence the file could not be found.
Use SiebelJS.Log()
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
// Example of using the GetFieldValue() method of the presentation
e
r
ithe control
uthe name
t
u
// model Use GetFieldValue() from the presentation model if you know
of
n
G
e nt
var controls = this.GetPM().Get("GetControls"); cc
a
de
u
var PostalCode = controls["PostalCode"]; y@
t
e" + is S
d
SiebelJS.Log("The value of PostalCodenis
a e th PostalCode));
p
this.GetPM().ExecuteMethod("GetFieldValue",
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
This code
example
ya -tranis custom code related to the practice.
a
Both
M examples
on produce the same results: The console will display
n
The value of City is <City Name>
The difference is whether you want to work with control names from the presentation model,
or element names from the physical renderer.
Also be careful about order of execution. Using the input.val() method reads the current value
f
from
the
th display;
di l
iin practice,
ti
thi
this may di
display
l th
the value
l ffrom th
the previously-selected
i
l
l t d record.
d
You must write your code in such a way that this call is made after the page is fully loaded.
Using GetFieldValue() gets the current value from the presentation model, and is more robust.
Output of SiebelJS.Log()
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
Log statements are
shown
u errorGui
t
n
along with warnings
and
nt
ccinethe dconsole
messages
e
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Usage:
debugger;
The browser developer tool stops on the statement if the
inspector is open
Behavior is exactly like a breakpoint set in the tool
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
i
If the inspector
the
tool
thdeveloper
anis open,
p
e
will stop
execution
at
a
debugger
statement
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
Examine variables, review
tu Gui
the call stack, and so forth en
cc dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Recommendations
Become familiar with the developer tools in your browser of
choice
Use code quality tools such as JSLint (http://www.jslint.com/)
Use debugger and SiebelJS.Log() sparingly, and remove
such
h calls
ll b
before
f
going
i tto production
d ti
Avoid calls such as alert() that may be missed when going
from testing to production
While debugger and SiebelJS.Log() are "invisible" to as
)h
normal users, alert() displays an alert the end userm
sees
co
e
e
Test all browser and device combinations before
moving
to
r
d
i
tu Gu
n
e
production
nt
cc
a ude
@
t
y
S
e
d
an e this
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Lesson Highlights
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Practice
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
8
Cascading
C
di St
Style
l Sh
Sheets
t and
d
Open UI Themes
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Objectives
After completing this lesson, you should be able to:
Describe Cascading Style Sheet (CSS) Files
Identity the CSS rules associated with a UI element
Add style rules to an existing Siebel Open UI theme
Implement a new Siebel Open UI theme
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
om
c
ure Guide
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
For
F example,
l <di
<div>
> elements
l
t
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
CSS Rules
Consist of one or more property value pairs that describe how
an element in the HTML is to be rendered
The most basic format is:
<Element> {
attribute1: value1;
attribute2: value2;
;
}
Example:
s
a
h
)
BlueButton ( font-family: arial
m
o
font-size: 12px;
c de
e
r
i
color: white;
Styling information
information tu
Styling
u
HTML element
n
G
font-weight: bold;
for that
that element
element
for
being styled
cce dent
background: blue }
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
#para1 {
m
o
text-align: center;
c de
This styling applies the HTML
e
r
color: red;
u Gui
elements with ID = para1
t
n
}
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Example:
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
as
body, td, input, select, textarea {
For body, td, input, select, ) h
For body, td, input, select, or textarea
font-family: Arial;
m
or textarea elements,
oset
elements set the font to red
elements,
Arial
c
color: red;
the font to rred
Arial
e
e
d
i
}
tu Gu
n
e
cc dent
body.center {
a
For all body
u with a "class"
@ elements
t
text-align: center;
y
S
e
attribute
d tofhi"center",
s center the text
}
n
a
cp use
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
"Specificity"
Specificity determines which style is applied
The more specific the styling, the higher its specificity
For example, styling for a specific element ID takes precedence
over class styling for that element
a
s
a
h
Within a specificity level, the "last to be applied" style m
takes
)
o
c de
precedence
e
r
i
uapply
t
u
n
In Siebel Open UI, this is any custom style
you
G
cce dent
a
Caveat: Styles marked with !important
@ take
tu precedence
y
S
e
d this
n
a
cp use
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
Reference:
For
n information on specificity, consult any reliable web page on Cascading
a tramore
y
a
- for example, https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity.
Style
M Sheets;
non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
The !important tag: If the !important tag is used multiple times, the last to be applied
takes precedence.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
CSS files on the
c de
e
Siebel Web Server
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
The folder
contains
ya -tran CSS files for both the Open UI and the HI client.
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Custom CSS files should be placed in the custom directory to ensure they will not be
overwritten by patches or updates.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
Strikethrough text indicates styles n
that
t
were overridden in another file
n
ccoreclass
e
a
@ Stud
y
Some of
the
e
dstylesthis
n
applied
a
cp use
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
Screenshot:
anscreenshot is from the bottom of Accounts > My Accounts.
ya -tThe
r
a
M non
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Theme
Is one or more cascading style sheets that implement a
consistent look and feel for the user interface for a web
application
Typically specifies:
A coordinated
di t d sett off colors,
l
ffontt styles
t l and
d sizes,
i
and
d so fforth
th
The look and style of various user interface elements such as
menu buttons
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Themes
are
sometimes
ya -tran referred to as skins.
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
Select a tab (horizontal)
o
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
Navigation
Control
a tran Type: Recall that the available navigation control types are Tab, Tree,
y
a
and
Menu.
M Side
non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Defining a Theme
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
Example: Modify the style of the applet header
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
More
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
cothe e
get
Verify you
e
r
id
u result
desired
t
u
n
G
cce dent
a
Change color, size, and
y@ s Stu
e
font of header inline
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
The edits
you
n inline are not saved back to the CSS files. You can always revert back to
a tmake
a
y
r
a
- rules by reloading the page in the browser. To make the changes
the
styling
M original
nonyou must copy the modified rules to a CSS file. You will do this in the practice.
permanent,
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Copy the rules and paste them into a new .css file
Use a text editor of your choice
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
co de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
The recommended
a tranpractice is to store customer-created CSS files in a separate custom
y
a
folder.
if you created BlueSkin.css, you could store the file in
M nForonexample
<webserver>\public\<lang>\files\custom.
You would need to update any relative file paths in
the file.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
n you thi 3. Add your file
atheme
2. Select the
p
cmodifyinguse
are
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
Verify your theme is applied
o
c de
e
throughout the application
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
Updated property
n
values appear
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Example: Create a new theme (named wasabi) that displays green buttons
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
More
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
In either case, it is very useful to examine an existing m
theme
o
c de
fil to review
file
i
the
h available
il bl Si
Siebel
b l CSS classes
l
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Existing
Themes:
a tranExisting themes end in theme.css and are located in
y
a
..\<webserver>\PUBLIC\<lang>\files.
M nonCopyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
co de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
File Names:
While
a tranthere are no enforced file naming conventions, new themes should start
y
a
-to identify them as theme files.
with
M "theme"
non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
Clear the LOV cache
m
Parent LIC identifies for
co de
e
which navigation type the
r
u Gui
t
theme is supported
n
cce dent
a
y@ s Stu
e
d
an e thi
p
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
i with
u file,Galong
t
u
Add yourntheme
e on which
t it depends
any
n
ccfiles
e
a
@ Stud
y
e
d this
n
Add your theme
expression
a
cp use
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
Wasabi is
y@ s Stu
e
now available
d
an e thi
Wasabi has been
p
c
s
applied
u
k
n
o
t
ya nse
a
(m lice
y
e
nd rable
a
P sfe
k
n
Navigation:
Set
n under User Preferences > Behavior.
ya -trathemes
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Lesson Highlights
Siebel Open UI uses cascading style sheets to define the look
and feel of elements in the client UI
Use the element inspector to examine and edit the rules
has
co e
e
r
Create a new theme by:
u Guid
t
n
Creating one or more style sheets
cce dent
a
Administering the theme LOV ey@ Stu
d this
n
a
Administering the theme's
CSS
p usfiles
e
c
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Practice
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
9
Siebel Mobile Applications
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Objectives
After completing this lesson, you should be able to:
Define Siebel mobile applications
Describe the Siebel mobile application architecture
Describe the architecture of Siebel Disconnected Mobile
applications
Enter and exit disconnected mode
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
co de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
fe can be used on mobile devices such as the iPhone, iPod, iPad,
k Papplications
s
n
Siebel a
Mobile
n
a smartphones, and so forth.
y
trand
Android
n
Ma ntablets
o mobile specific version of the standard desktop version of an application is a
Configuring a mobile-specific
The Siebel Service mobile application
common industry practice. The URL for the mobile version usually differs from the URL for the
standard version.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Connected:
Users use their device's standards-compliant web browser to
access the application using the appropriate URL
The architecture is the same as when using a desktop browser
Disconnected:
Di
t d
Application data, JavaScript, and CSS files from the server are
cached in the device's browser cache
Users use the same browser and URL as in connected mode
s
a
h
Work with Siebel data without a network connection
)
m
o
c is re
Synchronize
S nchroni e Siebel data once a net
network
ork connection
re-e
e
r
i
u Gu d
t
established
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Data filters:
Administrators
can set data filters to determine what data is downloaded to
a tran
y
a
- mobile clients. See Siebel Mobile Guide: Disconnected for more details on
disconnected
M nonthese
configuring
filters.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
Each Siebel
mobile
ya -tran application requires a separate license.
a
M non
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
User Experience
Siebel mobile applications are configured to work like typical
applications for mobile devices
Display smaller sets of data
Use touch navigation
The navigation tree is only shown
if the screen is wide enough
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
(Not shown) Only 8
e
d
fields in the form applet
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Only 5 records in the list applet
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Features
Uses the mobile device's standards-based browser to access
the application
The browser accesses a Siebel Web Server
Supports
S pports native
nati e functionality
f nctionalit
Gesture control, signature capture, and so forth
E-mail, phone, and location integration
Adjusts page for landscape and portrait orientation
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi Touch to e-mail the contact
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
All
tuapplications use
y@ sphyrenderer.js
S
e
as the default
d
iform applet physical
n
h
t
a
renderer
p use
c
k to
n
a
ay ense
m
(
y e lic
e
d
n rabl
a
k P nsfe
This is a
asnof IP2014
y
ra
Ma non-t
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
Styling for mobile applications
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
co de
In
I addition
ddi i set MobileApplication
M bil A li i = TRUE
e
r
u Gui
t
n
Optionally, set the SupportedMobileBrowser
t parameter
ce server
n
c
e
a
to specify additional mobile devices
@to support
tud
y
S
e
d this
The default value lists the currently-supported
mobile devices
n
a
p
e
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
For details
on
n new_compdef_sia or setting additional parameters, consult "Setting Up
a trunning
a
y
r
a
Siebel
n- Connected Applications" in Siebel Mobile Guide: Connected. In addition consult
M nMobile
o1511445.1
document
on My Oracle Support.: Setup steps for Siebel Connected Mobile
HighInteractivity = TRUE
EnableOpenUI = TRUE
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Applets
A
l t
Applet Web Templates
Views
View Web Templates
Screens
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
More
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Mobile Applets
Siebel mobile applications include mobile applets tailored for
mobile devices
Include fewer fields or columns to allow for better display on
mobile devices
a
s
a
)h
m
co de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
You can
copy
applet
n used in a desktop application and it usually will display correctly if the
a tan
a
y
r
a
- have a large number of fields.
applet
not
M does
non
"Mobile Pharma Account Form Applet Default"
applet displayed in preview mode in Siebel Tools
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
co de
e
r
u Gui
t
"Mobile Pharma Account Form Applet
n
ce ent
Default" uses mobile applet webc
templates
a
@ Stud
y
e
d this
n
a
cp use
k
n e to
a
y
a ens
m
(
y e lic
e
d
n rabl
a
febased on standard applet web templates and usually display correctly
k Pcannbe
s
n
Mobile a
applets
tra
ay as nthey
as
do not have too many fields.
Mlong
no
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Mobile Views
Are configured to contain the mobile applets for Siebel mobile
applications
Are based on mobile view web templates
Include mobile applets
s
a
h
)
m
...is based on the View
Detail
Map
o
c (aeSiebel
e
Mobile view web
template d
r
i
tu webGtemplate)...
u
Open UInmobile
e
t
cc den
a
y@ s Stu
e
d
n mobile
thi applets
aincludes
...and
p
e
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
For example,
example <div> tags instead of explicit placements
CCViewDetailMap_Mobile.swt: The view
web template for a mobile view
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Mobile Screens
Are configured to include the mobile views for a Siebel mobile
application
Typically include only a small number of views
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
Modify the styling rules in the CSS files
o
c de
e
r
Use a desktop browser to inspect the UI elements
u Gui
t
n
Edit the corresponding rules
cce dent
a
Save the edited rules in a new CSS
y@files Stu
e
d
Administer the CSS files, adding
thito the theme
an ethem
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
a
s
a
)h
m
co de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
k P nsfeMobile Applications versus Siebel Remote: Siebel's other
n
Siebel a
Disconnected
ra is "Siebel Remote". Siebel Remote is installed as an application on
ay n-tsolution
disconnected
M
no Windows machine, runs as a local application, and stores its data in a local
your Microsoft
Disconnected mobile
applications look just
like mobile applications
database. Siebel Disconnected Mobile is not OS-specific, and does not require the installation
of an additional application. In addition, Siebel Remote is planned to be end-of-lifed in the
future in favor of Siebel Disconnected Mobile Applications.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Client Browser
a
s
a
)h
Siebel
m
Database
co de
e
r
i
u Data
HTML5
t
u
n
G
t
n
cce Store
e
a
@ Stud
y
e
and
d 1. Download
is todata
n
h
t
a
metadata
client
Continued
cp use
Siebel k
Server
n
o
ya nse t
a
(m lice
y
e
nd rable
a
fe standards-compliant browsers have a data store dedicated to
kP
s
n
HTML5adata
store:
Modern
n
traThis data store is limited in size; therefore, only a specified subset of
ay content.
HTML5
n
M
no data is downloaded to the store. Details on configuring a user and the data that is
application
Browser Cache
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Client Browser
Browser Cache
s
a
h
) data
Siebel
2. Work
with
m
o
and
Database
in
c metadata
e
e
r
d
client
i
HTML5
tu Data
u
n
G
e
t
n
cc Store
e
a
d
y@ s Stu
e
d
an e thi
p
Continued
s
Siebel Serverkc
u
n
o
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
The JavaScript
an are stored in the browser cache.
ya -trfiles
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Client Browser
Browser Cache
s
a
h
)
Siebel
m
o
Database
c de
e
r
i
u Data
HTML5
t
u
n
G
t
n
cce Store
e
a
@ Stud
y
3. Synchronize
e
d modified
isdata and
n
h
t
a
p
e
Siebel k
Server
c o usmetadata with servers
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
Lesson Highlights
Siebel mobile applications use the same Siebel Open UI
framework as the regular desktop application
Use mobile versions of web template files
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Practice
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non
Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Unauthorized reproduction or distribution prohibited Copyright 2015, Oracle and/or its affiliates
s
a
h
)
m
o
c de
e
r
u Gui
t
n
cce dent
a
y@ s Stu
e
d
an e thi
p
c o us
k
n
ya nse t
a
(m lice
y
e
nd rable
a
P sfe
k
n
ya -tran
a
M non