Tutorials

How to open an External Page from a Syndicated Conditional Chat Link

I'm writing a quick article in response to a question I received on another post inquiring if it was possible to open an external webpage instead of a Customer Portal page when the "Chat Now" link is clicked. Using standard functionality, this isn't possible, but using the techniques I've described in my other Syndicated Widget articles we can modify the core behavior to match our requirements.

Duplicate Contacts and Unique Fields

In order to reduce duplicate contact records, it would be useful to be able to specify unique contact fields (such as mobile phone number, or a particular custom field), similar to how email addresses are handled as unique identifiers. If the client needs a full-fledged solution for this across their entire system, this is difficult to do from a purely technical level. Most clients simply train their agents to first search for existing contacts and have a business process for merging duplicate contacts when manually found in the system, which is good enough for most.

Fun with Cloud9 IDE and CP3

Today I had a bit of fun with Cloud9 IDE, which is one of the better cloud-based IDEs I've found. It is geared mostly towards front-end web development but has a fully functional Ubuntu OS underneath running in a Docker instance, so you can pretty much do anything.

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 CXDeveloper.com. As new CX versions are released, the document will be updated accordingly.

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

Custom RN Ajax Success Handlers

The RightNow Customer Portal website solution heavily utilizes JavaScript and AJAX features as part of its core functionality. While these features are very powerful, some otherwise simple development tasks become exponentially more complicated. One category of customizations I've historically struggled with was performing custom logic after a form submit has occurred. I've run into this type of customization many times; some projects need to dynamically redirect to a different page than the default confirmation page; others want to send some custom tracking to Google Analytics.

Verify Peer setting with RightNow cURL

When making an HTTPS connection with cURL, it is essential to validate the certificate of the host you are connecting to. While it is possible to turn off this verification using the CURLOPT_SSL_VERIFYPEER cURL configuration, it leaves your code vulnerable to man in the middle attacks.

Other developers I know (myself included) tend to turn off PEER verification while doing initial development because dealing with certs is often a PITA. I always tell myself, I'll just deal with that later; I have much more important business logic to write.

CPMs: Custom Process Management

Custom Process Models are perhaps some of the most useful features released for developers since custom objects in the Nov '10 release. We now have the ability to run server 'events' on both standard and custom objects. But when you start working with the Process Designer (under Site Configuration in the console) you will notice that the UI and deployment process is extremely clunky. This article describes how to setup a standard CP development cycle to upload code via WebDAV that is directly run in your CPM.

Retrieving Agent Info in a Browser Control

When building any Workspace in the CX Agent Console, Browser Controls are a powerful tool for integrating external systems and features seamlessly into the agent experience. Browser Controls display a configurable web page inside of the Workspace. Additionally, contextual data from the Workspace can be passed through the url to the web page.

Customizing the Knowledge Syndication widget

I've observed a couple of Knowledge Syndication widget questions popping up lately, so I thought I'd do a quick demo of how you can customize the behavior of the widget.

Customization via Config Options

As always, you can use the standard configuration options during widget instantiation. These are well defined in the CP admin panel and can be found a the following address (substitute in your domain).

https://interface.custhelp.com/ci/tags/syndicated_widgets/standard/KnowledgeSyndication

Pages

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