יום שני, 19 במאי 2014

Siebel Open UI: Format All the Lists - Part 1

In an attempt for a real-life scenario of customizing the appearance of all list applets in a Siebel Open UI enabled application, I would like to introduce you to a coding experiment for conditional formatting of list columns.

As usual, let's see what we want to achieve:

Click to enlarge.
As you can see from the above screenshot, the Opportunity List Applet has two columns - Revenue and Probability % - which are conditionally formatted depending on their value. End users are able to use CTRL+click on the column header to display a prompt where they can enter a target value to influence the background color of the cells.

This solution should be applicable to all list applets. In this and the following post, I will lay out the steps to achieve a generic solution for the requirement presented above. The example solution focuses on numeric columns but can be easily applied to other data types as well.

The following are the main ingredients:

  • Applet User Properties
  • Custom Presentation Model
  • Custom Physical Renderer

Today, we'll focus on the first two points:

Using Custom Applet User Properties in Siebel Open UI

As a frequent reader of this blog, you are aware of the ClientPMUserProp applet user property introduced with Innovation Pack 2013. This user property is used by Oracle to define standard applet behavior such as drag and drop to and from list applets or collapsible/expandable headers.

We can also define our own custom user properties and - as they will be forwarded to the Open UI framework - can use them in the browser-side code to control the behavior of our customizations.

To implement the conditional formatting example, I chose to define two custom user properties:

  • CF Field List: A comma separated list of business component fields which - should they be exposed as list columns - will be conditionally formatted.
  • CF Threshold List: A comma separated list of numeric values which defines the default target values for the respective fields.

To add these user properties to an applet, we have to edit the applet in Siebel Tools and do the following:

  1. Open the list of Applet User Properties for the applet.
  2. Create three new user property records as follows:



Name
Value
ClientPMUserProp
CF Field List, CF Threshold List
CF Field List
Primary Revenue Amount,Primary Revenue Win Probability
CF Threshold List
500000,50

The above settings apply to any list applet using the Opportunity business component, for example the Opportunity List Applet.

Here is a screenshot documenting the work:

Click to enlarge.
We have to consider that when the ClientPMUserProp user property is already defined for an applet, we must add our new user properties to the list, using commas as the separator. Alternatively, the user property can be sequenced, so we can define multiple instances like ClientPMUserProp1, ClientPMUserProp2 and so forth.

With this technique we can define a list of fields which should be conditionally formatted and the default target value for any list applet. Of course the field names must match exactly those of fields available in the applet's BC.

Ah, and yes, don't forget to compile the applet(s).

Accessing Custom User Properties in a Presentation Model

Any user property defined in the ClientPMUserProp value will be propagated to the property set used to set up the presentation model of the UI object.

As Siebel Bookshelf states, we can currently do this with individual controls, applets or views. To be able to access the values of the custom user properties, we must extend the presentation model and override the Setup method of the custom PM. This is because the Setup method receives a reference to the current object's property set.

The following code shows the Setup method of a custom presentation model extension class, accessing the user properties we created above.

Click to enlarge. Example code for IP 2013 (8.1.1.11)
The screenshot shows the full code with the important lines highlighted.

As you can see, we use a reference to the Oracle-defined set of constants to retrieve the name of the property set containing the applet user properties (SWE_APPLET_PM_PS). This is a recommended practice to avoid issues should Oracle engineering decide to change the naming convention in a future release.

Then we can use the GetProperty method of the property set to retrieve the values of the two custom user properties we created in the first step in Siebel Tools and store them as "local" PM properties so that we can easily access them from the physical renderer.

The custom presentation model must be administered in the manifest as usual and associated with a test list applet (recommended) and later with the DEFAULT LIST APPLET entry (IP 2013 and later). For testing purposes it is recommended to use a single test applet and use SiebelJS.Log() to print the user property values to the browser's JavaScript console.

The Story so far

With the above configurations, we have set the foundation for writing a generic physical renderer extension for list applets which evaluates the user properties and formats the respective list columns accordingly.

Please stay tuned for the second part of this mini-series where we will discuss a possible approach for this solution.

have a nice day

@lex

יום רביעי, 14 במאי 2014

Siebel Open UI Developer's Handbook - Announcement

It is not without some parental joy that we announce a new Siebel CRM book to be published this winter.

Together with three of the most distinguished Siebel Open UI experts, this humble writer is currently working on putting together useful information and case studies for the upcoming book:

In this book, you will:
  • Learn all about the Siebel Open UI Architecture
  • Learn to create custom Presentation Models and Physical Renderers
  • Learn advanced techniques for Open UI customization
  • Understand how to apply custom styles and themes
  • Customize and deploy Siebel Mobile Applications
  • Integrate Siebel Open UI with external applications
  • and more (see below)
As a frequent reader of this blog, you know that the book authors are truly committed to sharing information:
  • Duncan Ford
  • Alexander Hansal
  • Kirk Leibert
  • Jan Peterson
We expect the book to be published in Winter 2014/2015 and plan to align it with Siebel CRM Innovation Pack 2014. We are happy to announce as well that you can participate in shaping the book's content and get notified when it is available by filling in a simple form.

Please feel encouraged to grab this opportunity and create a book designed by and for the Siebel developer community.

have a nice day

@lex

יום שני, 12 במאי 2014

Oracle Launches Customer 2 Cloud Program

In his Siebel Observer publication, Bruce Daley informs us that Oracle changes its policies to allow Siebel support fees to be applied to Cloud products.



***

Oracle Corporation (NYSE: ORCL)  has announced new licensing policies that make it easier to exchange Siebel shelf ware for other CX products. Called the Customer 2 Cloud program, the new policies hope to overcome some of the common financial and technical problems Oracle customers experience in transitioning from Oracle on-premise software to Oracle software-as-a-service Cloud products. The Customer 2 Cloud program allows Oracle HCM and CRM customers to exchange some of their on-premise support budget for new Oracle Cloud products.

"The Customer 2 Cloud program helps organizations get their hands on the latest technology," says Rod Johnson, group vice president, Oracle Applications and Industries Solutions Group. "This program aims to remove the financial and integration challenges that can impact a company's adoption."

Oracle Customer 2 Cloud program is open to Oracle CRM and Oracle HCM customers that are running Oracle's Siebel, Oracle E-Business Suite, Oracle's PeopleSoft and Oracle's JD Edwards EnterpriseOne solutions on-premise. Oracle customers also have the flexibility to shift to a hybrid model with both on-premise and cloud applications.

Customers can convert their existing on-premise support budget to subscribe to Oracle Customer Experience Cloud and Oracle Human Capital Management Cloud services within the same product family. For example, a customer with on-premise seats for Oracle Siebel eService can transfer those seats to Oracle Marketing Cloud.

For more information about the details of the program see http://www.oracle.com/us/corporate/features/customer2cloud/index.html

***

This article was originally published on the Siebel Observer web site.

have a nice day

@lex

יום שישי, 9 במאי 2014

Rittman Mead BI Forum 2014: Day 3

This year's BI Forum in Brighton is a wrap. Here is a quick account of what wisdom and knowledge was shared by the speakers on the final day.

The first slot was by Truls Bergensen on how will of Endeca fit in to the Oracle BI topography.

Next it was Nicholas Hurt and Michael Rainey demonstrating how to replace OWB/Streams with ODI/GoldenGate to achieve real-time data warehousing.

Then it was cloud time again as Matt Bedin went through a demo of the imminent Oracle BI Cloud.


The afternoon saw Gianni Ceresa talking about Essbase within and without OBIEE and TED-style talks by Marco Klaassens and Christian Berg.

The final talk of the conference was Alistair Burgess on tuning TimesTen with aggregate persistence.

And while everyone is heading home let me thank the good people at Rittman Mead for another truly impressive and well-organized conference.

As someone who "grew up" with the Oracle BIEE stack since Siebel Systems acquired nQuire, the broad variety of topics such as GoldenGate, ODI, Endeca, etc. proves that the OBIEE landscape has evolved into much more than just Answers and Dashboards.

Oracle and its partners do a great job to integrate all the different technologies and push them to the cloud.

have a nice day

@lex

יום חמישי, 8 במאי 2014

Rittman Mead BI Forum 2014: Day 2

The second day of this year's installation of Rittman Mead's BI Forum in Brighton saw some impressive content and brilliant presentation. These speakers kept the audience engaged.

Emiel van Bockel showed how you can achieve sub-second response times for thousands of concurrent users querying against hundreds of millions of rows in just two years and with just one Exalytics box.

Oracle's Chris Jenkins took the crowd for a deep dive into TimesTen for Exalytics.

Robin Moffatt told us there are no silver bullets but a lot of golden rules when it comes to measuring and optimizing OBIEE Performance in the real world.
Coming soon to a screen near you: The Oracle BI Cloud. Adam Bloom of Oracle did a "behind the scenes" talk about this soon-to-be addition to the Oracle Cloud.

Following 15 minute TED-style talks and some refreshements, Andrew Bond and Stewart Bryson closed the day with a presentation on Big Data architecture for the enterprise.

As is customary for Rittman Mead events, delegates enjoyed a gala dinner. The location was - interestingly enough - St Georges Church in Brighton.

יום רביעי, 7 במאי 2014

Rittman Mead BI Forum 2014: Day 1

This year's BI Forum in Brighton, UK has started with a Big Data masterclass with Lars George from Cloudera titled "Hadoop, HBase, NoSQL and What These Mean for Oracle BI&DW Developers"


Lars' knowledge is encyclopedic to say the least. The crowd gasped as he presented the vast array of funny-named tools that have evolved around HDFS and hadoop over the past 10 years.

For anyone, including of course BI and DW developers, with a professional interest in crunching data in large volumes or at high speed or both, the hadoop ecosystem provides us with a vast array of tools such as Pig, Flume, Hue, Parquet, Squoop, Impala, HBase or Oozie, just to name a view. All of which (and more) Lars managed to present in uncanny depth and breadth of detail.

For those among you with further interest, you might want to peruse the search engine of your choice as well as the virtual machines available from Cloudera or Oracle to get started.

Cloudera also provides a live playground environment via the internet.

The evening of day one saw the crowd relaxing at the drinks reception and listening to Oracle's Matt Bedin delivering the traditional keynote under the - traditional as well - NDA. But let's say this much: Interesting times ahead ;-)

If you can't make it to the BI Forum this year, check out the delegates' tweets (#biforum2014)

have a nice day

@lex

Siebel Mobile Web Client Statement of Direction 2014

If you or your customers are using the Siebel Mobile Web Client along with Siebel Remote technology, you should log in to My Oracle Support as soon as your time allows and get the latest Statement of Direction (SOD) document which lays out Oracle's plans for this technology as well as the future roadmap for Siebel Mobile Disconnected Applications.
Image source: Siebel Systems training material
The document is numbered 1663459.1 and can be found here (My Oracle Support account required).

have a nice day

@lex

יום שלישי, 6 במאי 2014

Rittman Mead BI Forum 2014 in Brighton

It's this time of the year again when the good people at Rittman Mead gather the most prolific BI experts in Brighton and Atlanta. This humble writer also secured a seat at the UK event which starts this Wednesday.


Day 1 will be a Masterclass on Hadoop with George Lars and the following two days are filled with BI goodness and expert talks such as TimesTen, Performance Tuning and Cloud Analytics.

Apart from the doubtless magnificent content, I am especially looking forward to meet the world's leading BI experts in person.

As usual, I will report to you via blog posts and tweet live from the event.

have a nice day

@lex

יום שני, 5 במאי 2014

Siebel CRM Patch Set 7 for Innovation Pack 2013 is Available

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


Apart from various bugfixes, including the Open UI and Mobile Applications realm, the patch set includes changes to the eScript ST engine which are described in document 1668366.1.

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

יום חמישי, 1 במאי 2014

Siebel Open UI: A Form Apart

Time for another Open UI adventure. In this article, I would like to show you the results of an experiment.

If you watch the Siebel Open UI space attentively, you are sure aware of the introduction of presentation models and physical renderers for views in monthly patch 8.1.1.11.3. And this is exactly what I tried.

What I had in mind was a way to select a record in a list applet of a parent list view (e.g. the "My Accounts" view) and to view details about the record in a form nearby. Of course there is a form applet at the bottom of the view, but what if the end user has clicked the Show More button in the list and needs the information on some other location on her or his screen.

Let's see a screenshot of my experimental solution:

Click to enlarge
 As you can see, the form applet is no longer bound to the bottom of the view. It (or to be more precise, its content) is now displayed in a jQueryUI dialog so the end user is free to move it around, resize it or close it.

What can not be seen on the above screenshot is that the dialog content is refreshed when the user selects a different record in the list.

Another benefit of this solution is that we reuse the existing form applet layout, so we can use Siebel Tools to design the form instead of having to create a form "on the fly". Thus, we save a lot of lines of code.

And here are the steps to implement this (remember, you must apply at least patchset 8.1.1.11.3 for this to work).

1. Create and register a custom view physical renderer extension

Physical renderers (PRs) for views are not really different from PRs for applets. Here is the template I created to get started quickly:

Click to enlarge
If you compare the above code with an applet PR, you'll find that it has the same methods apart from the SetRenderer method.

As fellow Open UI journeyman Jan has pointed out in a previous article, a view PR's Init and Setup method are invoked before the preload event. The SetRenderer method is called after preload but before postload. The EndLife method is called when the user leaves the view.

To register a view PR, you follow the same steps as for any custom file. But of course you choose a view instead of an applet in the manifest administration view. The screenshot below shows my two "victim" views, namely the Quote List View and the Account List View.

Click to enlarge
Both views are now associated with my custom physical renderer file.

2. Implementing the "form in a dialog"

The following code shows the SetRenderer method with my approach to display the form applet of a parent list view in a jQueryUI dialog.

Part 1. Click to enlarge

Part 2. Click to enlarge
The code does the following:

  1. Get the applet map of the current view.
  2. Loop through the applet map, store business component names and count list and form applets.
  3. For the form applet, get the presentation model and the element id.
  4. If the view has only one list and only one form applet which are based on the same BC, we have a parent list view and can start creating the dialog.
  5. To get the form applet's content, I refer to the table.GridBack selector which represents the main content table of a form applet without the title and buttons.
  6. The HTML of the main form is wrapped within a DIV element for easier identification.
  7. Now we can use the jQueryUI dialog widget to create the dialog proper.
  8. To ensure the dialog content is matching the current record, we attach to the ShowSelection method of the form applet PM.
  9. When the ShowSelection method is executed, we can loop through the form applet's controls and populate their identical twins in the dialog with the formatted field values.
  10. Finally we set the dialog fields to read-only and hide the original form applet.

Summary

Using a custom physical renderer for a view, we can release content displayed in that view and display it in various ways. The above example showed how to accomplish a "floating form applet" in a parent list view.

And because you were patient with me and imbibed the article until here, you can now download the full code example:

View PR Template
Floating Form PR

have a nice day

@lex

יום שני, 28 באפריל 2014

Siebel Open UI: Default Applet Override

One of the lesser known facts about Siebel Open UI - as of Innovation Pack 2013 which introduced database-stored manifest data - is that we can not only register JavaScript files (or web templates) with specific user interface objects but also create default entries for them, so the files will be loaded for each object of the same type. Something we could call a "global override".

Using a global override is superior to using the postload event handler which might soon become bloated with all the stuff you want to achieve on non-specific objects.

Recently, I had some time to investigate this feature a bit more closely. Some of my dear readers might remember the "See-Through Applets" which involves a double-click event handler. When a form applet is double-clicked, the labels are replaced with metadata from the business component layer. Another double click reveals the table and column names where the data is stored. The final solution I presented used a postload event handler.

You can find a detailed description of the see-through applets here and here.

Siebel form applet in "see-through" mode ;-)
So let's see how I adjusted the see-through applet code to work with a global override. The goal was again to enable the functionality on every form applet with a minimum effort.

1. Create a physical renderer extension

The first thing I did was to create a physical renderer extension file. Just the "normal" thing

2. Register the custom file as a default entry

Next, I followed the usual steps to register the file in the Manifest Files view of the Administration - Application screen.

In the Manifest Administration view, the big difference was to query for the seeded DEFAULT FORM APPLET entries in the UI Objects list and copy the existing entry for the Physical Renderer usage type.

Then I proceeded to add an expression and my custom file (as usual). Here is the result:

Click to enlarge
The Open UI framework will read all entries and ensure that the as-delivered files and the custom overrides are loaded whenever a form applet needs to be renderered.

3. Implement the double-click handler

Now I was able to migrate the code which defines the double-click functionality from my custom postload event handler to the new default physical renderer extension's ShowUI method. In fact I could comment out some lines as it was no longer necessary to establish a "connection" to the form applet. Another benefit of staying inside the framework ;-)

The ShowUI method of the override physical renderer. Click to enlarge.
4. Test

I retired (i.e. commented out) the code in the postload event handler and reloaded the browser cache and voilá, the same as before but without extraneous code in the postload event handler.

Summary

"Global overrides" or default entries are a great alternative to clogging your postload event with JavaScript code. At the time of writing, there are various seeded default entries for form, list and tree applets which you should copy to create your custom default entry. Future versions might see other default entries such as for views.

have a nice day

@lex

יום שישי, 25 באפריל 2014

Looking for a Siebel Job?

In association with Bruce Daley's Siebel Observer publication, the Siebel Essentials blog now supports Siebel job seekers around the world with a simple submission form on the sidebar.


So if you are looking for a Siebel job, please fill in the form on the sidebar or here and submit it. The information you enter will be processed by the Siebel Observer. Bruce asked me to pass on the following message.



Are You for Real? 

Yes I am an actual person and not a brand. I am real and even have been quoted in the Wall Street Journal, the New York Times, and the Financial Times of London about Siebel. Much as I like software bringing people together is something I like even more. Back when I was a kid I was always introducing best friends to one another. After college I introduced a lot of future husbands and wives to each other. Now I am turning my attention to helping people with Siebel skills find openings.

Lately I have been thinking a lot about employment and believe jobs is an issue world wide. This is my attempt to make things easier for people to find the work they need to lead happy, secure, productive lives.  

Help me help you

I truly believe that through grassroots word-of-mouth marketing we've created the best job site for Siebel talent in the world. But that has only happened from people passing on this information to friends, colleagues, and former colleagues who are either actively looking for a new position or are currently employed and looking to move forward in their careers.

I'm always looking for new ways to improve the connections I make and welcome advice on how to make my efforts more effective. Drop me a line if you have any thoughts about how to do this, or the Siebel job market, or anything else I can help you with.

In the meantime use the form found here on Alex's site to help me help you.

All the best,

Bruce Daley
Editor, Siebel Observer

have a nice day

@lex

יום חמישי, 24 באפריל 2014

April Repost: Requirements Analysis

Time for our monthly blast from the past. Below is a five year old article which I believe is timeless, especially in times of Siebel Open UI (scripting). Please enjoy...

(Note: Links have been slightly updated)
***

This is a follow-up post (and the first in a semi-series) on the scriptless Siebel challenge.

Question: Why is so much script code written in Siebel projects?


Possible answers (not a complete list, add your own...):
  • Developers are used to write code (we have been coding since Siebel 99, haven't we?).
  • Workflow, Business Rules, etc are nice but they are difficult to learn/manage and we don't have time to evaluate solutions.
  • Architects and developers don't know that alternatives exist.
As we all agree, the best time to avoid writing custom code in standard enterprise applications is design time. So it's the responsibility of the business analyst or technical architect to design a code-free solution for a given requirement.


Back in the Siebel days (and also today in Oracle days) we spent a lot of time and effort to develop and deliver trainings for business analysts. During these trainings we teach a process based approach to gather and analyse requirements. A business analyst or technical architect involved in a Siebel CRM project needs many skills. Analytical thinking, process orientation and a strong knowledge of the product features is key to a successful design phase.

You might want to read more about business process analysis here and here.


Starting with the high-level process, the business analyst should collect the information and requirements for each step of the process. As the requirements become more detailed, they have to be analyzed whether the standard application ("vanilla", "out-of-the-box") meets those requirements.

We can depict a process for analyzing requirements as follows:



You can minimize the amount of script code dramatically when you apply this simple decision process to any functional requirement.
  1. Evaluate whether the requirement can be met by using out-of-the-box (OOB) functionality.
    Examples: Export data to Excel (List Applet), modify the tab layout (User Preferences), save records as a template for others (Quick Fill Templates), predefined queries to name but a few.

  2. If there is no OOB solution (a gap situation), there is a high probability that you will find an administrative way to modify the application behavior.
    Examples: Audit Trail, State Model, Activity Templates, Business Rules, Data Validation Manager, Personalization, Runtime Events and everything else you can manage using the administrative screens.

  3. There are still many requirements left which you can meet by declaratively configuring the application using Siebel Tools.
    Examples: Create/modify applets, views and screens; set default values; define user properties; create workflows, etc.

  4. The (possibly very small) remainder of the requirements can be met by adding the missing functionality by writing script code. The best possible place for your code are business services. Applying industry best practices and using standard business services wherever possible limits the amount of script code that you will have to manage.
have a nice day


@lex

יום רביעי, 23 באפריל 2014

System Activity Object - Email Activity of new business Component


This might be a common knowledge that Siebel creates an activity record when you send an email out using F9 functionality. You can see these activities either in Communication Screen” –>Communication List View (shown below). It shows you the body of the email, attachments and details like who sent the email out and to whom the email was sent.
image
You can also go to Activities Screen – Activity List applet ->All Activities view and query for activities of type Email – Outbound (shown below) and see the similar details.
image
Now what is interesting is that if you send these emails out from Opportunity, Service Request or Accounts view Siebel automatically populates corresponding Id of the record resulting in creation of relationship with the communication (activity record) and the source record from which communicationwas initiated.

image image
This happens behind the scenes and you don’t really have to do anything to make it happen. Now if you wanted same thing to happen in case email was being sent from a custom Business Component then you would have to understand how it happening? As the the title of the post says it happens through “System Activity Object”.
Go to your Siebel Tools and open the Options –> Object Explorer to add “System Activity Object” to your visible object list and you would see something like this
image
Now, All you need to do is add you custom business component and provide the id field that you would like to store based on which your relationship will be derived as shown below
image
You can use 6 Id fields available to you and store additional data corresponding to that entity including the Contact Id , Account Id tied to that particular entity which allows you to show relatedcommunication under contacts and accounts.
I would like to thank “Ankush Sood” for providing idea for this post. Questions and comments are welcome. I hope this helps!!

יום שני, 21 באפריל 2014

RIP Siebel Management Server (and Agent)

It is with mixed feelings that I share with you Oracle Support document1640801.1. Titled "Siebel Management Server Support Statement of Direction - Siebel CRM Innovation Pack 2014" the short article announces the de-support of the Siebel Management Server and Siebel Management Agent as of IP 2014.

The typical answer I get when I talk to Siebel admins and developers is that they "installed it once" or "must use it for ADM". Overall, the management infrastructure - developed before the Oracle acquisition by Siebel Systems and first shipped with Siebel 8.0 by Oracle - did not get much love from the community.

Personally, I assisted some customers in setting it up, mainly for ADM (Application Deployment Manager) purposes, and I also dedicated a chapter of my first book to it. The configuration process was complex to say the least.

As some of you might remember, the management server also included the Siebel Diagnostic Tool which was soon to be sunsetted as of version 8.1.1. Here is a nostalgic screenshot:


Pulling SARM data through the management agents and aggregating it in a browser console was certainly a good idea but Oracle is promoting its own Enterprise Manager and Realtime User Experience Insight (RUEI) to be more up to the task of performance monitoring and diagnostics.

In the aforementioned article, Oracle also announces to provide a replacement for centralized migration of customizations with Enterprise Manager.

In the meantime, customers can still use the "light-weight" variants of ADM, that is using manual or workflow-backed processes to export and import the data.

have a nice day

@lex




יום חמישי, 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

@lex

יום שני, 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 8.1.1.11 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

@lex

יום חמישי, 10 באפריל 2014

Siebel Open UI: Enabling Drag & Drop in Calendar Views

If you have applied the monthly patch set 8.1.1.11.4 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

@lex

יום רביעי, 9 באפריל 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

@lex

יום שלישי, 8 באפריל 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 ;-)

@lex

יום שני, 7 באפריל 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

@lex

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 8.1.1.11.6 and 8.2.2.4.6 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

@lex

יום חמישי, 3 באפריל 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 8.1.1.11 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

@lex

יום שלישי, 1 באפריל 2014

New Language Packs in Siebel 8.1.1.4.14

Beginning with the next patch release 8.1.4.1.4, 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 8.1.4.14, 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.

Summary

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

@lex