Thursday, April 17, 2014

Little Helpers: Clear Cache Browser Extension

Among the uncountable browser extensions for Google Chrome, there are many which prove useful for the weary Siebel Open UI developer.

One of these extensions should stand representative for them all, and I really use it a lot.

The extension is simply called "Clear Cache", and this is exactly what it does. What I particularly like are the options which allow total control over what part of the browser cache is wiped out and whether to reload the active tab right away.

I also configured a keyboard shortcut, so I can tell you, I am saving a lot of clicks while working on my Open UI scripts.

What is your favorite extension for Open UI related work? Drop it in the comments.

have a nice day


Monday, April 14, 2014

Google Chrome Developer Tool Goodness: Watch Expressions

The following post does not go without a hat-tip to fellow Siebelian Slava who found an easy way to introspect variables, call functions etc, while debugging a Siebel Open UI application in Google Chrome.

If you are familiar with the Chrome developer tools and Open UI, especially in Siebel version or higher, you might deeply miss the ability to simply type some code into the console. This has been disabled - quite understandably so - for security reasons.

So I leave you with this screenshot and you will understand:

If you want to learn more about the Watch Expressions area and the Chrome developer tools in general, follow this link.

have a nice day


Thursday, April 10, 2014

Siebel Open UI: Enabling Drag & Drop in Calendar Views

If you have applied the monthly patch set or later, you would expect to be able to manage activities in the Calendar views by dragging and dropping them onto the calendar applet.

However, to achieve this state of bliss there are a view steps to take in the Siebel repository which is not modified by the patchset.

As the attentive Open UI geek you are, you should know that drag and drop functionality is driven by the presence of two applet user properties, namely

ClientPMUserProp = EnableDragAndDropInList
EnableDragAndDropInList = TRUE

Note that the ClientPMUserProp value could be a comma separated list, so we would have to add "EnableDragAndDropInList" at the end, but this is not the case for today's example.

Basically, all we have to do is to add the above two user properties to the list applets in our calendar views (e.g. the LS Pharma HI Activity Calendar View). If there are toggle applets registered for the base applet, we also must edit each toggle applet's user properties list.

In case of our example view, the base applet is the Pharma Calendar Activity List Applet and its toggle siblings Pharma Calendar Account List Applet, Pharma Calendar Affiliated Professionals List Applet and Pharma Calendar Professional List Applet

Using Siebel Tools (of course), we edit these applets and add the aforementioned user properties. After compiling the applets, we can test the functionality in the calendar view (see screenshot above).

Drag and drop an activity (or account/contact from the toggle applets) onto the calendar and (after watching the drag placeholder magically move back to the list) witness the appearance of a new calendar entry. This works in the daily, weekly and monthly calendar mode, as my tests have confirmed.

have a nice day


Wednesday, April 09, 2014

Statement of Direction for Siebel Open UI IP 2014

Earlier this month, Oracle has published a statement of direction (SOD) document for Siebel Open UI on the My Oracle Support portal. The document with the Id 1643468.1 lays out the features planned for release with Siebel CRM Innovation Pack 2014 which is intended to be shipped in late fall this year.

The document is especially important for customers and developers who are planning or already implementing features which are not yet available in the current IP 2013 version. 

For information on features like barcode scanning or iHelp and the planned roadmap, please refer the the Open UI Statement of Direction for IP 2014 (and beyond). 

Everyone involved in Siebel Open UI projects is strongly advised to access this document and visit the Open UI Information Center on My Oracle Support frequently in order to stay up to date.

have a nice day


Tuesday, April 08, 2014

New Oracle University Course: Siebel Open UI Advanced JavaScript API

Oracle University and this humble writer are proud to announce the availability of a new course which extends the existing Siebel Open UI Foundations offering (which is a prerequisite for the new course).

The new three day course is titled Siebel Open UI Advanced JavaScript API.

Siebel Open UI Advanced JavaScript API course description.
The course will be available as in-class training and live virtual class (LVC) formats and yours truly would be delighted to welcome you to class soon.

The course covers the following areas of Siebel Open UI scripting:
  • The architecture and files used in customizations
  • Administering customizations
  • Writing code to use the Siebel Open UI JSAPI to implement common form and list applet customizations
  • Debugging
  • Implementing application-wide customizations
  • Calling external libraries
  • Using Siebel Tools in conjunction with Open UI
  • Using the JSAPI with Mobile applications
  • Migrating customizations.
See you in class soon ;-)


Monday, April 07, 2014

Siebel CRM News of the Day

While sifting through the latest alerts, SODs etc on My Oracle Support, I found some interesting news for Siebel folks. While I usually peruse twitter for quick messaging, I believe it is worthwhile to summarize my Sunday evening tweets so that more people get this important pieces of information.

First, all good things come to an end, and even more so for Siebel Management Server, its ADM functionality and the Siebel Management Agent.

Second, the good people at Oracle have composed a new Statement of Direction for planned Open UI related enhancements in Siebel CRM Innovation Pack 2014 which is expected for late fall this year.

And third, there is a new monthly patchset for IP 2013 - rather early - for April available. But I posted this already.

Oh, I nearly forgot there is a new Siebel Open UI Advanced JavaScript API class available on Oracle University.

Stay tuned for more details.

have a nice day


Siebel CRM Patchset April 2014

As of Friday last week, Oracle has made the latest monthly patchset - April 2014 - for Siebel CRM Innovation Pack 2013 (IP 2013) available for download on the My Oracle Support portal.

The version numbers are and respectively.

List of Siebel 8.1.1 patches on My Oracle Support
As is customary for monthly patchsets, the newest one is cumulative and includes all bugfixes and enhancements from previous monthly patchsets.

The installation process if facilitated by Oracle opatch as usual.

To see if you benefit from this patchset, please refer to the installation guide / readme document which lists all the issues addressed - a lot of which are related to Siebel Open UI.

have a nice day


Thursday, April 03, 2014

Siebel Marketing: Campaign Execution Options

One of my favorite Siebel CRM classes is Siebel Marketing Manager. It is a three day course which I have co-designed. Despite the fact it should be upgraded to the latest Siebel version, it is a solid foundation training.

In a recent instance of this class, students inquired about the execution options for campaigns. There are a lot of settings which control the load, launch and delivery behavior of a campaign. You find them when you go to the Design tab for a campaign and navigate to the Execution Options - Advanced view (the technical view name is Campaign Admin Customer Management View).

Now it is not really an established tradition on Siebel Essentials to plagiarize on the Siebel bookshelf but the Siebel Marketing User Guide does a nice job on explaining all these settings.

But I decided to pick some settings which might be of interest to the greater public:

Assignment Options: These settings allow you to control manual or automatic (!) assignment of campaign members using Assignment Managers. The assignment rules must be in one assignment group.

Collaboration Options: Controls whether agents are able to edit certain fields of the campaign members such as the Done flag. In addition, you can control which follow-up buttons are enabled for this campaign.

Delivery Options: When the Use Pregenerated Files flag is set to true, the launch process will use the most recent delivery file (in the List Distribution view), which you probably have pre-generated manually to save time. The Route Contacts and Route Prospects flag control whether to synchronize campaign members to mobile databases. As an older bookshelf version states, Expert Services must be engaged for this.

Load Options: The campaign load process can be controlled through these options. You can choose for example to purge the "Campaign History" (which is the campaign members list) for each new load or create a new wave or use the "most recent good wave". In addition, you can specify which Source Code Format to use and select custom workflow processes to execute before or after the load process or after the launch process. These custom workflow processes must be in the Marketing Custom Workflows group to appear in the pick list.

Email Campaign: These options are only available in version or higher and are visible in the "simple" execution options view (without "Advanced" in the name). They allow using a new feature in the Email Sending Daemon to save copies of all emails to a specified directory.

have a nice day


Tuesday, April 01, 2014

New Language Packs in Siebel

Beginning with the next patch release, we find new language packs for Siebel CRM. The following list of additional language packs is not complete but shows that interest for Siebel CRM is unbroken in many parts of the world.
  • Maori
  • Gujarati
  • Welsh
  • Catalan
  • Greek
While Oracle has not yet announced a release date for, I was able to grab some early-bird screenshots:

Siebel Account List in Welsh
The above screenshot also highlights the new Zakynthos theme inspired by a Greek island.

Let's investigate some other languages:

Siebel Site Map in Maori
Personally, I am missing Austrian on the list but good to see that other local languages and dialects made it to this release

As you can see, even the Online Help is already translated. Really well done.


We should mark today's date as a major milestone for Siebel CRM. Soon, we will be able to work with Siebel CRM in almost any language. My first tests with Google Translate showed that the translations are truly accurate

have a nice day


Monday, March 31, 2014

March Repost: More Dynamics in the Physical Layer of OBIEE

In our "blast from the past" series, I am reposting today an article which I wrote 5 years ago. With version 11g not to be released for one more year, the article focuses on strategies how to add more dynamics to the physical layer of a BI repository. Please enjoy


During a BI project there are numerous opportunities to go down the stony road and establish redundancies where you do not really want them.

When I am in a provocative mood (which I am not very often, I assure you), I use to ask "Do you want a 'B' project or a 'BI' project?". There are so many pitfalls waiting for us to stumble into and reveal our bad (or sometimes even non-existent) design.

There are many triggers for this post, as there are many fine people blogging about OBI EE (here and here to mention just two of them, keep up the good work!) and I would also like to thank the many people who contact me with questions regarding OBI EE design and architecture.

Today I would like to examine options we have to make the physical layer definitions more dynamic. Of course we all know about aliases in the physical layer, so I will omit these.

1. Multiple Connection Pools (and permissions)

As John Minkjan points out in his post on multiple connection pools, these object types have a security permission button which allows us to define which user (or group) uses which connection pool.

This can be very convenient, if you want to "switch" the users to different connection pools. The connection pools could even point to different data sources so you can implement a simple solution to use the same set of requests/dashboards/business model against different databases (such as DEV or PROD).

In the below screenshot (click to enlarge), please note that we can set permissions for a group/user in the General tab for either a presentation layer object or connection pools (the only object type in the physical layer that has permission management options).

2. Dynamic Names

The dynamic names feature is described in several places across the Oracle BI EE and Marketing Segmentation documentation.

Simply put, it enables us to assign the value of a session variable(!) instead a static name to the following object types:
  • Physical Catalog (useful for accessing different db schemas)
  • Physical Table (for switching between tables)
  • Alias
A real life example is the sampling factor in the OBI EE Marketing Segment Designer. Instead of issuing a lengthy count statement against the original table (with let's say 10 millions of records), you can do a count against a sampling table (with a sample of 5%, that is 500.000 records) and then multiply with the necessary factor (20 in our example) to get an extrapolated result.

Sampling factor setting in Segment Designer
Remember you can set session variables not only using Initialization Blocks but also from the presentation services using either a dashboard prompt or the SET VARIABLE operator in an advanced SQL prefix.

3. Variables

As many of you savvy readers are aware, we can use session and repository variables all over the place in the Administration Tool to make our lives easier (or more complicated?). For example you can specify a connection pools' data source as VALUEOF(OLTP_DSN) and use a repository variable named OLTP_DSN to carry the value (which is the way it is done in Oracle BI Applications).

4. More?

Do you have more ways of bringing your physical layer to dynamic life? Let me know by adding a comment to this post.

Have a nice day