Cascade Picklists with Workspace Rules

My requirement was to create in a Custom Object two picklist fields, one of them being dependent of the other i.e. I needed to restrict the values of Menu2, based on the value selected in Menu1.

First step is to create two Menu-Only custom objects:

  • Go to Database Object Designer open package CO
  • Click New on the ribbon and chose Menu Only Object
  • Give a name to the Menu-Only Custom Objects and add the values (values can be then added/updated through the Customizable Menus)

I created CO.Menu1, with values “Language” and “Employment Status”
I created CO.Menu2, with values “English”, “French”, “German”, “Part Time”, “Full Time”, “Unemployed”.

Second step is to create two fields, type Menu in my Custom Object:

  • Select your Custom Object and choose the Fields tab (on the ribbon)
  • Click Add New Field button and choose Menu type
  • Give a Name to the field
  • Choose CO.Menu1 (or CO.Menu2) from the Menu Field Settings

After all these changes on the Object Designer, save and deploy (buttons on the ribbon).

Third step is to add the two fields to the workspace:

  • Go to Application Appearance Workspaces and open your workspace
  • Click the Insert Field tab on the ribbon and drag the two new fields to the workspace

Fourth step is to create the Rules:

  • Click the Rules tab on the ribbon and click Add Rules
  • Create the following two rules:

If Menu1 = “Language” then set Menu2 to include “No Vale”, “English”, “French”, “German”
– Trigger = Apply this rule when a field changes (field “Menu1”)
– Condition = But only if a field as a certain value (Menu1 equals “Language”)
– Then = Set menu field to include menu items (Menu2 to include “No Vale”, “English”, “French”, “German”)

rule1

If Menu1 = “Employment Status” then set Menu2 to include “No Value”, “Part Time”, “Full Time”, “Unemployed”
– Trigger = Apply this rule when a field changes (field “Menu1”)
– Condition = But only if a field as a certain value (Menu 1 equals “Employment Status”)
– Then = Set menu field to include menu items (Menu2 to include “No Value”, “Part Time”, “Full Time”, “Unemployed”)

rule2

Custom Fields – Input Masks

Input masks are defined patterns that determine the format of information that can be typed in a text field.

Input masks are useful for preventing data entry errors when a text field has a specific input format that must be followed (for example, a phone number that must include parentheses and a hyphen, or an email that must include a @ and a ‘.’).

To define a mask pattern, two characters are required to represent one character or digit in a masked text field:

  • The first character does not display in the masked text field, but acts as a rule to define the acceptable input format.
  • The second character displays in the masked text field and acts as an input hint for staff members and customers.

The following table describes the first and second characters that define mask patterns:

im1

In a masked text field, the # symbol signifies a numeric character and the @ symbol signifies an alphabetic or non-numeric character. Formatting characters, such as spaces, hyphens, and parentheses, are static so staff members and customers cannot replace them with other characters

im2

Important Note: When the field is added to the workspace, the mask will appear to help the used fulfil the value. It will not let the user input numbers when letters are required or vice versa. The formatting characters will be fixed and cannot be removed, and the upper/lower case letters are entered even if the user does not ise caps lock or shift keys.

im3

When the field is exposed to the Customer Portal, the mask will appear below the field as an expected input.

hint_true

If you don’t want the mask to appear in the Customer Portal, you just have to edit the page and change the PHP code as follows:

<rn:widget path=”input/CustomAllInput” table=”incidents” always_show_mask=”false”/>

hint_false

Custom Fields

Custom Fields are created in the knowledge base to allow the collection of business-specific information, to best meet the organization’s needs.

After being created, custom fields can be added to workspaces and scripts, be used as search filters in reports, or as audience filters in RightNow Marketing and RightNow Feedback.

When creating a custom field, Admins can specify whether it is visible and editable on the Agent Desktop and, for some custom fields, visible and available to gather details on the Customer Portal.

Admins can also specify a data type for the field, choose whether the field is required or not, and set a default value.

Text field data types allow you to create an input mask to require that information entered in the field matches a defined format.

When Admins add or edit custom fields, those modifications may be completed in real time or scheduled and performed in the background.

cf1

Custom field visibility

When adding custom fields, there are several visibility options. The visibility options define where and how custom fields are presented on the Agent Desktop and the Customer Portal. For example, you can make a contact custom field visible to staff members when adding an incident, but restrict their ability to edit it.

Custom fields with end-user visibility are displayed on the Customer Portal. If you display a custom field that is not editable by customers, it does not appear on the Ask a Question page. There are other ways to determine visibility on the Customer Portal, such as widgets and page code.

Answer, incident, contact, opportunity, organization, sales quotes, and tasks custom fields must also be added to the appropriate record’s workspace.

The Admin Edit visibility setting must be selected in order for a custom field to be available to add to workspaces and scripts. Once a custom field is added to a workspace or script, its visibility, read-only, and required attributes are determined by the properties set in the workspace or script.

cf2

Message Templates: Customize and Deploy Global Template

One of RightNow’s major new features on the November 2012 release was the Message Templates for notifications and emails. These are used to customize administrator notifications, administrator emails and contact emails. The messages are designed to support a broad range of business cases across a variety of implementations to communicate with staff as well as with contacts. Message templates let you quickly apply your organization’s brand across all of your messages and personalize message content to your target audience.

Message templates let you customize your administrator notifications, administrator emails, and contact emails for each interface. You can customize your message content, enable and disable notifications and emails, as well as define the message format as HTML or text. Message templates also let you quickly apply your organization’s brand across all notifications and emails, including RightNow CX service email.

Important Note: Staff members must have the Message Templates permission on the Administration tab of the Profiles editor in order to customize message templates.

mt1

The Message Templates editor contains the global template and a set of system-generated messages. Using an HTML editor you can edit the global template and the messages directly on the CX Console.

The global template contains the content that frames the message-specific content in each of your individual messages. Think of the global template as a wrapper for your entire set of notifications and emails. Using the HTML editor, you can standardize the design of your outgoing messages giving them all the same look and feel.

When you are ready to deploy your global template, your brand can be applied to a single message or across all of your messages.

mt2

The system-generated messages are sent to staff and contacts to support activities and events occurring throughout the system. Using an HTML editor, you can insert links that appear as clickable text and use merge fields to customize each message. The tools that display on the HTML editor are context-sensitive and are the logical tools you would use for the specific message you are customizing.

The message templates ribbon contains buttons for accessing the individual system-generated messages and for working with the global template, including viewing the live global template and editing and deploying the global template.

mt3

  • Show: The buttons in this group let you toggle between the different message types that are available.
  • Global Template: The buttons in this group apply to the global template that is used to apply a standard look and feel across all of your messages.

Customizing the Global Template

The global template contains the content that frames the message-specific content in each of your individual messages. You can standardize the look of your messages by inserting your own logo. You can also customize your headers and footers to display information that needs to be communicated in all of your messages.

In the middle of the global template’s HTML editor are two placeholders – one is an image placeholder and the other is a placeholder for the message-specific content. You can insert HTML above and below the placeholders. The global template, like all messages, is interface-specific.

mt4

Important Note: Since the system default global template cannot be restored from the Message Templates editor, we recommend that you copy and paste the original template’s HTML into a text file, such as Notepad, in case you need it at a later time. You can do this from the Source tab on the HTML editor.

To edit the global template:

1. Click the Configuration button on the navigation pane.
2. Double-click Message Templates under Site Configuration.
3. Select the interface you want to customize.
4. Click the Edit Template button on the ribbon.
5. To insert your logo or another image, double-click the image placeholder to the right of the content placeholder. The Image Editor window opens.
6. To edit the global template using the hyperlinks, buttons, dynamic content, and other features available on the HTML editor.
7. To customize your header and footer content, type above or below the placeholders.
8. To discard your pending changes and revert to the most recently saved global template, click the Refresh button.
9. To see the currently deployed template, click the View Live Template button. The content pane refreshes to display the version of the global template that is currently applied to all notifications and messages.
10. To spell check the global template, click the Spelling button on the ribbon.
11. To preview your changes to the global template, click the Preview tab at the bottom of the HTML editor.
12. Click the Save button to save your edits to the global template

At this point, your edits have not been deployed or committed to the database. Deploying the global template is necessary.

Deploying the global template

When you deploy the global template, you copy the version you are currently editing to the version that is sent throughout the system to the entire set of messages. Once you deploy, you still have the option to make changes to your global template because you have not committed anything to the database. It is also true at this point that you can no longer view the active version of the global template. Once you save, your deployed version is the only one you can see.

To make your deployed version active, you must commit your changes to the database by saving after you deploy. It is only after you have saved your deployment that your global template changes are active and are also applied to the entire set of active messages.

mt5

To deploy the global template:

1. After saving changes to the global template, click the Deploy Template button. A message asks you to confirm your decision to deploy.
2. Click the OK button. Your deployed version is copied to the version that is sent throughout the system
3. Click the Save button on the ribbon to commit your deployed version to the database.

Now, your deployed version is your active global template and is applied to your entire set of active messages.

To deploy the global template and the messages at the same time:

1. After saving changes to the global template, click the Deploy All button. A message asks you to confirm your decision to deploy the global template as well as all of your messages.
2. Click the OK button. Your deployed version is copied to the version that is sent throughout the system and all of your messages are labelled, “Pending…” under the description of the message. However, neither your deployed global template nor your messages are active at this point.
3. Click the Save button on the ribbon to commit your deployed version and all of your messages to the database.

Now, your deployed version is your active global template and is applied to your entire set of messages. Your deployed messages are also active.

Connect Web Services for SOAP: Create a Contact

After retrieving the WSDL and be aware of the API Operations you are ready to get, create, update and delete RightNow records through Web Services.

In this post an example will be presented on how to create a Contact. On the documentation available (Connect Web Services for SOAP) we can see the sample code and then adapt to our case.

To create a Contact we shall use the “Create” API Operation. The request message shall have:

  • An Envelope;
  • A Header;
  • A Body;

Envelope

<soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/&#8221; xmlns:v1=“urn:messages.ws.rightnow.com/v1_2” xmlns:v11=“urn:base.ws.rightnow.com/v1_2”>
[Include here the Header and the Body]
</soapenv:Envelope>

Header

Notice the AppID tag with the Operation name “Basic Create”

<soapenv:Header>
  <ns7:ClientInfoHeader xmlns:ns7=“urn:messages.ws.rightnow.com/v1_2” soapenv:mustUnderstand=“0”>
     <ns7:AppID>Basic Create</ns7:AppID>
  </ns7:ClientInfoHeader>
  <wsse:Security xmlns:wsse=http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&#8221; mustUnderstand=“1”>
     <wsse:UsernameToken>
        <wsse:Username>Username</wsse:Username>
        <wsse:Password Type=http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText&#8221;>Password</wsse:Password>
     </wsse:UsernameToken>
  </wsse:Security>
</soapenv:Header>

Body

Notice the Create tag and the RNObjects tag with the xsi:type = “Contact”

<soapenv:Body>
<ns7:Create xmlns:ns7=“urn:messages.ws.rightnow.com/v1_2”>
——<ns7:RNObjects xmlns:ns4=“urn:objects.ws.rightnow.com/v1_2” xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance&#8221; xsi:type=“ns4:Contact”>
———<ns4:Emails>
————<ns4:EmailList action=“add”>
—————<ns4:Address>example.email@rightnow.com</ns4:Address>
—————<ns4:AddressType>
——————<ID xmlns=“urn:base.ws.rightnow.com/v1_2” id=“0” />
—————</ns4:AddressType>
————</ns4:EmailList>
———</ns4:Emails>
———<ns4:Name>
————<ns4:First>FirstName</ns4:First>
————<ns4:Last>LastName</ns4:Last>
———</ns4:Name>
——</ns7:RNObjects>
</ns7:Create>
</soapenv:Body>

Connect Web Services for SOAP: API Operations

Operations represent specific calls invoked to perform specific tasks on the RightNow CX platform. Connect Web Services defines a number of operations which either accept or return one or more instances of RNObject.

CRUD – Create, Read, Update and Destroy

CRUD operations allow for the creation, reading, updating and deleting of objects contained in the RightNow CX system.

Return values:

  • Create and Get (Read) operations return a list containing 1 to N RNObjects.
  • Update and Destroy operations do not return a value upon success.
  • If a CRUD operation fails, a SOAP fault is returned.

API Operations

Listed bellow are the supported operations in Connect Web Services (that are included in the WSDL).

  • Batch: Sends a set of operations to the server in a single request.
  • ConvertGenericToObject: Converts a generic object to a typed object.
  • ConvertObjectToGeneric: Converts a typed object to a generic object.
  • Create: Creates one or more instances of objects which inherit from RNObject.
  • Destroy: Destroys one or more instances of objects which inherit from RNObject.
  • ExecuteMarketingFlow: Initiates a marketing campaign flow.
  • Get: Reads one ore more instances of objects which inherit from RNObject.
  • GetFileData: Obtains the binary data for a file attachment.
  • GetMetaData: Obtains all meta-data information for all classes.
  • GetMetaDataForClass: Obtains meta-data information for the specified class.
  • GetMetaDataLastChangeTime: Obtains the date and time of the last change to the meta-data.
  • GetValuesForNamedID: Obtains a list of ID-Name pairs for a specific NamedID field.
  • GetValuesForNamedIDHierarchy: Obtains a list of ID-Name pairs for a specific NamedIDHierarchy field.
  • QueryCSV: Processes a ROQL query string and returns data in a CSV result.
  • QueryObjects: Processes a ROQL query string and returns one or more objects.
  • ResetContactPassword: Invalidates a contacts password and emails a link to the contact that can be used to reset the password.
  • RunAnalyticsReport: Executes a RightNow Analytics report reurnning the data in a CSV result.
  • SendMailingToContact: Sends a transactional mailing to a contact.
  • Update: Updates one or more instance of objects which inherit from RNObject.

Connect Web Services for SOAP: WSDL Retrieval

Connect Web Services for SOAP is an open and standards-based integration API enabling developers to build integration solutions with RightNow CX that leverage industry leading standards such as WSDL 1.1 and SOAP 1.1.

Connect Web Services for SOAP is RightNow’s leading data integration API, providing broad out-of-the-box tooling support for a wide variety of languages, platforms, and tools.

Connect Web Services should be used to extend the functionality offered by RightNow CX and the ability to access data stored in the RightNow CX platform.

WSDL Retrieval

There are two WSDL files that provide access to Connect Web Services:

  • Standard WSDL – This WSDL should be used by application developers building integrations specific to their Oracle RightNow CX instance. The typed WSDL is a strongly typed representation of the Connect Common Object Model. The strongly typed WSDL can be accessed from the following URL:

http://<host_name>/cgi-bin/<interface>.cfg/services/soap?wsdl=typed

  • Partner WSDL – This WSDL should be used by application developers building integrations that function across multiple instances of Oracle RightNow CX. It provides the ability to work with Generic Objects that can be used across multiple instances of Oracle RightNow CX. The generic WSDL can be accessed from the following URL:

http://<host_name>/cgi-bin/<interface>.cfg/services/soap?wsdl=generic

(e.g. host name: interfacename.rightnowdemo.com)
(e.g. interface: interfacename)

Analytics: Dashboards

When viewing standard or custom reports, you generally open reports one at a time, and search for data in only the report that is active. However, you can view and search for data in several reports simultaneously by adding them to a dashboard. Each report in a dashboard retains the same functionality as if you opened the report separately, allowing you to access and work with a variety of data from one dashboard.

Dashboards are particularly useful for managers who need to view a wide range of data from different reports. Using dashboards eliminates the need to open a large number of reports individually. Using dashboards eliminates the need to open a large number of reports individually.

Dashboards are created and edited on the dashboard design centre by dragging reports to the dashboard, adding optional descriptions, images, text, and controls, and configuring display options.

To open the dashboard design centre:
1. Click the Analytics button on the navigation pane.
2. Double-click Reports Explorer.
3. Click the New Dashboard button to create a dashboard.

The following image shows the dashboard design centre.

img6

You can also add tabs to the dashboard to place additional reports and other content that may not fit on the dashboard’s main page. Each dashboard can have a maximum of 50 items placed on it.

If you add private reports to a dashboard, other staff members can view the reports when they open the dashboard.

Dashboard options allow you to select the time zone that should be used for the reports in the dashboard, change the dashboard owner, and modify settings that impact how the dashboard functions when it is opened for viewing. You can also configure automatic refresh of the data shown in the dashboard’s reports, select data source options, add notes to the dashboard, change the image displayed for the dashboard in report lists, and schedule the dashboard to be sent in an email.

You open dashboards just as you would open a regular report from the Reports explorer or one of your navigation lists. Dashboards can also be opened from links you add to reports. When you open a dashboard, it loads with current report data. You can also queue dashboards to view them at a later time.

The dashboard includes options similar to those accessed from the Report tab when viewing a report. The dashboard also includes docked filters that are common to the reports in the dashboard and may include tabs to access reports on other dashboard pages.

Since every report in a dashboard is fully functional, you can access the standard options available when viewing a report to sort columns, show or hide columns, and add column calculations. If the report and the permissions allow it, you can also access records listed in the reports or edit them inline.

When you open a dashboard, the dashboard’s ribbon includes Home and Page Setup tabs. You can use the options on these tabs to print the dashboard and adjust the dashboard’s display and output. When you select an individual report on the dashboard, the ribbon is updated to include additional tabs containing options for modifying the selected report.

The buttons available on the Home and Page Setup dashboard tabs let you open the Search window, refresh the display, select display options, forward the dashboard, configure print options, and perform other actions that impact the entire dashboard.

Dashboards can be queued to run at a later time just as reports can. Dashboards can be manually queued or automatically queued. Once a queued dashboard generates, you can view the dashboard using a standard report or a notification just as you can with queued reports. You can queue dashboards containing reports that you think may query or return large amounts of data. This is also helpful if you want to view a number of dashboards but do not want to wait for each to generate.

After you queue a dashboard, you can use standard reports located in the Reports explorer’s Public Reports > Common > Site Administration > Reports folder to see the dashboard’s status in the queue. Once the dashboard runs and is ready to view, you are notified and you can open it from several locations.

Analytics: Introduction to Analytics Explorers

The reporting features in RightNow CX are accessed through the RightNow Analytics explorers. From these explorers, you can create custom reports and dashboards, view standard and custom reports, and edit report styles, chart styles, colour schemes, images, and text fields to use with reports and dashboards.

Reports Explorer
Reports are contained in folders in the Reports explorer. These folders are in a tree structure and can be expanded or collapsed to hide or display their contents. Reports that are accessible by multiple staff members are contained in the Public Reports folder, and private reports that are accessible only to the staff member who created them are stored in the My Reports folder.

img1

Styles Explorer
Report styles allow you to quickly apply custom display settings to your reports without editing the underlying report. Styles can also help staff members use the same display settings for their reports so that all reports generated by your staff share the same appearance. You can easily create and edit styles to define the specific fonts, colours, borders, and margins which are most appropriate for your target audience.

You can edit style options for various components used in reports, such as text fields, column headers, exceptions descriptions, or entire report sections. You can also associate a custom chart style with your report style that will be applied to charts added to reports.

img2

Chart Styles Explorer
RightNow CX lets you create chart styles to define the appearance of charts shown on reports. By applying a chart style, you can immediately change a chart’s fonts, colours, scales, grid-lines  backgrounds, and other display attributes. The Chart Styles explorer includes several predefined chart styles, which you can apply to charts, and allows you to create custom chart styles. You can then apply the same chart style to charts in different reports to ensure that all the charts have a similar appearance.

img3

Images Explorer
Photos and other images can be uploaded to use in reports and dashboards. For example, your organization’s logo can be added as an image and then added to custom reports.

The images used with reports and dashboards can be added and replaced using the Images explorer. The ability to replace images is helpful when an image, such as a corporate logo, is modified. Once the image file is replaced, the reports and dashboards with the old image automatically use the new image.

img4

Text Fields Explorer
The Text Fields explorer lets you create text fields you can add to custom reports and dashboards. When you create a text field, you can specify the field’s text, fonts, borders, colours, and margins. You can also adjust these settings after you add the field to a report or dashboard.

For example, you could create a text field with your organization’s name, using your organization’s preferred fonts and colours, which you could add to your reports’ titles. Since the text fields can be edited once they are added to reports, you can also create a template text field with your customized settings and change the wording in the field as necessary.

img5

Cloud Monitor: Responding through social channels

Using the cloud monitor, you can add social media posts from Facebook, Twitter, and RightNow Community to new or existing incidents so they can be processed on the agent desktop.

You cannot respond to RSS feeds or YouTube posts through RightNow CX. However, you can create incidents from them, which can be helpful for other business purposes.

When you create an incident from a social channel, the content of the post is added as a customer thread entry. By default, the incident’s subject field will contain the name of the channel and the leading text of the post. Together exceeding no more than 240 characters. However, you can customize the subject field contents by editing the CLOUD_INC_SUBJECT_TEXT setting.

The method used to associate incoming social incidents with contacts varies by channel. Incidents created from a post in RightNow Community are associated with contacts based on contact email address. Incidents created from Facebook, Twitter, and YouTube posts are associated with a contact based on social media user name. If no matching contact is found, a new contact record is created and associated with the incident. Incidents created from RSS Feed or YouTube will be associated with a common generic contact.

The way you respond to social incidents also varies by channel. RightNow CX tracks each incident’s originating channel in the incidents.channel_id field and selects the same channel by default when you send a response. Each response is posted back to the contact using the unique messaging conventions of the originating media service.

Responding to Facebook posts
In Facebook, social conversations take the form of posts and comments on pages. While the cloud monitor allows you to monitor (but not respond to) posts from the public Facebook feed, you can respond to incidents created from customer posts on your organization’s Facebook fan page.

When you respond to a post on your organization’s Facebook page, the response appears as a comment beneath the post. The post is attributed to the name of the Facebook page designated by the channel account, rather than the agent’s name.

To respond to a Facebook post:
1. Perform a cloud search on a custom Facebook channel and view your search results
2. From the open cloud search report, select the post you want to create an incident from in the search results list.
3. Click the Respond button on the ribbon. A new incident opens on the content pane containing the details of the post
4. Select the Send On Save check box. The incident thread expands to reveal Facebook channel response options. The thread displays the name of the post’s originating channel and automatically selects the same channel for the response. The default channel account associated with the responding agent is also displayed
5. If your site has more than one Facebook channel account, click the Respond As dropdown menu in the header of the response thread.
6. Fill in any remaining details for the incident.
7. Click the Save and Close button on the ribbon.

Responding to Twitter posts
RightNow CX can create incidents automatically from private Twitter messages when you select the Automatically Create Incident option in the Twitter channel accounts editor.

To respond to a Twitter post:
1. Perform a cloud search on a Twitter channel and view your search results.
2. From the open cloud search report, select the post you want to create an incident from in the search results list.
3. Click the Respond button on the ribbon. A new incident opens on the content pane containing the details of the post
4. Select the Send on Save check box. The response thread header expands to reveal Twitter channel response options.
5. If your site has more than one Twitter channel account, click the Respond As drop-down menu and select the account you want to respond from.

Important: The channel account you respond from must include Private Message Response permissions. If the customer’s Twitter account is following your organization’s Twitter account, the Send Private check box will be visible and selected by default. You can clear this check box to post the message to the public feed. If the customer’s account is not following your organization’s account, the Send Private check box will not be shown and all sent messages will be public.

6. If your organization’s Twitter account is not yet following your customer’s Twitter account, click the Follow button.
7. Type your response in the response thread. Remember to limit each response to 140 characters, the maximum number allowed by Twitter.
8. Fill in any remaining details for the incident.
9. Click the Save and Close button on the ribbon to send the response through Twitter.