2Overview of Siebel Open UI
Overview of Siebel Open UI
This chapter describes an overview of Oracle’s Siebel Open UI. It includes the following topics:
About Siebel Open UI
This topic describes Siebel Open UI. It includes the following information:
Overview of Siebel Open UI
Siebel Open UI is an open architecture that you can use to customize the user interface that your enterprise uses to display Siebel CRM business process information. These processes must meet the requirements of a wide range of employee, partner, and customer applications. You can use Siebel Tools to do these customizations, and you can also use Web technologies, such as HTML, CSS, or JavaScript. Siebel Open UI uses these technologies to render the Siebel Open UI client in the Web browser. It uses no proprietary technologies, such as browser plug-ins or ActiveX.
Siebel Open UI can run any Siebel business application on any Web browser that is compliant with the World Wide Web Consortium (W3C) standards. It can display data in Web browsers that support Web standards on various operating systems, such as Windows, Mac OS, or Linux. For example:
Internet Explorer
Google Chrome
Mozilla Firefox
Apple Safari
Siebel Open UI uses current Web design principles, such as semantic HTML and unobtrusive JavaScript. These principles make sure configuration for the following items remains separate from one another:
Data and metadata that determines HTML content
Cascading Style Sheet configurations that determine styling and layout
JavaScript behavior that determines client logic
You can modify each of these items separately and independently of each other. Siebel Open UI dynamically adjusts itself to the screen space available on the device and platform from which it is being accessed. Siebel Open UI will hide some of the objects that it displays on a Siebel screen when it displays Siebel CRM data in a list or form on the smaller footprint of a mobile device. Hiding these objects, such as menus or tabs, can help to optimize mobile screen usage. Siebel Open UI can use swipe and zoom features that are native on a tablet for the same user interface that it uses for keyboard and mouse events that are native on a desktop.
Siebel Open UI can reference a third-party resource. For example, you can configure Siebel Open UI to get data from a supplier website, incorporate it with Siebel CRM data, and then display this data in the client. For example, it can get literature information from a supplier, and then include this information in a detailed display that includes information about the product, such as images, diagrams, or parts lists. It can mix this information with Siebel CRM data, such as customers who own this product, or opportunities who might be interested in purchasing this product.
The architecture that Siebel Open UI uses includes well-defined customization points and a JavaScript API that allow for a wide range of customization for styling, layout, and user interface design. For more information, see Architecture of Siebel Open UI. For more information about the JavaScript API that Siebel Open UI uses, see Application Programming Interface.
For information about deploying Siebel Open UI, including supported features, see Article ID 1499842.1 on My Oracle Support. For more information about using Siebel Tools, see Using Siebel Tools.
Example Customizations That You Can Make with Siebel Open UI
The following list describes a few of the example customizations that you can make with Siebel Open UI. You can use JavaScript to implement most of these examples. It is often not necessary to use Siebel Tools to do these customizations:
Refresh only the part of the screen that Siebel Open UI modifies.
Display and hide fields.
Configure a spell checker.
Display a list applet as a box list, carousel, or grid.
Display data from an external application in a Siebel CRM view or applet.
Display a Siebel CRM view or applet in an external application.
Display a Google map.
Use cascading style sheets to modify HTML elements, including position, and dimension of an element.
Use HTML to customize the logo that your company uses or to customize the background image.
Use JavaScript to configure menus, menu items, and the layout.
Display Siebel CRM data in a Google map or add maps that include location data.
Create a custom mobile list.
Configure scrolling, swipe, swipe scrolling, infinite scrolling, and the height of the scroll area.
Configure a view to use landscape or portrait layout.
Configure toggle controls and toggle row visibility.
For more information about these examples, see Customizing Siebel Open UI.
Open Development Environment
You can use Siebel Tools or a development tool of your choice to customize Siebel Open UI so that it fits in your business environment and meets specific user requirements. You might not require Web development in many situations because the Siebel Tools configuration works for the Siebel Open UI client. You can use a predefined, uncustomized deployment, or you can use Siebel Tools to customize Object Definition Htmls. You can use only Web development or you can use Siebel Tools and Web development depending on your implementation requirements.
You can use Siebel Open UI with the rendering environment of your choice. You can use your preferred Integrated Development Environment (IDE) to write native JavaScript code on top of the API that Siebel CRM uses, or with the JavaScript API that Siebel Open UI uses. For more information, see Customizing Siebel Open UI. For more information about the JavaScript API that Siebel Open UI uses, see Application Programming Interface.
You can use HTML, CSS, or JavaScript to add features. For example, you can do the following:
Create smooth transitions between swipe, accordion, or carousel views.
Create multifont displays.
Expand, collapse, or resize an applet.
Use open-source JavaScript code that can reuse work from the open-source development community.
Use a plug-in, proprietary development environment, or native development environment that you choose, to create a custom rendering architecture that resides on top of the JavaScript API that Siebel Open UI uses.
Use intraworkspace communication and DOM (Document Object Model) access and manipulation through JavaScript.
Do a limited pilot test of your customizations in your current Siebel Server implementation.
Preserve your existing customizations.
Siebel Open UI JavaScript API Support
The JavaScript API that Siebel Open UI uses is recommended over browser scripting. You can use your own Integrated Development Environment to write JavaScript and you can customize the JavaScript API that Siebel Open UI provides.
This JavaScript API allows you to do the following:
Include Siebel Open UI objects, such as views or applets, in a third-party user interface.
Integrate external content in the Siebel Open UI client.
Use public and documented JavaScript APIs that support your business logic without rendering objects that depend on a specific or proprietary technology.
For more information about this JavaScript API, see Application Programming Interface.
Multiple Client Environment
Siebel Open UI can do the following to support different client environments:
Display data in any client that meets the World Wide Web Consortium standards. For example, a corporate desktop, laptop, seven-inch tablet, or ten-inch tablet. Siebel Open UI can display a typical Siebel CRM desktop client in the smaller footprint that a tablet provides.
Display data in a browser.
Display data simultaneously from a single Siebel business application to more than one client environment.
Siebel Open UI works the same way for the following client types:
Siebel Web Client
Siebel Mobile Web Client
Siebel Dedicated Web Client, also known as the Thick Client
Support for More Than One Usage
Siebel Open UI adjusts to the unique attributes that each client uses so that the user can do the same task on a variety of client types. It can optimize the intrinsic capabilities of each client type or device so that they provide a desirable user experience for the novice user and for the expert user. An administrator can configure Siebel Open UI to meet some of these individual skill levels. Siebel Open UI can do the following:
Support applications that you customize to meet appearance and behavior requirements or usage patterns of various devices, such as smartphones, tablets, desktop computers, or laptop computers.
Use flexible layout options that support a tree tab layout or a custom navigation design.
Automatically hide tabs and navigation panes when not in use to optimize space.
Allow employees, partners, and customers to use the same business process and validation with different levels of access.
Use user interactions that are consistent with current Web applications.
Support layout and gesture capabilities for mobile users who use a tablet or smartphone device.
New Notification User Interfaces
Siebel Open UI includes elements from social media and smartphones that improve user productivity, such as notification applets. It combines these capabilities with other Siebel CRM innovations to provide the following capabilities:
Use a notification area that displays messages. The user can access this area at any time without disrupting current work.
Hover the mouse to toggle between summary and detail information for a record.
Use native Web browser functionality. For example, use bookmarks, zoom, swipe, printing and print preview, and spell checker.
Use intuitive system indicators for busy events or to cancel a time-consuming operation.
Allow navigation through a wide range of data entry and navigation capabilities through the keyboard, mouse, tablet, or gesturing.
For more information, see Notifications That Siebel Open UI Supports.
Mobile Environments
Siebel Open UI on a mobile interface uses the same architecture that Siebel Open UI on a desktop application uses. For more information, see Siebel Mobile Guide: Connected.
Siebel Open UI architecture follows Responsive Web Design patterns, which allow the same content to be displayed differently based on the device from which it is being accessed.
How Siebel CRM Renders Siebel Open UI Clients
Siebel CRM does the following to render a Siebel Open UI client:
Uses HTML div elements and HTML tables in SWE templates to determine physical layout instead of the HTML frames that high interactivity uses. Siebel Open UI does not use div elements to structure a page. The entire page hierarchy that Siebel Open UI uses is a hierarchy of div elements. Siebel Open UI does not use the HTML frame.
Uses cascading style sheets (CSS) to specify position, dimension, and styling for HTML elements, such as font color and font type, instead of the HTML code that high interactivity uses. This styling does not apply to the objects that an ActiveX control renders in a high-interactivity client, such as a list applet.
This configuration is more closely aligned with current guidelines for Web design than the configuration that high interactivity uses. Siebel Open UI allows you to customize how Siebel CRM renders individual objects in the client without having to use Siebel Tools, and it allows you use an alternative configuration, such as your custom configuration or a third-party configuration, to bind the Siebel business layer to user interface objects. Siebel Open UI allows you to customize an existing ODH or create a new ODH.
How Siebel CRM Renders Div Containers on Siebel Servers
The following figure illustrates how the Siebel Server uses OD tags that reside in ODH to rend er div containers on the Siebel Server. For example, it renders a tag with type od-type="view" as a view container. It does the same rendering on this server for Siebel Open UI that it does for high interactivity.

How Siebel CRM Handles Data in Siebel Open UI
The following figure illustrates how Siebel CRM uses a presentation model, which is a JavaScript file that resides in the client that specifies how to handle the metadata and data that Siebel Open UI gets from the Siebel Server. Siebel CRM then displays this information in a list applet or form applet in the client. The presentation model provides a logical abstraction of the metadata, transaction data, and behavior for part of the user interface. Siebel Open UI includes a presentation model for each significant part of the user interface, such as the application menu, toolbars, screen tabs, visibility drop-down lists, applet menus, different types of applets, and so on. The presentation model does not render the HTML in the user interface.

How Siebel CRM Renders Objects in Siebel Open UI
The following figure illustrates how Siebel CRM uses a physical renderer, which is a JavaScript file that Siebel Open UI uses to render the user interface. A physical renderer contains instructions that describe how to render the physical presentation and interaction for a user interface element, such as a grid, carousel, form, tree, tab, menu, button, and so on. Each physical renderer references a presentation model, and it uses the metadata, data, and behavior that this presentation model defines to render an object in the client. For more information about presentation models and physical renders, see About the Siebel Open UI Development Architecture.

Examples of How You Can Customize Siebel Open UI
Siebel Open UI uses the presentation model and the physical renderer to separate the logical user interface from the rendering. This configuration allows you to modify the user interface without having to modify the logical structure and behavior of the client. For example, you can modify the physical renderer so that it uses a third-party, grid-to-carousel control to display a list applet as a carousel without modifying a presentation model. For more information about this example, see Customizing List Applets to Render as Carousels.
You can use the physical renderer of a control to implement a variety of configurations so that Siebel Open UI can render this control at nearly any physical location in the browser and with your custom logic. You can use the physical renderer to display different parts of the same applet in different physical panes in a Siebel screen. For example, you can configure Siebel Open UI to display a temporary recycle bin that uses data from the presentation model to render data in a pane that is physically separate from the data that the list applet displays. For more information about this example, see Example Customizations That You Can Make with Siebel Open UI .
You can use the presentation model to modify the logical behavior of the user interface without modifying the physical renderer. For example, you can modify a presentation model to add a list column in a list applet so that it iterates through list columns and renders them without modifying the physical renderer. This column can reside on the client even if the Siebel Server contains no representation of it. You can customize at the control level writing plug-in wrappers that govern how a control should appear and behave when a certain set of conditions are satisfied. A check box appearing as a flipswitch on mobile devices is an example of this type of implementation.
About Using This Book
This topic includes information about how to use this book. It includes the following information:
Important Terms and Concepts
This book uses the following terms and concepts that you must understand before you customize Siebel Open UI:
A user is a person who uses the client of a Siebel business application to access Siebel CRM data.
The user interface is the interface that the user uses in the client to access data that Siebel Open UI displays.
The client is the client of a Siebel business application. Siebel Call Center is an example of a Siebel business application. Siebel Open UI renders the user interface in this client.
The server is the Siebel Server, unless noted otherwise.
An administrator is anyone who uses an administrative screen in the client to configure Siebel CRM. The Administration - Server Configuration screen is an example of an administrative screen.
Predefined Siebel Open UI is the ready-to-use version of Siebel Open UI that Oracle provides to you before you make any customization to Siebel Open UI.
A Siebel CRM object is an object that resides in the Siebel Runtime Repository. For example, a screen, view, applet, business component, menu, or control is each an example of a Siebel object. The Contact List Applet is an example of a Siebel CRM applet. A Siebel CRM applet is not equivalent to a Java applet. For more information, see Configuring Siebel Business Applications.
A predefined object is an object that comes already defined with Siebel CRM and is ready to use with no modification. The objects that Siebel Tools displays in the Object List Editor immediately after you install Siebel Tools are predefined objects.
A custom object is a predefined object that you modified or a new object that you create.
The term focus indicates the currently active object in the client. To indicate the object that is in focus, Siebel CRM typically sets the border of this object to a solid blue line.
To derive a value is to use one or more properties as input when calculating this value. For example, Siebel Open UI can derive the value of a physical renderer property from one or more other properties. For more information, see Deriving Presentation Models, Physical Renderers and Plug-in Wrappers.
The term class describes a JavaScript class. It does not describe the Siebel class object type, unless noted otherwise, or unless described in the context of the Siebel Object Hierarchy. For more information about the Siebel class object type, see Siebel Object Types Reference.
The term reference describes a relationship that exists between two objects, where one object gets information from another object or sends information to this object. For example, in the Siebel Object Hierarchy, the Opportunity List Applet references the Opportunity business component to get opportunity records from this business component, and the Opportunity business component references the S_OPTY table to get opportunity records from this table.
The term instance describes the current, run-time state of an object. For example, a business component instance is a run-time occurrence of a business component. It includes all the run-time data that the business component currently contains, such as the values for all fields and properties of this business component. For example, an instance of the Contact business component includes the current, run-time value of the City field that resides in this business component, such as San Francisco. You can configure Siebel Open UI to get a business component instance, and then modify this data or call the methods that this business component references.
For more information about these terms and other background information, see the following items:
A complete list of terms that this book uses, see the glossary.
Using the Siebel Open UI client, see Siebel Fundamentals for Open UI.
Enabling the Siebel Server to run Siebel Open UI, see the Siebel Installation Guide for the operating system you are using.
Using Siebel Tools, see Using Siebel Tools.
How This Book Indicates Computer Code and Variables
Computer font indicates a value that you enter or text that Siebel CRM displays. For example:
This is computer font
Italic text indicates a variable value. For example, the n and the method_name in the following syntax description are variables:
Named Method n:
method_name
The following is an example of this code:
Named Method 2: WriteRecord
How This Book Indicates Code That You Can Use as a Variable and
You can write some code as a literal or a variable. For example, the Home method sets a record in the current set of records as the active row. It uses the following syntax:
busComp.Home();
where:
busComp identifies the business component that contains the record that Home sets.
You can use busComp as a literal or a variable. If you declare busComp as a variable in some other section of code, and if it contains a value of Account when you use the Home method, then Home sets a record in the Account business component as the active record. You can also use the following code, which also sets a record in the Account business component as the active record:
Account.Home();
Case Sensitivity in Code Examples
The code examples in this book use standard JavaScript and HTML format for uppercase and lowercase characters. It is recommended that you use the following case sensitivity rules that this book uses:
All code that occurs outside of a set of double quotation marks (" ") is case sensitive. The only exception to this rule occurs with path and file names.
All code that occurs inside a set of angle brackets (<>) is case sensitive. The only exception to this rule is any code that you enclose with a set of double quotation marks that you nest inside a set of angle brackets.
The following example is valid:
function RecycleBinPModel(){ SiebelAppFacade.RecycleBinPModel.superclass.constructor.apply(this, arguments); }
The following example is not valid. Bold font indicates the code that is not valid:
function Recyclebinpmodel(){
SiebelAppFacade.RecycleBinPModel.superclass.constructor.apply(this, arguments);
}
How This Book Describes Objects
For brevity, this book describes how an object, such as a user property, does something. For example, this book might state the following:
"The Copy Contact user property copies contacts."
In strict technical terms, the Copy Contact user property only includes information that some other Siebel CRM object uses to copy contacts.
For brevity, to describe how Siebel CRM uses the value that a property contains, in some instances this book describes only the property name. For example, assume Siebel CRM displays the value that the Display Name property contains. This property is a property of a tree node object. This book only states the following:
"Siebel CRM displays the Display Name property of the tree node."
In reality, Siebel CRM displays the value that the Display Name property contains.
About Objects and Metadata
A Siebel object definition defines the metadata that Siebel Open UI uses to run a Siebel application. The Account List Applet that Siebel Tools displays in the Object List Editor is an example of an object definition. It includes metadata that Siebel Open UI uses to render the Account List Applet, such as the height and width of all controls that the applet contains, and all the text labels that it must display on these controls. The Siebel Repository is a set of database tables that stores these object definitions. Examples of types of objects include applets, views, business components, and tables. You use Siebel Tools to create or modify an object definition.
The object manager hosts a Siebel application, providing the central processing for HTTP transactions, database data, and metadata, which is data that the object definitions contain. It is different from Siebel CRM data, which is data that is specific to your business, such as account names and account addresses.
For more information, see Configuring Siebel Business Applications.
How This Book Describes Relationships Between Objects
An object definition includes properties and a property includes a value. For example, the Business Object property of the Account Address view contains a value of Account. To describe this relationship, this book might state the following:
The Account Address view references the Account business object.
Sometimes the relationship between objects occurs through more than one object. For brevity, this book does not always describe the entire extent of relationships that exists between objects through the entire Siebel Object Hierarchy. For example, because the Account business object references the Account business component, and the Account Address view references the Account business object, this book might state the following:
The Account Address view references the Account business component.
About the Siebel Innovation Pack
Oracle provides the functionality that this guide describes as part of Siebel Innovation Pack. To use this functionality, you must install the innovation pack and do the postinstallation configuration tasks. For more information about the functionality that Siebel Innovation Pack includes, see the applicable Siebel Maintenance Release Guide on My Oracle Support.
Depending on the software configuration that you purchase, your Siebel business application might not include all the features that this book describes.
Support for Customizing Siebel Open UI
Siebel CRM supports the following customizations in Siebel Open UI. You must carefully consider the implications of doing this customization and development:
Siebel Open UI allows you to use predefined or existing Siebel repository information in your deployment without customization. Siebel Open UI uses this repository information to render the user interface. This rendering does require user acceptance testing.
You can use Siebel Tools to customize Siebel Open UI so that it works in your business environment and meets user requirements. You configure the same Object Definition Templates.
You can use your Web development skills and the Siebel Open UI JavaScript API to customize Siebel Open UI. For details about this API, see Application Programming Interface. Oracle continues to support browser scripting in previous releases, but strongly recommends that you convert any browser script that your deployment currently uses so that it uses the Siebel Open UI JavaScript API.
You can combine Siebel Tools development with development of the Siebel Open UI JavaScript API simultaneously, as needed.
Siebel CRM supports including Siebel Open UI or individual Siebel Open UI objects in a third-party user interface. Views and applets are examples of Siebel Open UI objects.
Siebel CRM supports integrating external content in the Siebel Open UI client.
You can modify the cascading style sheets that come predefined with Siebel Open UI to rebrand your deployment and customize the user experience.
Siebel Open UI supports usage of Siebel SmartScript to specify workflow. For more information, see Siebel SmartScript Administration Guide.
You can use HTML, CSS, or JavaScript to add features. For example, you can do the following:
Build user interfaces on any technology that can integrate with the Siebel Open UI JavaScript API.
Use your preferred, open-source JavaScript library, such as jQuery, from the open-source development community, or you can use the environment that Siebel Open UI provides.
Use a plug-in, proprietary development environment, or a native development environment. You can use these environments to create a custom rendering architecture that integrates with the Siebel Open UI JavaScript API.
Use intraworkspace communication and DOM access and manipulation through JavaScript programming.
Do a pilot user acceptance test of your Siebel Open UI deployment that uses your current Siebel Server implementation.
Preserve your existing configurations and customizations.
Support That Siebel Open UI Provides
It is strongly recommended that you carefully consider the support policies that this topic describes before you customize Siebel Open UI. For more information about the support that Oracle provides, see Scope of Service for Siebel Configuration and Scripting - Siebel Open UI (Article ID 1513378.1) on My Oracle Support.
Support for the Siebel Open UI JavaScript API
Oracle only supports usage and features of the Siebel Open UI JavaScript API as described in Oracle’s published documentation. This policy makes sure that your deployment properly uses this API and helps to make sure your deployment works successfully. You are fully responsible for support of any custom code that you write that uses this API. For product issues that are related to this API, Oracle might request a minimal test case that exercises your API modifications.
Oracle supports your usage of an Integrated Development Environment (IDE) of your choice that you use to write native JavaScript code that you then deploy to work with the Siebel Open UI JavaScript API. Oracle does not support the features of or the quality of any third-party IDE.
Oracle supports your usage of the Siebel Open UI JavaScript API with a rendering environment and system integration that you choose. Oracle has implemented Siebel Open UI in HTML. You can use this implementation as a template for your deployment on other technologies. This template approach allows you to expedite development. However, Oracle can in no way support these customizations because this work is outside the scope of Oracle's support for customizations. It is recommended that you work with Oracle's Application Expert Services on any implementation issues you encounter that are related to the Siebel Open UI JavaScript API. For more information, see Getting Help from Oracle.
If your current deployment includes an integration that resides on the desktop, and if this integration does not easily support migration to JavaScript integration, then it is recommended that you move this integration to the Siebel Server, or use a Web service on the desktop that can integrate to this server.
Support for Code Suggestions, Examples, and Templates
Oracle provides code examples only to help you understand how to use the Siebel Open UI JavaScript API with Siebel Open UI. Oracle does not support your usage of these code examples. It only supports usage of this API as described in Application Programming Interface.
Getting Help from Oracle
The predefined application that Oracle provides includes integration interfaces that allow you to modify or to create a new user interface. You can use these integration interfaces to create your own presentation model or physical renderer, at your discretion. It is your responsibility to create and maintain any customizations that you make. For more information, see About the Presentation Model and About the Physical Renderer.
To get help from Oracle with configuring Siebel Open UI, you can create a service request (SR) on My Oracle Support. Alternatively, you can phone Global Customer Support directly to create a service request or to get a status update on your current SR. Support phone numbers are listed on My Oracle Support. You can also contact your Oracle sales representative for Oracle Advanced Customer Services to request assistance from Oracle's Application Expert Services.