Thursday, 31 July 2014

Open UI Customization - HI Salutation Applet - Resolved!

Somehow my original post on this subject got overwritten with my latest one on iHelp, hence had to rewrite it.
Since the Salutation Applet is High Interactivity based, Open UI framework doesn’t recognize it (you can’t configure PM and PR), instead of Welcome message, you see an error message somewhat like below.
image

As you know Open UI doesn’t support any of the SI (Standard Interactivity) based applets. I looked around for solutions and found this blog on Oracle community here. The solution provided on the community was srf and js based, which I didn’t like. I found a pure client side JS based solution which will replace this ugly error with a nice welcome message somewhat like below,(Note: in place of present date, I am displaying Last Login Date Time)

image

Since there is no control on SI based applet in Open UI framework, you will have to go one level above – yes at View PR to find the placeholder for current Salutation applet and replace it with your message. Note that if you have any personalization rules – you need to consider them as well here in your own code.

So, let’s look at the high level steps:

Wednesday, 30 July 2014

Open UI Customization - iHelp error - get rid of it!

In my previous blog, I explained how to get Home page Salutation HI Error sorted out with more meaningful information. If you haven’t see it then, check it out here.

Extending it further, on all Home Pages (viz. Account Home, Opportunity Home, Activity etc)you see this HI Error message in place of iHelp.
image

As you know Open UI doesn’t support any of the SI (Standard Interactivity) based HI applets. Until Oracle comes up with a fix for iHelp or you are one of those organizations who doesn’t use iHelp then, you can use below approach to get rid of that section at client side.

After the change this is how it would look like,
image

Again, So I thought of finding my way – without srf – pure js based one. All I am doing is finding the container for iHelp and removing it from DOM.

Thursday, 24 July 2014

Open UI Customization - Part 4 - Applet PM and PR explained

Hello again!
Quick recap of PM from my previous blog Open UI Customization - Part 1 - Intro

Presentation Model:
A presentation model is a single or set of JavaScript files that work with runtime(data generated at client-side) and metadata (data from server) and allow you to control and customize the logic, content and client interaction.
It determines the logic to apply, captures client interactions, such as the user leaving a control, collects field values, and sets properties. A presentation model can get Properties and Methods from the proxy, and then expose them for external use. It doesn’t do any rendering of physical HTML ( you know who handles that – yes PR)

Physical Renderer:
A physical renderer is a single or set of JavaScript files that Siebel Open UI uses to build the user interface. It allows you to use custom or third-party JavaScript code to render the user interface. It binds a presentation
model to a physical control. 

Example email address validation: Let’s take a very simple example of validating email Id entered by user for a contact on Contact Form Applet at client side (no server trip). High level flow should be:
  • user types in email id and steps off the field.
  • email validation should happen at client side and error to be thrown to user if invalid email id.


Let’s first get the bird’s eye view of how to go about it.

Friday, 18 July 2014

Open UI Customization - Where all your customizations should go?

I had it embedded in my earlier blog and thought of having it on a separate post so that one can refer to as and when needed.
custom swt files: (web template files)
  • All your custom swt files should go under:
    • for server - \siebsrvr\WEBTEMPL\OUIWEBTEMPL\custom
    • for client – \<Client Install Dir>\WEBTEMPL\OUIWEBTEMPL\custom
  • It is not advisable to modify vanilla swt files. But, If you need to modify the vanilla swt files, you need to copy them from \siebsrvr\WEBTEMPL\OUIWEBTEMPL to\siebsrvr\WEBTEMPL\OUIWEBTEMPL\custom and modify there. In such cases, don’t remove the vanilla swt from it’s original place. This is especially helpful when you patch/upgrade, Siebel installation will take care of upgrading your vanilla swt. If you want to revert to original then, simply delete/rename your /CUSTOM swt file. Or you can take a ne copy into /CUSTOM and add your changes.
  • When your applet/view refers to this web template, Open UI will look,
    • first under \siebsrvr\WEBTEMPL\OUIWEBTEMPL\CUSTOM.
    • If not found then, it looks under \siebsrvr\WEBTEMPL\OUIWEBTEMPL
    • If not found then, it looks under \siebsrvr\WEBTEMPL\CUSTOM
    • If not found then, it looks under \siebsrvr\WEBTEMPL\


image
custom .js files:
  • All your custom js files should go on web server or on your client: \PUBLIC\enu\FILES\<Siebel_Build>\SCRIPTS\siebel\CUSTOM
  • If you need to modify the vanilla js files, you need to copy them from \siebel\ to \siebel\custom\ and modify there. You also need to update your manifest files and administration when you do so.
custom .css files:
  • All your custom css files should go on web server or on your client:\PUBLIC\enu\FILES\custom\
  • If you need to modify the vanilla css files, you need to copy them from \FILES\ to \FILES\custom\ and modify there. You also need to update your theme.js file when you do so.
custom image files:
  • All your custom image files should go on web server or on your client:\PUBLIC\enu\IMAGES\custom\
  • Make sure that you custom .css or .js files refer to above location for images.
image

Hope this is useful. Let me know if any questions.
Shiv

Thursday, 17 July 2014

Salesforce.com Vs Oracle Siebel CRM on-going battle - round n!

I was in the same dilemma as to whether to upgrade existing Oracle Siebel enterprise or embrace latest cloud based solutions in the market viz. Oracle CX, Microsoft dynamics or Salesforce.com. If you have not seen my earlier blog where I did a comparison between these and finally decided to go with Siebel 8.1 upgrade, then do check Siebel Upgrade Vs move to cloud.

As a common observer, I am really impressed by phenomenal campaigns run by SFDC in the market everywhere – in most of those, there will be comparisons against Oracle CX or Siebel CRM. I must say, Oracle’s marketing strategy is very poor in comparison with SFDC’s.I have gathered some of the claims/comments in those campaigns and rebutted them with facts as per my understanding.

SFDC Supporter: Siebel 8 was released in 2007 and Oracle’s controlled availability announcement ensures that there will never be a Siebel 9. Not only is Siebel innovation dead, but even bug fixes will come out less and less frequently.  Mobility for Oracle is an afterthought. The traditional Siebel mobile apps are archaic and Open UI doesn’t deliver robust out-of-box capability.
#1. Oracle switched the numbering scheme that was publically used from Siebel 7, 8, etc to Innovation Pack 2013, 2014, 2015 etc.  It is possibly correct that there will likely not be a Siebel 9, but it would be because of changed numbering scheme, not because Oracle stopped investing. Note that Oracle has increased the frequency of "bug fixes" from annual delivery of patch sets to monthly patching processes.
#2. As for Mobility, Siebel IP2013 release included connected and disconnected mobile capabilities (one year before Salesforce delivered disconnected).  At this point we have many customers that are using Open UI to deploy Siebel on a variety of browsers and devices.

SFDC Supporter: If you are currently evaluating or using Siebel CRM, you should be aware that Oracle has revoked Siebel CRM’s generally available (GA) status and has put Siebel CRM on controlled availability (CA). Oracle putting Siebel on controlled availability is the first step towards end-of-life status. Oracle’s slow rate of innovation on Siebel will come to a halt.
Siebel is still being one of the Oracle's core products that is generally available to be sold to any customer.  Additionally, Controlled Availability is a status that is used in many capacities including new product introduction and not only product retirement. Oracle has a robust roadmap defined for delivering innovation into the future using annual innovation packs.

SFDC Supporter: Oracle may continue to issue their two annual fix packs, but there will be fewer bug fixes and no interesting innovation in these fix packs.
Siebel does not deliver two annual fix packs.  Siebel delivers an annual innovation pack and delivers monthly patch sets to resolve bugs.  This is a huge increase in velocity in comparison with previous years.

SFDC Supporter: Oracle support will become more costly and provide a lower level of value. As Oracle forces its customers to move from premier support to extended support to sustaining support, the

Thursday, 10 July 2014

Open UI Customization - Part 3–Themes explained!


The traditional Siebel HI comes with monotonous look and feel which is blue colour themed. With Open UI, sky is the limit for your themes. As detailed in my pervious blog, Open UI Customization - Part 1 – Intro, Open UI comes with below out of the box themes. Each theme refers to set of JavaScript and CSS files which provide different look and feel to your application.
You can change the theme by navigating to Tools -->User Preferences --> Behavior and select values from drop-down for "Navigation Control" and "Theme" fields
image

Theme 1: Tab - Gray Tab (similar to Siebel HI - Gray colour theme). This is the default theme that Open UI renders.

Theme 2: Tab - Tangerine  (similar to Siebel Hi - Tangerine colour theme)

Theme 3: Tree - Gray Accordion (Screen Tabs in Tree structure - Gray colour theme)

Theme 4: Tree - Tangerine Accordion (Screen Tabs in Tree structure - Tangerine colour theme)



So, when you pick a specific theme and log into the application, what Open UI does to render that theme?

Tuesday, 8 July 2014

Open UI Customization - Part 2 - understanding Manifest

If you are new to Open UI and haven’t read my previous previous blog:Open UI Customization - Part 1 – Intro, please do so. In that I have discussed, how Open UI differs from Siebel High Interactivity framework and introduction to PM and PR – which will be discussed at length here.

With Open UI framework, you can control the business logic and UI at the client browser side for below objects:

  • Views
  • Applets
  • Screen Tabs
  • Tool bar
  • Application Menu

PM-PR

Siebel Open UI uses the presentation model (PM) and the physical renderer (PR) 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 behaviour of the client.

For example, you can modify a PM to add a list column in a list applet so that it iterates through list columns and renders them without modifying the PM. This column can reside on the client even if the Siebel Server contains no representation of it. Similarly, you can modify the PR to use a third-party, grid-to-carousel control to display a list applet as a carousel without modifying a PM.

Manifest Administration

Before we start building our own PM and PR js files to customize the look and feel of an applet/view etc, let’s first understand how Open UI identifies the required js files to render a specific UI element – applet, view, screen.

A manifest is a set of instructions that Siebel Open UI uses to identify the JavaScript files that it must download from the Siebel Server to the client so that it can render screens, views, and applets.

In order to administrator Manifest, from 8.1.1.11 onwards, Oracle has provided dedicated admin screens. The model is completely different in prior 8.1.1.9-8.1.1.10 releases – which I won’t be covering here.

image

Thursday, 3 July 2014

Open UI Customization - useful tools needed

Before we crack on understanding how to customize Open UI, I thought of sharing some useful tools that I use. As you might have realized by now that Open UI is all about Javascripts, Jqueries and CSS. You need really good editors/tools to manage your customization.

1) Version Control tool:
Since, you will be updating your Open UI related files quite often, it is essential that you have a good version control tool. There are plenty of good free tools available - but I prefer open source tool: git.






















2) Editors to edit your JS, CSS, HTML files:
Any text editor like below would do. But I don't like both ;) See at the bottom which tool I love to use.

Notepad++
Textpad