Agent Console Extensions

AddIn Post-Build Event v2


When building add-ins it's helpful to copy the compiled DLLs to the RightNow dev mode folder so that they're ready for development testing. If you then automatically create ZIPs of the output then you're ready for production deployment without any additional effort. (This is assuming you publish your add-ins as ZIPs and not DLLs.)

What does "Invalid SAML assertion in security header" mean?


If a profile doesn't have Session Authentication checked and an add-in tries to make a SOAP request (using a connection prepared with session authentication), an error reading "Invalid SAML assertion in security header" will be shown and the request will fail.

Properly Disposing of Workflow Add-Ins

Even an exceedingly simple add-in, in this case a label and a message box, can have significant side effects when paired with workflows.

In the video you see that each time the workflow loads a workspace the message box is displayed an extra time. This is because the previous versions of
the add-in still exist and are being loaded even though they are no longer being displayed.

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:


Disabling automatic re-sizing of workspace add-ins

The Problem

You want to add a control to the table that so often exists at the top of a workspace. So you create a label and a workspace config to allow it's width to be adjusted. You then meticulously count pixels until your label fits perfectly with the other labels already in the column. (This could probably be considered a defect, or at least a very nice to have enhancement). However, once you load your workspace with a record the size of your label is off.

Workspace Config

The Case of the Disappearing Navigation Section AddIn

On a recent project many agents reported issues with their CX Desktop because a very, very important component was mysteriously missing. This particular component was a Navigation Section AddIn that enabled an important integration with the client's external systems. After a lot of time spent triaging and debugging, we finally found the reason why this AddIn would disappear from some agent's consoles.

Catching Requests Rejected by the F5 Security Module

The F5 is a security layer that filters all incoming and outgoing traffic to any site hosted on the PS pod. Yes, all traffic. If it sees anything it doesn't like, based on some secure, cryptic string parsing rules, it will reject the entire request, kick back a 503 error (for some reason), and puke out an ugly HTML page with a long support ID.

AddIns - The Fragile Nature of Workspace Configuration

Workspace configuration settings allow an administrator to set specific values for your add-in based on the workspace that it's placed on. For example: if you have a control with a label you could expose the label text as a configuration setting so that administrators could change it without needing you to re-compile your add-in. String, bool and int types are supported by the attribute.

AddIn - Status: Toast


I think at this point it's been accepted that Toast Notifications are quite irritating,
and after 20 years of internet usage people are amazingly good at killing pop-ups without reading them, but regardless of all that
here's how to make a toast notification from a Status Bar add-in.

AddIns with DotNetBar


It's possible, with a bit of effort, to make add-ins look like they are standard controls within CX instead of ugly WinForms shoe-horned into an otherwise fairly attractive application. Doing so can greatly improve the reception that your add-in receives from the business side of a project. CX is written using a control library called DotNetBar and add-ins using this library can use much of the same functionality and theming that CX uses. There are however a few catches (as usual):


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