CP3

Parsing XML in RightNow PHP

RightNow's PHP build is different than most PHP builds you've encountered. It excludes useful extensions that are assumed to be available by most developers including:

  • SOAP extensions
  • Multibyte String extensions
  • XML Parsing extensions (SimpleXML)

Note: Expat is available in most builds, but it is a very "special" XML library that is event based instead of tree/DOM based. I personally would rather feed my fingertips to the wolverines than use it.

Using cURL in Customer Portal (CP3)

It is possible with most Customer Portal sites to make outbound HTTPS/HTTP calls to external services using the PHP cURL library. CURL is installed and available as a PHP extension that can be dynamically loaded in your scripts.

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

Registering Hook Handlers for a Subset of Pages

I've found on recent projects that I want to use the Customer Portal hook system to register hook handlers, but want to restrict the execution to only certain pages (or triggered by other conditions). Turns out this is very easy to do as hook handlers are registered in the config/hooks.php file using very standard PHP code. Because there is no DSL (Domain Specific Language) you can use any other PHP statement you desire in the config/hooks.php file and it will be evaluated and executed whenever a request is made to the Customer Portal.

Updated: SP5 (in CX 13.2) Commit Bug w/ active CPM

Updated 2013-12-17: Additional tests found that this issue only manifests when a CPM is active on an object. The post has been updated to reflect the new findings

Supplying Contextual Report Filters to CBO Reports in Customer Portal

In Customer Portal you may notice that much of the content is supplied by Analytic Reports that are filtered by the ID of the logged in Contact. An example of this is the list of submitted Incident's found on the Account Overview page (/app/account/overview).

The framework automatically adds a Contact ID filter for Incident type reports as well as Answer type reports. Unfortunately this contextual filter is not automatically added for any other object types.

Creating Custom Page Meta Tag Attributes in CP3

Page meta tag attributes are a Customer Portal feature that allow a developer to establish page behaviors in a declarative fashion. A meta tag is placed at the top of every page (/views/pages) and behavior is defined through the addition of attributes and attribute values. Except for very rare cases, each page has a page meta tag.

A typical meta tag looks something like this:

CP 3.0 Nested Custom Widget Deployment Bug

In CP Framework Version 3.0, nested widgets behave differently depending on whether you are in development mode or staging/production.

Fixing a CP3 bug where Proactive Chat can't pass Custom Fields to the Chat Landing page

I recently encountered an issue with Proactive Chat in CP that wasted a good 4 hours of my time and resulted in being a bug in the framework. According to Oracle, this should be fixed in Feb 13 SP3... but as a general rule I don't believe anything Oracle says until I see it happen.

In the meantime, there is a fairly easy fix through a simple customization of the ChatServerConnect widget.

This article will describe the bug, and provide details on the interim fix.

Creating Custom Widgets in Customer Portal Framework 3

Customer Portal Framework 3 has a nice feature, which allows developers to quickly scaffold widgets using an admin GUI.

Pages

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