ClickOnce and the CX Launcher

Working on some yet to be released features for the CXDev Toolbox I have come across a lot of interesting details around the ClickOnce installer and the CX launcher. This article won’t be relevant to a large number of users, but for those few who are hacking around this is for you.

Async CPMs and Interface Configs

CX Version: 

When using async CPMs, DO NOT leverage interface configs. An async CPM may run on any of the site's interfaces, regardless of which original interface triggered the logic! Oracle states that this is "working as designed," meaning they are unlikely to fix this issue anytime in the near future.

cURL and Async CPMs

CX Version: 

If you are using cURL in an asynchronous CPM to post data to an external endpoint, beware. Calling the \load_curl() method will usually load the cURL library, unless the back-end SPM process that runs your particular instance of the CPM already loaded the library! In this case the CPM will fail, in what appears to be an inconsistently reproducible way.

Get in the habit of wrapping your \load_curl() method like this:

if (!function_exists("\curl_init"))

Customizing the Chat States of the Syndicated Conditional Chat widget

For many customers, the default chat service States displayed by the Oracle Service Cloud Syndicated Conditional Chat widget do not meeting their business needs. A common desire is to have the chat link be available, even if all agent's are busy. This gives the user a chance to wait in the queue if they want.

This can be done easily by setting the 'min_sessions_avail' setting to 0, and the 'wait_threshold' setting to a very high value. I usually put it at 1 day by setting it to 86400 seconds.

Security Vulnerabilites in Customer Portal pagesets

If your Customer Portal site has a "mobile" or "basic" directory and associated pages in your "views/pages" directory your site might be at risk; especially if you don't use these pages! For nearly all sites created since the release of CP2, this will be the case unless you've taken manual steps to remove them.

New Site Feature: CX Features by Version matrix

Today I published a document that I've been working on for a while; my hope is to extend the benefit I receive to everyone else in the community. This document is a list of Oracle RightNow CX features by version. This will be a living page permanently in the left-hand navigation of As new CX versions are released, the document will be updated accordingly.

SAML Knowledge Roundup


RightNow + SAML is a pain, impossible to debug, but possible to do. The following is a running collection of tips and knowledge around implementing SAML in RightNow

Changing Polling Intervals on Syndicated Conditional Chat

One item that is not exposed in Syndicated Conditional Chat's initialization parameters is the polling interval. The interval is unfortunately hard coded into the widget, but this doesn't mean that you can't control it. There is a widget initialization parameter named "enable_polling"; when this value is set to "false", the widget will not poll the server. This then gives you the chance to write your own polling logic using the syndicated widget frameworks Event system.

This works by subscribing to 2 events

Passing search filters to multiple reports on a page with a sidestory of page name lessons learned (i.e. what not to name your Customer Portal page)

I recently learned a hard lesson about page names in Customer Portal. In my case, I was building a report search page that contained a bunch of filters and a Grid widget that showed the results of my report search. Not thinking twice about it, I named my page "search.php" so that its URL would be

Defect - Forcing Password Reset via SOAP

CX Version: 

When creating or updating an Account through the SOAP API you can specify that the user needs to change their password on their next login.
This is generally used when an administrator resets a password and wants the new value to be only good for a single use. When setting this
flag and a new password through the API though there appears to be a product defect: only the password gets set, the reset flag does not.
Setting either independently works, just not together (as you often would).


Zircon - This is a contributing Drupal Theme
Design by WeebPal.