Siebel OpenUI Performance – IE11 vs. Chrome Revisited

From time to time I run my benchmark tests. To see if technical improvements did materialize in tangible performance benefits. It has been a while I ran these, but with the general availability of IP15.1/14.7 I reckoned it would be a great moment to take a step back and compare apples again. The primary browsers are Chrome (R43) and 11.0.9600.17832CO Update 11.0.20 (that means including the June 2015 cumulative updated).

At this stage I compared three apples:

  • Patchset 14.4 (March 2015)
  • Patchset 15.0 (May 2015)
  • Patchset 15.1/14.7 (June 2015)

IP15.1 and 14.7 technically are build on the same code base. That means that all delivered code in these patch sets is 100% identical. But still, these are two different applications, right? Right. Because of the different repositories, other seed-data and items like additional themes the functionality is different. If you’d look at performance of both, it would make little sense to test them both. So I don’t. To make the comparison match, I will use the same Aurora theme (since the Synergy theme is non-existent in Innovation Pack 2014).

As a testing strategy I use my set of 4 views. These views range from little complexity to very complex. Still the simplest view is a parent-child view. Parent is a form applet with 99 (!) controls. The child is a list applet with about 80 (!) list columns. The most complex view has 4 form applets with each 99 controls, and 4 list applets with 80 controls. I would not recommend creating anything like this for production use, but as matter of comparison it works just fine.

To measure the time it takes to build the view, I use a measurement framework. Which basically times the lapse between “preload” and “postload”. The time lapse between these two events consumes the majority of the time spent in the Open UI framework. It does exclude CSS processing though. I take the measurements always on an unloaded system. And I have a clear look at the task manager too, to ensure CPU shows low levels of activity. To get accurate figures, I take a number of samples. Looking at the Standard Deviation will tell whether the measurements have potential outliers or not.

PerfMeasSo what are the results? First of all, the difference between IE11 and Chrome remains about a factor two. This is quite a stable factor over the past year. All the efforts MS has put into IE11 has not moved it much closer to its rival.

That is what the graph tries to tell. For example: IE11 consumes 209% of the time Chrome does for the most complex view view on IP15.0.

perfIEChromefactor

That said, if we set all measurements side-by-side you get a grasp on the evolution. There is clearly a declining line between 14.4, 15.0 and 15.1. Interestingly, there is a big improvement for IE11 on 15.1/14.7. I did take these measurements a couple of times to be sure. But true, there is quite a significant improvement for IE. Hooray!

This all demonstrates the efforts Oracle development is putting in materializing improvements in performance. This really is not a simple task, since the Open UI framework heavily relies on JQuery. And there are many JQuery patters (e.g. JQuery selectors) which can be extremely costly for JQuery. But also smaller things like “for” loops, which tend to be 20% slower than “do-while” loops. Imagine if you have loops over large objects or arrays, that can count up (and it does).

Here are the results.

IP144-150-151-IE11-Chrome2

Enjoy the weekend or your holidays!

– Jeroen

Siebel CRM + Oracle Documents Cloud = Excellent

The Oracle Documents Cloud is one of those Oracle PaaS services which would make a lot of sense to consider in conjunction with an on-premise run Siebel implementation. Alright, you need to have trust in “the” Cloud. And agree – this remains a major hurdle for many enterprises today, storing your sensitive data in some unknown data center far away, managed by unknown administrators and accessible outside the boundaries of the company.

cloud_82
But if you take a step back from those security concerns for a while… Many customers today are using the traditional Siebel File System, only a minority are using content management solutions such as Oracle’s Universal Content Management or competitive solutions to Oracle’s such as Documentum, Filenet or such. Using the Siebel File System comes with its limitations. No version control, no way to easily share documents, no collaboration (“the record has been modified by another user sounds familiar…?”). Well, the Siebel File System is just the bare minimum you’d expect from a CRM application. But then really, the bare minimum.

2015-07-02 23_17_01-Oracle Documents Cloud Service - Overview _ Oracle Cloud

With Oracle Document Cloud this changes the picture quite a bit. It’s a full-fledged enterprise-grade solution. Is does have a desktop-sync client for Windows and Mac as well as a secury iOS and Android app. I know, these are the conveniences from Dropbox too, but then far more secure. Access control can be integrated with your the company’s IDM solution for granting and revoking access. Auditing of document access, and modification is part of the product too. Plus it comes with an extensive REST API too…

With all that in mind, Oracle crafted an integration between both and drafted a whitepaper on the same topic. So basically a  direction for customers to consider (whitepaper: “…meant to help readers understand an issue, solve a problem, or make a decision…). Not a productized solution. Typically if customer demand is strong enough, Oracle might consider it for “productization” at a later stage (yes, that apparently is a proper word).

Today, July 9th a demo got published on Youtube.

 

Reading through the whitepaper it certainly reached the state of a proof of concept, but I would not consider it production-ready yet. Although the proposed configuration in the whitepaper has been tested against Siebel 15.0, there is no reason why it should not work with Innovation Packs 2012 – 2014. Personally I would refrain from using IFrame-based symbolic URLs. Rather craft a physical renderer for that purpose, and make it behave responsive too.

In an upcoming post I will discuss my first experiences with the Document Cloud solution.

Here’s the full link to the MOS DocId: Siebel CRM – Oracle Documents Cloud Service Integration (Doc ID 2018941.1).

Stay tuned.

– Jeroen Burgers

Siebel Open UI – Revival Of The Record Selector (The Sequel)

An initial attempt to bring back the record selector, worked out pretty well. As initial attempt :-). But it did have some deficits.

  • Impossible to distinguish the last selected record. This is especially useful while using the out-of-the-box merge functionality. The last record selected will become the survivor record;
  • The picklist, mvg or calculator icon disappears for the first list column;
  • Cosmetic: vertical alignment of the selector once a list control gets entered.

The screenshot below shows the more appropriate appearance of the drop-down glyph. In the initial attempt, it got pushed out as the list control grew too large. I had to tweak a bit, and resolved it using a calculated width value. The 20px equals the amount of space I added as text-indent too.

width: calc(100% – 20px) !important;

I changed the appearance for the last (or only…) record selected. Choose one you like. It also aligns now vertically. Obviously the vertical spacing might need to be changed per case, depending on the row-height for the list applets. For practical reasons in most cases the row-height should be reduced from the out-of-the-box look and feel. To fix the issue with the pushed out picklist, mvg or any other type of icon, I adjusted the margin by again the same fixed number of pixels I added as text-ident. It requires a bit of fiddling with CSS is you are not fully comfortable in this area like me.

tr.ui-row-ltr > td[role=’gridcell’]:nth-child(2) > span { /* Record selector */ margin: 0 0 0 -49px; /* from -29px to -49px */ }

selector4

The following screenshot shows once multiple records have been selected.

selector3

So, complete CSS snippet required has grown a bit to accommodate the behavior.

recordselectorcss2
 You can grab the complete snippet of CSS here. Enjoy! – Jeroen

Siebel Open UI – Revival Of The Record Selector

Neeraj posted me the question the other day how to re-introduce the record selector as we knew it in the High Interactivity days (and even well before those…). Yes, that function got dropped. But it does serve its purpose.

2015-07-01 22_41_52-record selector siebel

Initially I thought about introducing a dummy column to hold a glyph for the selector. Had a quick chat with Duncan as I often do to exchange thoughts. He reminded me about the “Client-side controls” feature introduced in Innovation Pack 2014. Due to a lack of time I dropped the ball. Until this afternoon, where Duncan replied about a pure CSS solution he crafted. It was elegant in its simplicity. The use of the nth-child selector does the magic. The first column in a list applet actually is a hidden multi-selector column (see my older post on the subject). So the second column is our target to dynamically introduce a small glyph. Duncan opted just to take one which suits from the “oracle” font which comes along with Siebel. But if you wish you can go wild.

recordselector1End-result already pretty neat:

recordselector2

What I personally did not like, is the indented text in case a record selector is presented. So I went on with Duncan’s proposal and improved the UX a bit further (well, I hope so). Just a few little tweaks to the CSS.

recordselector3

And the result would be along these lines:

recordselector4

As always, implement theme overrides in a customized theme. And you should be good to go. I implemented on IP15. Solution works for both Synergy theme as well as the Aurora theme.

– Jeroen

Siebel Innovations Packs 14.7 & 15.1 Patch Sets Released

On June 30th Oracle released Siebel 14.7 and Siebel 15.1 Patch Sets. No co-incidence that both share the same date and release notes. From a code-line perspective they are the same.These releases just differ from a configuration and seed-data perspective.It greatly further enhances Oracle’s development agility in terms of bug fixing and quality assurance, improving reliability and time-to-market.

Don’t be afraid of the 9GB+ in size for 15.1, where 14.7 is more like the usual in size. Engineering needed to repackage the Database server files. Likely this will be optional in PS2 to reduce the size again.

Siebel Patchset Installation Guides for Siebel Innovation Packs (Doc ID 1614310.1)

2015-07-01 09_29_31-Document 1614310.1That said, starting with this release, Patch Sets will also be installed using Oracle’s Universal Installer (OUI). Not a very big deal if you ask me. We still rely on oPatch for patch set verification purposes (e.g. – lsinventory) or rollback procedures.

Please check the release notes for all of the details. The Patch Set has quite a number of fixes and enhancements. To call out a couple by name:

USERS DO NOT SEE THE SPINNING WHEEL CONSTANTLY BETWEEN WHEN THEY ENTER THEIR PASSWORD AND WHEN THE APPLICATION LOADS

It addresses the issue that during logon, the spinning wheel only starts up displaying relatively late. Especially if the user’s browser cache is empty or due to static content expiration files are being downloaded again, the user might feel nothing is happening. Good UX improvement. This issue is even more important for Citrix / IE deployments (specifically IE), where typically the IE cache is not persisted between Citrix sessions, as not part of the user’s profile.

ENHANCES JAVASCRIPT PERFORMANCE FOR OPEN UI APPLICATIONS

Development further improved OpenUI performance by eliminating unnecessary or expensive JQuery selectors. To name a few:

1) Ensuring that no redundant calls are being made to re-generate tabbed links for view navigation when there are no changes.
2) Ensuring that duplicate calls for modifying value in DOM element are being suppressed.
3) Reducing dependency on querySelectorAll API usage
4) Calling .empty.append for large string instead of using .html since it does regular expression check which consumes good amount of time.
5) Deferring span tag generation for iconmaps etc.

Enjoy!

– Jeroen

Siebel Premier Support & Innovation Packs

As with new Innovation Packs of Siebel in the past years, the Premier Support and Extended Support timelines have been recently been further stretched. For premier support (and that is what matters most) it got stretched until November 2019. Although the Lifetime Support Policy document (LTS) does not mention Innovation Packs but rather calls out CRM 8.1.x / 8.2.x. But that does not make much of a difference, the reason is obviously a legal one. Oracle commits at a minimum to support a major product release for at least five years, and by that has to call out the product name at its original general availability release date. And since increments go in full calendar years only, one will see that the month of November will remain. Only the year where support times lines will end will change. And for now we have a comfortable 4+ years remaining, in premier support.

2015-06-26 15_08_23-Oracle Lifetime Support Policy for Oracle Applications Guide - lifetime-support-

…and there will be a pretty full basket of functionality coming next year! Over the summer Oracle will most likely publish the Statement of Direction for Siebel Release 16.

– Jeroen

Siebel 15 – Overriding The Syngergy Theme

You might or might not have tried this yet. But with R15.0 it was not possible to create an overriding theme, based of the Simplified UI (SUI). I hit this issue while working on visualizing the application menu in a recent post.

SUIApplicationMenu3

First of all, I should not be calling out “Simplified UI” anymore, but call in Synergy.

Last week I took the short-cut by modifying the out-of-the-box theme-sui.css. That is alright to proof the concept, but it should be well known that modification of such deliverables is not recommended.

Because one of my customers will be deploying the Synergy theme, I started researching a bit further why the traditional (and documented) way of adding an overriding theme did not work.

1) Created a LOV for the new theme “SUI Custom”
2) Created a custom .css with the overrides called “theme-sui-custom.css”
3) Create a manifest file entry for this (files/custom/theme-sui-custom.css”
4) Created a manifest admin entry for Application / Theme / PLATFORM_DEPENDENT
5) Added as files with Seq 1 the theme-sui.css and with Seq 2 the theme-sui-custom.css
6) Set the user pref to “SUI Custom” and restart the application.

The end result was terrible :-(

SUITheme

Not only the toolbar menu got messed up, there were other anomalies too. But why? After some further research in appears the the SUI theme is not fully implemented as CSS theme, rather there are also modifications in client side proxies.

Reaching out to product development brought the solution. Creating overriding themes for R15 will be provided per upcoming patch set, targeted for the very first R15.1 patch set. The overall procedure will match the existing procedure. That said, if the Synergy theme needs to be overridden, the language independent code for the new theme should always be prefixed with “SUI_THEME_”.

Other than that, a few additional color schemes will be provided as well.

– Jeroen