Code Snippet

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.

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.

Determining the URL for an interface

Occasionally you need to determine the domain name for an interface in RightNow CX. This guide will show you how to do that even if the interface is using a vanity URL (custom CNAME).

Determining Environment at Runtime

When creating customizations in Customer Portal (CP3), it is important to remember that your code needs to run not only in Production, but should also be engineered to run in a "Clone" environment without modification. This is especially important with integrations to external systems. You wouldn't want non-production data being passed to an external production system.

AddIns - Add items to interfaced lists

Within the AddIn Framework there are a number of lists on workspace contexts that contained an Interfaced type (something along the lines of IList<IInc2Contact>). In early versions of the framework there was no way to actually create an instance of the object, so to be able to add a single item to the list you had to implement the whole interface. There is another, largely unknown, option however for a number of supported interfaces:


AddInViewsDataFactory.Create<T>()

Setting custom fields via SOAP - The Better Way

After a fairly significant rant about the difficulties that go into setting a custom field or attribute on a base object
(Setting custom fields via SOAP) I figured it's past due to come up with a reusable solution.

I've created two extension methods for the base RNObject class: GetCustomField(string fieldName) and SetCustomField(string fieldName, object value, DataTypeEnum typeEnum).

Usage is dead simple:

Force Reset and the SOAP API

This error/quirk was originally found by Ben, but I thought it was worth posting about just for future reference.

PHP Stub Classes for Connect PHP 1.1 (Updated)

One of the many wonderful things about IDE"s is the ability for automatic code completion. Many IDE's support this feature by utilizing PHPDoc code commenting, including Netbeans and Eclipse. Oracle Development hasn't been so kind as to offer ConnectPHP class stubs, so up until now code completion for ConnectPHP has been non-existent. This bugged me for a long time, but I finally decided to do something about it; using PHP Reflection, I was able to generate PHP Class stubs for the entire API. By downloading the class stub file and putting it in your IDE project's sources folder, you will magically get code completion for ConnectPHP!

Pages

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