Knowledge Base Search – How does it work?

This is a question that several of our customers have asked us, when they start to build their own knowledge base of answers, to enable customer web self-service.

The knowledge base search (knowledge foundation) is not a simple mechanism. That is why it is so powerful, intelligent, dynamic and self-learning.

A picture is worth a thousand words, so I decided to put together a diagram that depicts the process, and below leave you with a few definitions to be better understand the different components.



When a search is performed, each keyword and/or phrase entered by the customer is compared to the contents of the answers.

The Weight is a numerically calculated value, based on the number of occurrences, capitalisation, and location of a word. It is equal to the sum of the weights of all the matched words from the search.

The location of the word is important. It is ordered and weighed as per the diagram – e.g. words that match the Summary field will have higher weights than those that appear in the Answer field.

Computed Score

The Computed Score of an answer is usually the same as its Score, unless its Display Position is set to fix it at top/bottom. In that case, the Computed Score is calculated using the score of the answers located at the top or bottom of the list.

To better understand, if a new answer is created, and set with Display Position = “Fixed at the top”, once it is published, its Score will be zero, but the Computed Score will be larger than the highest score for all the published answers.


The Score is a calculated value that ranks the order of answers, and indicates the usage of the answer, as well as how helpful that answer has been to customers. It is calculated based on the Solved Counts:

  • 75% of the score is based on Solved Count, linked to customer usage
  • 25% of the score is based on Solved Count, linked to agent usage

An answer with a large score indicates that several customers (and/or agents) have viewed that answer and that the answer was somehow useful to them.

Solved Count

The Solved Count collects information about the usefulness of answers in the Knowledge Base. Two types of data is gathered:

  • Implicit data – compiled by how customers select and view answers. If a customer views an answer, the solved count of the 1st answer is increased, but not as much as the 2nd viewed answer. In other words, the answer that the customer views last receives the largest solved count increase.
  • Explicit data – compiled by how customers rate individual answers – from the responses to the question “Is this answer helpful?


Data Import – The Limitations

Oracle Service Cloud (OSvC) comes with a data import capability to allow us to migrate data from legacy systems or databases into the OSvC database in the cloud.

Data can be migrated using data files with various types of delimiters – the most commonly used is CSV (comma-separated value).

It is possible to import data into most primary standard and custom objects, and associated secondary objects.

We can use the Data Mapping Templates map the columns in our files to the fields in OSvC database, and also set duplicate criteria.

To import the data, we can use the easy-to-use and intuitive Data Import Wizard, which not only allows import but also reports on success/failure.

It is a great and useful feature, but it has its limitations. Some of them, important to bear in mind, are:

  • Opportunity and Task objects are not supported. If you want to import records to these two objects you will need to use the APIs.
  • Importing data in to associated (secondary) objects – e.g. Message Thread on Incidents, Notes in Contacts – is allowed on create but ignored on update.
  • Products and Categories fields are not available for mapping when you are importing Answers. These have to be updated manually after import.
  • Special characters (e.g. apostrophe, commas) or words (e.g. “Union”) might cause record import to fail when they exist in lookups fields (e.g. Contact Email, Organisation Name).
  • Due to Incident reference number format (YYYYMMDD-xxxxxx) we are limited to the import of Incidents to 999,999 per day.

Apart from that, the Data Import capability seems to work well.

Data Import Bug

We recently bumped into a bug… When we were importing data into the OSvC instance of two of Capventis customers, the system started creating loads of duplicates, forcing us to stop the import, delete the records, and import back again.

Unfortunately this was happening again and again. And we were not even using loads of data. Our files contained a few thousands or a couple of tens of thousands of records. When trying to import a file with 5,000 records, the system was creating 15,000 or 20,000, and kept going if we didn’t cancel the import.

We reported to Oracle and, after many hours on the phone and emails exchanged with Oracle Support, they finally recognised the bug and promised to resolve in the next few patches or releases. Hopefully they will resolve soon as this is crucial to all our projects.

In the meantime the workaround we found was to break data files down in 500 records each. Otherwise, create tools that read CSV files and use the APIs to import data.

Data Import Performance

Some times the data import process via the Data Import Wizard can be slower than usual – obviously depending on the type and amount of data in your data files.

This can be fixed or improved. During the data import process the data in the data files is divided in batches that are processed one at a time.

If you feel the process is slower than usual you may want to reduce the number of records in each batch, by changing the value in the DATA_IMPORT_BATCH_LIMIT configuration setting.

The DATA_IMPORT_BATCH_LIMIT configuration setting limits the number of records processed in a single batch when performing a Data Import. Maximum is 5000. Default is 1000.

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.


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.


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.


  • 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.


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.


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.

Customizable Menus: Answer statuses

An answer’s status controls whether it is public and describes its state in the knowledge base. RightNow Service provides 4 default answer statuses, described in the following list. Every answer status is associated with a status type that is either Public or Private.

  • Private: The Private answer status prevents answers from being displayed on the administration interface and the customer portal. It is associated with the Private status type.
  • Proposed: Answers with the Proposed status are incidents that agents have submitted as potential answers for the knowledge base. Proposed answers are associated with the Private status type.
  • Public: Answers with the Public status are visible on the customer portal. Public answers have a Public status type.
  • Review: The Review answer status means the answer should be evaluated to determine if it is still necessary. An answer’s status is set to Review when it has been part of the knowledge base for a specified amount of time or when it’s solved count reaches zero. Answers with a Review status are associated with a Private status type by default.

If you delete a custom answer status, all answers with that status are changed to have either a Public or Private status, depending on the status type of the deleted answer status. For example, if you delete a custom answer status with a Public status type, all answers that were associated with that status are changed to Public status with the Public answer status type.

(Click to enlarge)
(Click to enlarge)

Customizable Menus: Incident queues

Using incident rules, you can route unresolved incidents into different queues based on the criteria you define. For example, you might add queues for different product lines or service areas. Or you might have a first tier for basic customer service and additional tiers for problems of increasing complexity.

(Click to enlarge)
(Click to enlarge)

When you create profiles for staff accounts, you can assign one or more queues to each profile and specify how incidents are pulled from that queue. Based on their profile, agents can retrieve a specified number of incidents from the queues to which they have access.

(Click to enlarge)
(Click to enlarge)

Queues also help you manage incident escalation to meet your organization’s SLAs, balance agent workload, and track agent productivity and efficiency.

The following steps provide an overview for managing queues:

  • Add queues
  • Assign queues to profiles
  • Create business rules to populate queues
  • Instruct agents about queues
  • Monitor queues

When you add an incident queue, you can define whether the queue uses a round-robin incident assignment and specify the queue as the default queue where unassigned incidents are routed. You can also delete queues from the Incident Queues editor. Before you can delete the incident queue, you must first edit the rules so they no longer use the queue.

Queue Type has the following options: Standard, Round Robin (All), or Round Robin (Logged In). A round-robin queue automatically assigns incidents in this queue to agents in a rotating fashion. If you select Round Robin (All), incidents are assigned to all staff members whose profile includes the queue, even if they are not logged in.

Customizable Menus: Incident statuses

An incident’s status is its state in the knowledge base. RightNow Service has 4 default incident statuses: Solved, Unresolved, Updated, and Waiting. Additionally, there are 3 default status types: Solved, Unresolved, and Waiting. You can rename the default statuses, but you cannot change their types.

Waiting status means that an agent has responded to the incident and is waiting for a response from the customer. If the customer does not respond within the time specified in CI_HOURS (Agedatabase Utility > Batch Processing > Close Incidents), Agedatabase sets the incident status to Solved.

(Click to enlarge)
(Click to enlarge)

RightNow Service can automatically set an incident’s status when agents send a response. This is a property of the Incident Thread relationship item that can be set when you create an incident workspace. The property is called Status Change on Response, and you can set it for one of the following options:

  • The status does not change when an agent sends a response.
  • The status changes to Waiting.
  • The status changes to Solved.

When you add an incident status, you must assign it to one of the three default status types.

If you delete a custom incident status, all incidents set to that status are changed to the default status with the same status type. For example, if you delete a custom incident status with the status type Solved, all incidents that were associated with that status are changed to the Solved incident status with the Solved status type.

Customizable Menus: Product linking

If your organization has large numbers of categories or dispositions, staff members and customers must review long lists of menu items to find appropriate options. You can simplify their choices with product linking.

When products are linked to categories, only the linked categories are displayed when customers select products on the customer portal or when staff members select products while working on incidents. When products are linked to dispositions, only the linked dispositions are displayed when agents select products for incidents. Product linking is a powerful tool for enhancing efficiency for both staff members and customers.

Product-category linking is independent of product-disposition linking, so you can enable one or the other or both.

However, implicit linking occurs between the parent levels of products, categories, and dispositions that are linked. Parent products implicitly contain the same links that the leaf products below them contain. In other words, a parent product’s links are “inherited” from their leaf products.

(Click to enlarge)
(Click to enlarge)

RightNow Service can automatically create links to categories and dispositions based on answers and incidents in the knowledge base, or you can manually define the links for each product. This action replaces all product-category and product-disposition links (including any you have created manually) with the automatically created links.

A link is created for every product-category combination of leaf products and leaf categories associated to answers in the knowledge base. In other words, in any given answer, every leaf product associated with the answer is linked to every leaf category associated with the answer.

A link is created for every product-disposition combination of leaf products and leaf dispositions associated to incidents in the knowledge base that were created within the last 30 days.

Manual links are created by choosing the product, right-click and select Edit.

(Click to enlarge)
(Click to enlarge)

Now that you have created links, you must enable product linking for them to take effect.

(Click to enlarge)
(Click to enlarge)

Product-category linking and product-disposition linking are independent, so they are enabled separately. You can enable either or both types of linking.

Product linking in RightNow Service is bidirectional. Besides linking products to categories and dispositions, you can also link categories and dispositions to products.

You might want a product to have the same category or disposition links as another product. In that case you can simply copy the category links or disposition links from the original product, and those links are applied to the product you are editing.

Product linking when working with answers: Regardless of whether “product linking” is enabled and regardless of what categories are linked to products, all products and all categories are available on the Products/Categories tab when you add or edit an answer.

When you select a product that has sub-products (including one or more levels of sub-products), all sub-products below the product you selected are also selected, all the way down to the leaf level. Any parent product levels are also selected implicitly.

(Click to enlarge)
(Click to enlarge)

Customizable Menus: Products/Categories/Dispositions

When you create custom drop-down menus with the exact options you need, staff members can classify incidents and answers using those options, and customers can select specific products and categories to refine their searches for answers.

Products and categories organize data in the same ways, and you can choose to use either or both when you configure RightNow Service. If you use both, incidents and answers can be organized into specific classifications, and customers can search for answers using product and category filters. You can create up to 6 levels each of products and categories and specify the number of levels agents must enter when working with incidents. It is not required to use products and categories.

An incident’s disposition refers to the way the incident is ultimately solved. You may want to require that agents select a disposition before they save an incident when they change the status to Solved. Dispositions do not appear on the customer portal. You can add as many dispositions as you need, and you can also add sub-levels of dispositions to a total of 6 levels.

(Click to enlarge)
(Click to enlarge)

Selecting the visibility settings for a parent level does not automatically set the same settings for the parent’s sub-levels. Visibility must be set individually for each. You can also make sub-products visible even if the parent product is not visible.

You can delete products, categories, and dispositions that do not have sub-levels. When deleting a product or other item that has sub-levels, you must delete all of the sub-levels first. You also cannot delete multiple products, categories, or dispositions simultaneously.

You do not receive a dependency conflict warning when you delete products, categories, or dispositions used in rules. Rules that use the deleted item may no longer function as expected, requiring you to edit the rules and reactivate the rule base.

In addition, you do not receive a dependency conflict warning when deleting products or categories that are used in answers. Answers that are associated with deleted products or categories may not display as expected.

Creating new users: Workspaces

The configuration tasks required when starting to use RightNow CX are:

  1. Create Navigation Set
  2. Create Workspace (optional)
  3. Create Profile (associate Navigation Set and Workspace with the Profile)
  4. Create Staff Account (associate Profile with the Staff Account)

Defines the way fields, tabs, buttons and reports are displayed on the content pane when working with records and when working with Chat.

The workspace determines the layout of fields, controls, and tabs on the content pane as well as the arrangement of buttons on the ribbon and the Quick Access toolbar.

Workspaces define the appearance of the agent desktop when staff members add, view, and edit records in RightNow CX.

(Click to enlarge)
(Click to enlarge)

RightNow CX provides a set of standard workspaces suitable for most common record maintenance, but also gives you complete flexibility to create custom workspaces to help your staff work more efficiently.

Custom workspaces are also used to provide your team with access to records stored in custom objects, which by definition have no standard workspaces of their own.

Custom workspaces are created on a workspace designer consisting of a ribbon and a design space.

The designer ribbon provides access only to fields, controls, and properties that apply to the workspace type. Controls specific to answers, for example, cannot be added to opportunity workspaces.

In addition, you can create workspace rules to dynamically change the behaviour of fields and controls based on certain triggering events.

The workspaces used by staff members are defined in their staff profile, with one workspace associated for each type of record the profile can access.

(Click to enlarge)
(Click to enlarge)

Listed next to each workspace’s name is its workspace type, based on the type of record it opens. The workspace type determines which fields and controls can be added to the workspace.

(Click to enlarge)
(Click to enlarge)

Creating new users: Staff Accounts

The configuration tasks required when starting to use RightNow CX are:

  1. Create Navigation Set
  2. Create Workspace (optional)
  3. Create Profile (associate Navigation Set and Workspace with the Profile)
  4. Create Staff Account (associate Profile with the Staff Account)

Every staff member who accesses or works in RightNow CX requires a staff account.

Staff accounts are organized in folders according to job duties or other criteria, though you can also define secondary groupings by manager.

When creating staff accounts, you specify information including, the account login, phone number, and assigned profile.

Profiles are created before creating staff accounts to define what products and information staff members can work with when logged in to RightNow CX.

(Click to enlarge)
(Click to enlarge)