Friday, June 20, 2014

Holiday Break

Siebel Essentials celebrates its 6th year(!) with a recreational break as it has become kind of a tradition.

A big "Thank You" goes out to all readers, fellow bloggers and supporters.

See you again soon.


have a nice day

@lex

Thursday, June 19, 2014

Oldie but Goldie: Siebel Quick Print

This is another "blast from the past" moment, when we look at an old post from 2008. But Siebel Quick Print is too good to forget (and yes, it works in Siebel Open UI too).


***

Introduced in Siebel 7.7 and greatly enhanced in 7.8, the Quick Print feature allows end users to bring the data they see in the Siebel view to paper (or Excel, HTML or - if a pdf writer is installed - to PDF).

Quick Print seems to be somewhat neglected in most projects, as it comes with default settings that are not very attractive. The screenshot below shows the result of pressing the Quick Print toolbar button in the Account > Orders view.


Not very impressive indeed, but let's set the user preferences for Printing as follows (note that we use HTML output which also allows to print form applets; Excel output is only supported for list applets).

Now you're talking

As we see, Quick Print is capable of producing a fully featured report-style printout of the entire view, even if it contains HTML icons or side-by-side applets.


Hierarchical list in quick print


Side-by-side applets in quick print


Have fun

@lex

Monday, June 16, 2014

Oracle BI Mobile App Designer Release 2

A while ago, Oracle has made the second release of BI Mobile App Designer (BIMAD) available. The official version name is 11.1.1.7.10-BIMAD-PS1 and it can be downloaded as BI patch 18794832 from My Oracle Support.

Here at Siebel Essentials, we're always fond of new features, so we took the new BIMAD for a test drive.

BIMAD sample app showcasing the new map feature
Here is the short list of new features:

  • UI Redesign
  • New Map component
  • New Exploration page
  • Global filters
  • Calculated fields
  • Support for multi-select
  • Plugin SDK and Gallery

The complete list of new features and enhancements can be found on the What's New page of the official user guide.

UI Redesign

The first thing that strikes the eye - apart from the new overall Skyros theme -  is that the designer got redesigned.

BIMAD Release 2 Designer UI. Click to enlarge.
One of the major changes is the removal of the ribbon-style navigation, replacing for example the component selection with a plus (+) icon. In addition, the properties of the selected element are now edited on the right side.

New Map Component

The screenshots above shows the new map component. Of course the underlying data must contain geographic data which could be the name or three-letter code of a country (e.g. "France" or "FRA"), state or county of the US or latitude/longitude information.

New Exploration Page

This is a new page type which adds sophisticated filtering and prompting capabilities for tablet applications (not available for phone apps).

Global Filters

The new global filters feature allows app developers to specify reusable filter definitions which can be applied to components to limit the data set available to the end user.

Calculated Fields

Developers can now create calculated fields and use them in the components. The screenshot below (from the user guide) shows the expression editor for calculated fields.



Support for Multi-Select

BIMAD cannot deny its BI Publisher heritage. The List component (formerly known as "Filters") now supports multi-select as well.

Plugin SDK and Gallery

BI Publisher (and the first version of BIMAD) support custom plug-ins to be added as new data visualization components. In release 2 of BIMAD, the good people at Oracle have added an SDK for easier development of custom plug-ins.

If you are inclined to create custom plugins, you will have to install Node.js(!). Then you can use the plugin gallery to define and download an initial set of files with sample data.

Once the plug-in is developed, it must be uploaded so it becomes available in the gallery.

Summary

As fellow blogger Christian Screen put it eloquently: "BI got MAD and you should be happy." The latest release of BIMAD provides a welcome round of enhancements and new features. So don't get MAD, get BIMAD ;-)

have a nice day

@lex

Thursday, June 12, 2014

Google Maps in Siebel (Open UI): The Penultimate Edition - Part 2

Welcome to the second part of our 'penultimate' edition of Google Maps in Siebel Open UI.

In the first part, we focused on the scaffolding, used templates to create a custom PM and PR for the SIS Account Entry Applet and downloaded and registered the colorbox plugin.

Today we will look at the actual implementation, starting with some requirements:
  • As stated in part 1, the code should be generic enough to work with all form applets that display address data
  • The solution should be SRF-independent.
  • A clickable map icon should be displayed next to the address fields.
  • When the icon is clicked, the map of the address displayed in the applet should be shown in a colorbox iFrame.
So, let's get to work:

4. Implement the Presentation Model

The purpose of a presentation model is to capture the business logic behind the scenes. In our example, the PM's task will be to extract the address information and create the link which leads to the map vendor's web site.

The following screenshot shows the custom PM's Init method and two "event handlers":

Click to enlarge.
The above code does the following:
  • Declare a new property "sMapHTML" to hold the HTML code for the link.
  • Declare handler methods for the ShowSelection and FieldChange API methods. Remember that "sequence:false" means "post".
  • Declare a custom method CreateMapHTML
  • The two "post" event handler methods simply invoke the CreateMapHTML function which returns the link HTML and then set the sMapHTML property value.
And here is the CreateMapHTML function in all its glory (see below for details):

Click to enlarge.
The above function does the following:
  • Declare the map base URL and parameters.
  • Get the controls for the current applet
  • Declare an object addressControls to hold the address related controls. Initialize each element with a "search string" such as "addr" or "postal". These search strings are meant to be used to locate address related controls in the applet. This is an experimental SRF-independent alternative to applet user properties and is of course problematic when address controls have "meaningful" names such as "HTML Text 2" or similar...
  • Iterate through the controls of the applet and compare the name of each control to the "search string". If the control name contains the search string, the control object will be added to the addressControls object.
  • Store the addressControls object as a property for easy access from within the PR.
  • Verify that we actually have an address using the control representing the street address.
  • Concatenate all address fields to a full address string to be used on the map page.
  • Generate the image link HTML using the full address string.
As discussed above, this educational example tries to demonstrate SRF-independency. If the names of the applet controls do not contain the "search strings", the above solution will not work. I have demonstrated how to use applet user properties to "broadcast" information from the repository to the PM in an earlier post.

In addition, one might want to consider externalizing all hardcoded stuff such as the map base URL, its parameters and the HTML snippets. Using constants similar to the as-delivered Open UI API would be a good idea.

The example presentation model file can be downloaded here.

5. Implement the Physical Renderer

Now it's time for the PR code. First, we modify the line which calls the define function to resemble the following (modifications in bold font).

define("siebel/custom/GoogleMapBoxPR", ["siebel/phyrenderer","siebel/custom/colorbox/jquery.colorbox-min"], function(){

This modification ensures that the colorbox library is always loaded with the physical renderer. This is an alternative to registering the library with the manifest and ensures that the colorbox code is only loaded when it is really needed.

The following screenshot shows the remainder of the PR code (explanation below):

Click to enlarge.
The above code does the following:
  • In the PR's Init method, use the AttachPMBinding method to attach the local ShowMapIcon method to the sMapHTML property. This ensures that the ShowMapIcon method is invoked every time the property is altered.
The ShowMapIcon method does the following:
  • Get the HTML generated by the PM
  • Remove any current instances of the image link using the anchor's name attribute.
  • Get the addressControls object from the property.
  • Obtain the object representing the street address control.
  • Get the value of the control's name attribute.
  • Insert the HTML string after the control.
  • Call the colorbox method upon the link. Note the iframe:true specification which is required for Google maps.
The example physical renderer file can be downloaded here.

6. Test

The result of the above code is a map icon displayed next to the street address control in a form applet:


The icon will only be displayed if there is an address available.
When the icon is clicked, a colorbox iFrame will open and display the map:

Click to enlarge.
To test the genericity of the code, register the PM and PR with other form applets (such as the Contact Form Applet) which display address data. Again, the code is experimental and not production-ready. Using applet user properties to specify the address field names might be a much safer way but alas is SRF dependent.

Summary

Thanks again to Mattias for the inspiration to bring the Google maps example to IP 2013 (or higher). I took the liberty of tweaking the requirements hoping to trigger some out-of-the-box thinking.

As a courtesy, you can download the PM and PR code (code examples provided on Siebel Essentials are for educational purposes only! Do not use this code in production! If you do so, it is at your own risk!) here:

The example PM can be downloaded here.
The example PR can be downloaded here.

What is your approach to the "maps requirement"? Please find the comments.

have a nice day

@lex

Tuesday, June 10, 2014

Siebel CRM and Customer Experience (CX)

by Jan Peterson

In recent years and months the term "Customer Experience (CX)" has slowly but gradually started to replace the term "Customer Relationship Management (CRM)". A good starting point to understand CX is the Wikipedia article on Customer Experience. The article uses a widely accepted definition and states that "Customer experience (CX) is the sum of all experiences a customer has with a supplier of goods and/or services, over the duration of their relationship with that supplier."

As there are literally hundreds and thousands of articles, blogs and pieces of collateral around CX - just like the official Oracle CX blog for example - I will focus on highlighting some of the concepts and ideas.

Why should companies focus on CX?

The core value proposition is simple: Based on the assumption that we live in a commoditised world, the key differentiator for companies is the experience they provide to their customers. It is hard to come up with a current example where a company has a unique product. One might argue that Apple was in such a lucky situation when they released the first version of the iPhone and the iPad, but looking at the current market, I am unable to come up with any decent example. There are various surveys that underline that the customer experience is directly linked to the behavior of customers. The general message is simple (and totally in line with my own behavior ;-) ): "Happy customers will come back and buy more, while unhappy customers will buy somewhere else".

In the context of CX a generic customer life-cycle is often described by using the following picture:

Customer Lifecycle

From a traditional CRM point of view we differentiate between Sales, Service and Marketing  (and sometimes introduce Loyalty as another pillar). However, customers are not aware of the organisational structure of a company and don't care if they talk to the Service, Sales or Marketing department. Essentially, they are only interested in getting their immediate need addressed or issue resolved.

Hence, CX treats these disconnected processes as part of a single journey. In addition, while we talk about multi- or cross-channel CRM, there is no need to talk about cross-channel CX (or to use a modern term, omni-channel CX). CX implicitly includes all channels that have been touched along the customer lifecycle. I mentioned earlier that "unhappy customers will go somewhere else". I should have added "and will tell their friends about it - potentially using a social channel". As social channel and mobile internet access have entered our world after the first wave of CRM systems, CX acknowledges three things:
  1. Channels have evolved and changed over time. The most important changes include Social and Mobile.
  2. The power of an individual - primarily driven by social channels - has significantly increased.
  3. As a result of 1) and 2), achieving customer advocacy is a key goal for companies. This is inline with the observation that it is significantly more expensive to acquire new customers than retaining existing customers.
In summary, CX looks at customers more holistically than CRM and puts a higher focus on all customer interactions. To differentiate, companies need to provide a consistent and tailored experience across channels that is specific for every use case.

What does this mean for Oracle Siebel CRM?

Oracle has acquired various companies over the past few years to complement its CX application portfolio.
As the core of a CX solution is a CRM system, Oracle's customers have the following choice:
  • Oracle's cloud based CRM products
  • As Siebel remains Oracle's recommended on-premise CRM product, Siebel has a strong value proposition in the context of CX.
Siebel and CX - Application Portfolio
While Open UI has received a lot of attention, the work that Oracle has done around integrating the acquired CX products with Siebel has barely attracted any attention.  In the following articles we will look at how the different Oracle CX products fit into the Siebel universe and how they enable Siebel to be part of a compelling CX application portfolio.

Thanks to Jan for this article

have a nice day

@lex

Monday, June 9, 2014

Siebel CRM Patch Set 8 for Innovation Pack 2013 is Available

Last Saturday, Oracle made the latest patch set 8.1.1.11.8 / 8.2.2.4.8 available for download on My Oracle Support.



As with other patch sets, the current one provides a lot of bugfixes for HI, SI and Open UI applications.

As usual, the patch set comes with a button that says "Read Me" which leads you to the installation guide which also contains descriptions of the resolved issues.

(All links require a valid account for My Oracle Support)

have a nice day

@lex

Legodo Customer Communication Suite and Siebel CRM

On his On Demand Education blog, my friend, book reviewer and overall good guy Richard Napier recently started a series of posts on the integration of Legodo CCS (Customer Communication Suite) and Siebel CRM.

Image Source: legodo.com
***

Richard writes:

Legodo CCS � Why Siebel Consultants should know about CCS
Legodo / Actuate CCS � a Series of Overviews for Siebel People

As many of you read on the various websites like Siebel Observer, Actuate Corporation recently acquired Legodo AG, a German company based in Karlsruhe.

You, our dear readers, may be wondering what this company provides, and may be thinking about what this company means in the Siebel ecosystem. We at ODE think you need to know about this product and what it can do for your Siebel Enterprise customers.

ODE reached out to the company shortly after the news of the acquisition, and despite being very busy the company responded with lots of enthusiasm and information. We would like to take this opportunity to thank Sven, Martin and Manuel who were so kind to get involved in the process of getting ODE access to the software and helping us set it up with a Siebel Enterprise instance. So we are going to be giving you a couple of posts to discuss why Legodo (Actuate) CCS needs to be on every Siebel consultant�s radar:

  • Overview of the Product
  • Key Differentiators
  • Functionality that your customer needs

Now on to our first post about the Customer Communication Suite � Let us start by making some big picture statements. Not all of them are true for every CRM customer, but we are willing to bet that you have met many of them.

Generating documents (Word, PDF, HTML, MHTML, Emails, SMS, and Fax etc) in a CRM system such as Siebel is often a pain point. Thinking back to the �good old days� we would use Siebel Correspondence and be frustrated by the performance issues and stability � actually we would just question the concept of using Microsoft Word as the generation engine in an environment where we want to be  generating hundreds of documents a second. As a friend said the other day, that architecture was out of date ten years ago.

Creating report or document templates for use in Siebel or another partner application has never truly been open to the end user. One way or another, the different tools at our disposal have been too complicated or too unfriendly to give to a typical user of Microsoft Word. Some tools have been better than others, but most fail either at the document creation and process, or the document management / upload level.

Embedding business logic into the creation of documents has always been a struggle. Sure we can create snazzy documents and let Siebel users generate them by clicking on a list of �Siebel Reports�. But when it comes to stipulating that document A is not appropriate for customer 1, or that this document is only appropriate for Gold Customers, or that this document should only be emailed not printed, or that such and such a block of text is recommended in a particular context, then we struggle, let alone using different channels (SMS, Fax, Email and so on).

Updating Templates usually involves compilation, Integration Object changes and so on, slowing down the process and making it harder for the end Word user to be comfortable with their design tools. There are a number of other pain points but most people will share some of these I am sure. So with that in mind, here is an overview of Legodo / Actuate CCS.  It is comprised of several parts

Server Management application This application is the technical hub of the Suite. In here you will find the application setup, the connectivity to Siebel as well as the mappings between Siebel concepts and Legodo objects. At a simple level, this is where the structures we know as Business Objects and Components and Fields are mapped. Interestingly, the tool does not use Integration Objects, reading instead directly from the Repository tables which lessens the workload to deliver changes.



It also uses industry standard techniques (XSLT, XML) to get complex jobs done like mapping CCS output to Siebel. As a result, it makes it easier to find out what is going on, and to consult the output of a given session. Even ODE could do some debugging and fix an issue in this way, after only a few hours of operation. For our demonstration platform we were able to mount the server and the other components on Apache, which meant a quick and easy start! There is a whole slew of functionality that is business driven, such as defining which users can access which partner systems (Siebel, SAP etc), what business rules are applied to business processes (for example, apply the Gold Customer rule to a process to avoid the wrong document being printed for the wrong types of customer) and so on. We will investigate some of the key features in a later post.



About the CCS Designer

Sure, we have heard about MS Word Plugins before. But too often they are not business driven and don�t really speak to the report designer, more to a nebulous person called a report developer who wouldn�t have to exist in an ideal world. CCS Designer comes closest to the goal of business user-focus. The wizards are very easy to use, very simple to understand. CCS (wisely in my opinion) splits the wizard into two separate worlds � �business� and �technical� views that can be switched between depending on the user and what you are trying to do, so the information you get is not trying to be �all things to all people all of the time� which can make for an overload of information to view (and thus a big turn-off for report designers).



Particularly useful is the simple structure of the document (reusable text blocks, fields and other text) and the powerful tools to filter usage of a document and make it easier for the end users to make the right choices. For example, the ability to make text blocks no longer available, or to create them for availability in the future.


End User Interaction

After all this designer-related power and flexibility, it is nice to see the end user is not neglected either. Accessing CCS from Siebel or another Partner system displays a great dialogue. Organized templates, a preview, channel options and more give the user a flexible modern interface. It makes some of the things we have to put up with look really old-fashioned.



 vs



Of course the comparison is maybe not a fair one. CCS is so far into the realm of correspondence that mere report-generators cannot compete.

Naturally, the templates, options and channels available have all been set up in the application to ensure that only the right documents are available to the right people in the right format. And furthermore , design of business processes means the ability to communicate with the Partner System and work with native Siebel concepts like Actions.



The level of control of business processes extends right into documents that may be generated � notice in the screenshot below that the CCS end-user toolbar only offers the options to Print or Save, and that native functionality has been disabled.



There is so much more to CCS than this short post, and we will be investigating some more of the functionality in a short series.

For now though, let us leave you with a quote from a well-known reference customer (we will share another couple in the next post) :-

With Legodo, we can deliver customer relevant correspondence in the right context and at the right ti me � easily, directly, and with a personal touch of course.� Christian Viatte, Manager Service Champion Program, Swisscom

You can download the full Legodo / Swisscom PDF here. Until next time!

The original article can be found here.

***

have a nice day

@lex

Thursday, June 5, 2014

Google Maps in Siebel (Open UI): The Penultimate Edition - Part 1

Displaying Siebel address data in a Google map seems to become one of the most discussed topics here on Siebel Essentials. Just recently, I received a friendly email from Mattias Johansson from Accelsior Corporation who published a follow-up on one of my posts, upgrading the pre-IP 2013 example in the post to version 8.1.1.11 or higher (click here to access Mattias' original article).

I really liked Mattias' initiative and decided to rewrite the Google maps example for Siebel Open UI again on my own. In the below article I will discuss the steps to achieve the following in IP 2013 or higher:

Siebel Open UI with a Google map in a colorbox iFrame.
To spice things up a bit, I added the following ingredients:
  • The code should be generic, i.e. it should work on any form applet displaying address data.
  • There should be no dependency on the SRF.
  • It should be easy to "switch" to another map engine.
  • Colorbox should be used for displaying the map.
And here are the steps I followed to implement this:
  1. Create a basic Presentation Model and Physical Renderer from templates
  2. Register the new PM and PR with a test applet
  3. Take care of third party code
  4. Implement the PM
  5. Implement the PR
  6. Test
Let's get started.

1. Create a basic Presentation Model and Physical Renderer from Templates

If you spent a bit of time with the Siebel Open UI JavaScript API, you will by now have created templates for a "basic" Presentation Model (PM) and Physical Renderer (PR). If not, it is about time because using a template saves you a lot of time.

For the benefit of my readers, I have made example templates for PR and PM available.

Click here for a sample PR template
Click here for a sample PM template

(Needless to say: using this - and any other bits of - code from this site comes at your own risk)

To start from the template files, open them in a script editor of your choice and save them using a unique file name in the /siebel/custom folder of your Siebel Developer Web Client installation. For my example I choose these file names:

GoogleMapBoxPM.js
GoogleMapBoxPR.js

Next, use the find and replace feature of the editor to replace all occurrences of "PMTemplate" with your unique name (sans ".js") such as GoogleMapBoxPM in the PM template. Repeat the procedure in the PR Template (using "PR" as the suffix, of course).

2. Register the new PM and PR with a Test Applet

Before you start working on the implementation, you should make sure that your new PM and PR files are properly loaded. To accomplish this, you register them with a test applet. For our example, we can choose the SIS Account Entry Applet, a standard applet which exposes address fields for an account.

To register a custom PM or PR with an applet, follow the steps below

1. Navigate to the Administration - Application screen.
2. Navigate to the Manifest Files view.
3. In the Files list, create a new record and enter (or rather copy & paste) the relative path to the new file, for example: siebel/custom/GoogleMapBoxPM.js
4. Navigate to the Manifest Administration view.
5. In the UI Objects list, create a new record with the following values:
  • Type = Applet
  • Usage Type = Presentation Model
  • Name = SIS Account Entry Applet
6. In the Object Expression list, create a new record with the following values :
  • Expression = Desktop (use the picklist)
  • Level = 1
Note: You might want to use a different expression or none at all, depending on your needs. 

7. In the Files list, click the Add button and associate the file you registered in step 3.
8. Log out of the application and log back in again.
9. Navigate to a view which contains the applet specified in step 5.
10. Open the browser's JavaScript console
11.Verify that the console messages appear as implemented in the template file. Alternatively use the Sources tab of the browser developer tool to verify the presence of the custom file.

Repeat the above procedure for the physical renderer file. Make sure that you use "Physical Renderer" as the usage type in step 5.

Compare your settings with the following screenshot:

Click to enlarge
3. Take Care of Third Party Code

As our example uses Jack Moore's colorbox plugin for jQuery, we have to download it and copy all the necessary files to the right places. Here is a summary of the steps:
  1. Go to http://www.jacklmoore.com/colorbox and download the .zip archive.
  2. Extract the archive to a temporary folder.
  3. Copy the jquery.colorbox-min.js file to the /siebel/custom/colorbox folder (create the colorbox folder).
  4. Take a look at the examples and choose one that fits your needs.
  5. From the examples folder of your choice (e.g. example1), copy the colorbox.css file to the /PUBLIC//FILES/custom folder (create the custom folder if necessary).
  6. Copy the exampleN/images folder to the /PUBLIC//FILES/custom folder.
The colorbox plugin comes with its own style sheet which we must register as well. To do so, we must either create a custom theme.js file or edit the existing one. The code we need to add to the custom theme.js file is the following:

SiebelApp.ThemeManager.addResource(
    "GRAY_TAB",
    {
        css : {
            colorbox_theme:"files/custom/colorbox.css"
        }
    }
);

The above code calls the addResource method of the ThemeManager class to add the colorbox.css file to the existing "GRAY_TAB" theme. Of course you can replace "GRAY_TAB" with any other theme that you have already registered.

Please refer to this article for more information about custom themes in Siebel Open UI.

This concludes part 1 of this article. Please click here to go to part 2.

have a nice day

@lex

Monday, June 2, 2014

What Makes a Siebel Consultant?

On his Siebel Tech blog, Oli Ollerenshaw recently discussed the state of the Siebel job market. Oli spent more time in the Siebel realms than I have and I strongly agree with his views, especially the following, which are reproduced here with Oli's kind permission.

Recent search results for "siebel job" at topsy.com
Oli writes:

Siebel consultants must be more than just technical resources

What I've found is that a Siebel Consultant has to have the some or all of the following skills, in addition to a sound technical knowledge of the product set, in order to keep up with the market, find jobs and keep busy:

  • Business Analysis � an ability to talk to clients, key stakeholders and business users is an essential skill. You need excellent verbal and written communication skills and an ability to see the world from a user's eyes. Understanding and experience of UML is really useful here as process diagrams, sequence diagrams and user stories are things that business users understand and can form the basis for valuable discussion.
  • Functional Knowledge � it�s not good enough any more to know how to write a business service or build a Product Model. You need to know what out of the box features of Siebel can be used to implement a business requirement. And that means a lot of work when you look across the vertical product stack: Siebel Marketing, Siebel Life Sciences, Public Sector, Sales and Service, Automotive � there are literally dozens if not hundreds of functional modules that serve a specific purpose. Being able to map these to a business process is a key skill as is the ability to influence a change to a business process to make use of the functionality of the product.
  • Application / Enterprise Architect � you need to know how Siebel will solve the business problem at hand, end to end. That means understanding how all of the key features of the product, along with any customisation you deem essential, will make up the whole solution. How does this map to the business processes and user stories? How does Siebel fit into the Enterprise landscape? What integration points exist, what middleware technologies make sense and fit? Understanding the �big picture� is more important than ever before.
  • Infrastructure Architect � back in the good old days, a client may have employed a dedicated resource, or even a team, to manage Siebel Infrastructure. Nowadays, clients are looking to their Siebel Consultants to provide knowledge and guidance on this alongside functional and technical design. Knowing how to plan a Siebel Enterprise, how to size a database and offer high availability and scalability across the Enterprise is very valuable. Knowledge of the Siebel Security Model and how that fits in with other technologies such as Active Director or Oracle Identity Manager is something that many clients will look for.

So, my experience has shown that the days of an abundance of Siebel roles are over. In order to stay in the game, we must learn to be more than Siebel Techies: we need to be specialist generalists, excelling in all aspects of the CRM lifecycle but with our feet still firmly on Siebel ground.

What are you thoughts and experiences of the Siebel job market where you are? Please feel free to share and discuss in the comment box below.

***

You can find the full article here.

have a nice day

@lex