SiebelSupport

-Learning the sharing way :)

Tuesday, August 18, 2015

How To Override Custom Theme In Open UI Without Deleting The User Preferences Files Of All Users


Scenario : 

We have an Open UI Siebel 8.1.1.11 Patchset 9 application. Currently the first phase of the project is live in production.

We had used Override Default Theme (Doc ID 1600754.1) to override the default theme and launch the application in our custom theme.

Users have been using the application with the custom theme since some months now.

For the second wave, the requirement is to have a "new" 2nd custom theme.

1st Custom Theme - Tree layout and Custom1
2nd Custom Theme - Tab layout and Custom2

The challenge we are facing is, we are not able to now get the users launch the application in 'new" 2nd Custom Theme without having the SPFs deleted.

How can we launch the application in the new theme without deleting the SPF of all users? Do we have any work around through Open UI or Configuration?




Possible scripting approach:

A review of the standard Siebel configuration (using the sample database) reveals the following:

In BC 'User Preferences' the Default Theme ("Theme" in the UI) is stored in field 'Behavior/DefaultTheme'. This field has 'Default Theme PickList' as pick list. This one is constraint (via a pick map) by field 'Behavior/DefaultNavCtrl' ("Navigation Control" in the UI). This field has 'Default NavCtrl PickList' as pick list. This one is constraint (via a pick map) by field 'Behavior/DefaultPlatformType'. This one has 'Default Platform Type PickList' as pick list.

The field 'Behavior/DefaultPlatformType' is not displayed in the UI. It is set automatically (to "Desktop", "Tablet" or "Phone") depending on the platform. When this field is set to "Desktop", the values available in the pick list of field 'Default NavCtrl PickList' are "Tab" and "Tree". When field 'Default NavCtrl PickList' is set to "Tab" the values available in the pick list of field 'Behavior/DefaultTheme' are "Gray Tab" and "Tangerine Tab". When this field is set to "Tree" the values available in the pick list of field 'Behavior/DefaultTheme' are "Gray Accordion" and "Tangerine Accordion".
> To force the Siebel Call Center application to start with "Tangerine Tab" as default theme the sample script below has succesfully been tested. This one,placed in the Application_Start event of application 'Siebel Universal Agent', sets the fields 'Behavior/DefaultNavCtrl' and 'Behavior/DefaultTheme' ("Navigation Control" and "Theme" in the UI) to "Tab" and "Tangerine Tab" respectively:

function Application_Start (CommandLine)
{
var oBO = this.GetBusObject("User Preferences");
var oBC = oBO.GetBusComp("User Preferences");
var oPickDNBC;
var oPickDTBC;

with (oBC)
{
SetViewMode(AllView);
ActivateField("Behavior/DefaultNavCtrl");
ActivateField("Behavior/DefaultTheme");
ClearToQuery();
ExecuteQuery(ForwardOnly);
if (FirstRecord())
{
oPickDNBC = GetPicklistBusComp("Behavior/DefaultNavCtrl");
with (oPickDNBC)
{
ClearToQuery();
SetSearchSpec("Value", "Tab");
ExecuteQuery(ForwardOnly);
if (FirstRecord())
{
Pick();
oPickDTBC = oBC.GetPicklistBusComp("Behavior/DefaultTheme");
with (oPickDTBC)
{
ClearToQuery();
//SetSearchSpec("Value", "Gray Tab");
SetSearchSpec("Value", "Tangerine Tab");
ExecuteQuery(ForwardOnly);
if (FirstRecord())
{
Pick();
oBC.WriteRecord();
}

}
}
}
}
}

oPickDTBC = null;
oPickDNBC = null;
oBC = null;
oBO = null;
}

Please note that the above script a sample script only. You can try to implement a similar one in your environment adapted to your specific requirement. Please test it thoroughly before applying it in Production.

How to add a new theme in version 8.1.1.11 Open UI


Here are the suggested steps to add a new theme in Siebel client running in Open UI mode.



1. Create the custom css file and place it in \public\enu\files.

For example - "theme-blue-tab.css" with the following contents:
#s_sctrl #s_sctrl_tabScreen.ui-tabs ul.ui-tabs-nav li a {
color: white;
font-size: 14px;
font-weight: normal;
height: 24px;
font-style: italic;
background: #99CCFF;
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJod…EiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(top,#99CCFF 0,#dfdfdf 100%);
background: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#99CCFF),color-stop(100%,#dfdfdf));
background: -webkit-linear-gradient(top,steelblue 0,steelblue 100%);
background: -o-linear-gradient(top,#99CCFF 0,#dfdfdf 100%);
background: -ms-linear-gradient(top,#99CCFF 0,#dfdfdf 100%);
background: linear-gradient(to bottom,#99CCFF 0,#dfdfdf 100%);
}

2. Add an entry in “theme.js” file in \public\enu\\scripts\siebel\custom.

SiebelApp.ThemeManager.addTheme(
              "BLUE_TAB", {
              css : {
                              sb_theme : "files/theme-base.css",
                              sc_theme : "files/theme-gray.css",
                              sn_theme : "files/theme-nav-tab.css",
                              sca_theme : "files/theme-calendar.css",
                             blue_theme : "files/theme-blue-tab.css",
                              sd_theme : IE8inc
              },
              objList : []
});

3. Add the a new LOV record in Administration – Data > List of Values.
Type: OUI_THEME_SELECTION
Display Value: Blue Tab
Language Independent Code: BLUE_TAB
Parent LIC: NAVIGATION_TAB
Order: 3

4. Clear LOV Cache.
5. Go to Tools > User Preferences > Behavior and set the following:
Navigation Control: Tab
Theme: Blue Tab

6. Go to Administration - Application > Manifest Files and add a new entry with the following value:
Name: siebel/custom/theme.js
7. Go to Administration Application > Manifest Administration and add the following :
In UI Objects:
Type: Application
Usage Type: Common
Name: PLATFORM DEPENDENT

In Object Expression:
Expression: Desktop
Level : 1

In Files:
Name: siebel/custom/theme.js

8. For Siebel web client, restart the web server.
9. Clear browser cache.

10. Restart Siebel application. The tab colours should be showing in blue colour. 

How to Set up EBCs to work with LDAP or ADSI Authentication


A couple of key points here:



1. This assumes that all users connect to the external datasource using the same userid / password. If they connect using their own specific credentials it is still possible to make this work but requires a lot more work and setup at the LDAP directory server side.

2. Please make sure that the LDAP attribute you specify for the CredentialsAttributeType parameter in the LDAPSecAdpt is a multi-valued attribute. This process will not work with a single valued attribute. This is specified in the document 

http://docs.oracle.com/cd/E14004_01/books/EAI2/EAI2_ExtBusComps8.html#wp199278.

3. It is important that you make sure that you include the following entries for this attribute in the record for the SharedCredentialsDN.

type=ServerDataSrc username=USER password=PASS
type=GatewayDataSrc username=USER password=PASS
type=EBCDataSrc username=USER password=PASS

Replace EBCDataSrc, USER, and PASS with the appropriate values for your implementation. Also please note that type, username, and password are all in lowercase AND that there is no space before or after the equal signs.

Labels

ADSI authentication ADSISecAdpt apiinstaller.jar Applet User Properties Barcode fonts in PDF Best Practices BI Publisher BI Publisher 11g BI Publisher Desktop BI Publisher Desktop 10.1.3.2 BI Publisher template error BIP Performance tuning BUG 19469254 Create iPad Reports CRM on Demand R19 Deployment Guide - IP2014 Desktop Integration Siebel Agent (DISA) EAI Object Manager EnableURLCredentials ENTERPRISE NAME IS TRUNCATED DURING MIGRATION INSTALL IN LINUX PLAT Escripting External Business Components (EBCs) Generate Trigger Get a 20% Discount on Oracle Training How To Incorrect missing encryption key Incremental Repository Merge (IRM) Install Barcode fonts in BIP Server Integration Object IP2014 IP2014 Patch Set 1 IP2014 Patchset 2 IP2015 IP2015 Patchset 1 (15.1) IsRecordSensitive JDeveloper jqmtoolbarrenderer.js LDAP LDAPSecAdpt log level of SWSE Menu in Siebel Open UI new theme in Siebel 8.1.1.11 Open UI NFS OBIEE Integration on Siebel 7.8.2 Oracle Database XE Oracle Fusion Middleware Oracle Integration Cloud Services (ICS) Oracle WebLogic Server Override Custom Theme In Open UI Without Deleting The User Preferences Files Of All Users Performance Tuning Quiz Release Notes Responsive Web Design REST SAI REST SAP BusinessObjects Data Quality SavePreferences SBL-DAT-00222 SBL-DAT-00522 SBL-DBC-00107 SBL-SEC-10001 and SBL-DAT-00565 SBL-SEC-10018 Siebel - Oracle Real-time Scheduler Integration SIEBEL 8.1.1.14 ENVIRONMENT VARIABLE INSTALL ISSUE Siebel 8.1.1.8 Fix Pack Siebel 8.1.1.9 / 8.2.2.2 Siebel Administration Siebel Analytics Siebel BI Publisher Reports Siebel Composer Siebel Composer Developer Preview Siebel CRM 15.0 Siebel CRM 8.1.1.10/8.2.2.3 Siebel CRM Innovation Pack 2015 Siebel Delta Files (SDF) Siebel Email Marketing Siebel Filesystem Siebel Innovation Pack 2016 Siebel License Keys Siebel Open UI Siebel Open UI Manifest Siebel Release 15.1 Siebel Reports Siebel RESTful Services Siebel Server Cloning SPF Symbolic URL Synergy Open UI Theme Synergy Theme Open UI - Siebel CRM Innovation Pack 2015 Videos What is Workflow Policy OR

Tags