Add or Edit a Khoros Community Source

A Khoros Community source is an interactive community that enables users to share digital customer experiences on the Khoros platform. Members of a Coveo organization with the required privileges can add the source to index the content of their Khoros Community instance.

Source Key Characteristics

Features Supported Additional information

Khoros Community version

Latest version

Searchable content types

check

Communities, categories, boards, and discussions (also known as threads and conversations) including topics (texts and products), replies (answers, comments, and reviews), messages (also known as posts), and message attachments.

Content update operations

Refresh

check

Takes place every hour by default.

A rescan or rebuild is required to take account of deleted or modified items.

Rescan

check

Takes place every day by default.

Rebuild

check

Content security options

Same users and groups as in your content system

check

See Permission Account.

Specific users and groups

check

Everyone

check

Tip
Leading practice

The number of items that a source processes per hour (crawling speed) depends on various factors, such as network bandwidth and source configuration. See About Crawling Speed for information on what can impact crawling speed, as well as possible solutions.

Add or Edit a Khoros Community Source

When adding a source, select the Khoros Community Source option.

To edit a source, on the Sources (platform-eu | platform-au) page, click the desired source, and then click Edit in the Action bar.

"Configuration" Tab

In the Add/Edit a Khoros Community Source panel, the Configuration tab is selected by default. It contains your source’s general and authentication information, as well as other parameters.

General Information

Source Name

Enter a name for your source.

Tip
Leading practice

A source name can’t be modified once it’s saved, therefore be sure to use a short and descriptive name, using letters, numbers, hyphens (-), and underscores (_). Avoid spaces and other special characters.

Community URL

Enter the web address of the community that you want to index. If you want to make more than one address searchable, click the plus sign (+), and then enter the addresses to index on the additional lines.

Examples
  • http://company.khoros.com

  • https://community.company.com/

You can also specify a subset of a Khoros community to crawl by copying and pasting the address of a Khoros community category, board, or thread. The URL is in the form:

http://community.company.com/[...]/<KHOROS-OBJECT-LABEL>/<OBJECT-ID>

The possible values for <KHOROS-OBJECT-LABEL> are given in the Label column of the following table:

Label Khoros Community object

ct-p

Category

tkbc-p

Knowledge base category

bd-p

Forum

tkb-p

Knowledge base

con-p

Contest

idb-p

Idea board

qa-p

Q&A board

bg-p

Blog

gp-p

Group

m-p

Forum thread

td-p

Forum thread

ta-p

Knowledge base article

cns-p

Contest submission

idi-p

Idea

qaq-p

Q&A Question

ba-p

Blog article

gpm-p

Group article

Notes
Permission Account

If you want to replicate your Khoros community’s permission system in your Coveo-powered search interface, enter the username of a newly created Khoros user. This account will be used by Coveo to discover your permission system, so it must be dedicated to this purpose. It can’t be the administrator account required to index a private community.

See Permission Indexing Limitations for details on this feature.

The Permission Account parameter disappears if you choose not to replicate your community’s permission system in the Content security tab.

Optical Character Recognition (OCR)

If you want Coveo to extract text from image files or PDF files containing images, check the appropriate box. OCR-extracted text is processed as item data, meaning that it’s fully searchable and will appear in the item Quick View. See Enable Optical Character Recognition for details on this feature.

Note

Contact Coveo Sales to add this feature to your organization license.

"Authentication" Section

When the Khoros Community is private, you must enter the credentials of a native Khoros Community account, such as an administrator account, that has access to the content you want to index. See Source Credentials Leading Practices. This account must also have permission to make REST API read calls for all boards and categories of your community.

When you have the administrator rights, this setting is available in your Khoros Community Admin section, under Users tab > Permissions navigation bar section > Defaults tab > Make REST API calls with read access.

Notes
  • Boards and categories for which the account doesn’t have this permission are skipped during the indexing process and are therefore not searchable in a Coveo-powered search page. Moreover, if your source Community URL is the address of such a board or category, Coveo returns a KHOROS_COMMUNITY_AUTHORIZATION_ERROR error.

  • Some Khoros communities contain public and private items. Private items are only accessible to users allowed to view this content. If you have such a community, you must enter the credentials of an account that is allowed to access all private content. If you don’t do so, private items aren’t indexed (see Khoros Community Permissions and Limiting Source Content Permissions To Specific Users).

  • When your Khoros Community is secured using a basic authentication, you must modify the source JSON configuration to add a hidden parameter.

"Content to Include" Section

Optionally, select additional content to index: message attachments, user data, and/or message tags.

Important

Indexing attachments, users, and/or message tags, especially with large Khoros communities, can significantly increase the indexing time, as it requires an additional API call to Khoros per message/user.

Notes
  • You can include users only when indexing an entire community. If you only index a community subset such as a category or a board, users aren’t included.

  • The Khoros Community connector populates three fields for folding message item types: @foldingcollection, @foldingparent, and @foldingchild. Other item types such as attachments don’t have the folding field set and therefore can’t be folded. Instead, these items appear as a single result in the search interface.

"Content Security" Tab

Select who will be able to access the source items through a Coveo-powered search interface. For details on this parameter, see Content Security.

Before you select Determined by source permissions, see Permission Indexing Limitations for details. Also ensure to enter a permission account in the Configuration tab.

"Access" Tab

In the Access tab, set whether each group and API key can view or edit the source configuration (see Resource Access):

  1. If available, in the left pane, click Groups or API Keys to select the appropriate list.

  2. In the Access Level column for groups or API keys with access to source content, select View or Edit.

Completion

  1. Finish adding or editing your source:

    • When you want to save your source configuration changes without starting a build/rebuild, such as when you know you want to do other changes soon, click Add Source/Save.

      Note

      On the Sources (platform-eu | platform-au) page, you must click Launch build or Start required rebuild in the source Status column to add the source content or to make your changes effective, respectively.

    • When you’re done editing the source and want to make changes effective, click Add and Build Source/Save and Rebuild Source.

      Back on the Sources (platform-eu | platform-au) page, you can review the progress of your source addition or modification.

      Once the source is built or rebuilt, you can review its content in the Content Browser.

  2. Optionally, consider editing or adding mappings once your source is done building or rebuilding.

Refine the Content to Index

You may want to avoid indexing certain communities, or to index only a few of them. To do so:

  1. If not already done, create and save your source with a broad community URL.

  2. In your source JSON configuration, enter an address filter to refine the targeted content.

    Important

    Your community URL must match one of your inclusion addressPatterns and not match any of your exclusion addressPatterns.

  3. Build or rebuild your source.

Examples
  • With the following filter, Coveo doesn’t index the board whose ID is PrivateBoard.

    
      "AddressPatterns": [
      {
          "Expression": ".*board:PrivateBoard\/.*",
          "PatternType": "RegEx",
          "Allowed": false
      }
      ],
  • With the following filter, Coveo doesn’t index categories whose ID contains Private, private, Moderator, moderator, Archive, or archive.

    
      "AddressPatterns": [
      {
          "Expression": ".*category:([Pp]rivate|[Mm]oderator|[Aa]rchive).*",
          "PatternType": "RegEx",
          "Allowed": false
      }
      ],

Permission Indexing Limitations

When you replicate your community’s permission system in your Coveo-powered search interface, the interface end users only see the Khoros content they’re allowed to see in your Khoros community. Their Khoros-related search results vary based on the roles they’ve been assigned in Khoros Community. However, this option has some limitations.

User Privacy Settings

Khoros Community user data includes private information such as user full names and email addresses. Privacy settings (My settings > Preferences > Privacy Settings) lets users choose who can see their private information on their profile. Options are: "All", "Friends only", and "No one", which is the default option. When "No one" is selected, the user’s private information is visible to administrators only.

If you decide to index Khoros Community user data, Coveo will crawl user information, including private data. However, since Coveo doesn’t support user privacy settings, it handles user private information as regular data. As a result, depending on your mapping rules, user private information could be available to anyone who can see your Khoros Community content in their search results.

If you want user private information to appear in your Coveo-powered search interface, create mapping rules for fields containing sensitive information such as email and fullname.

If don’t want user private information to appear in your Coveo-powered search interface, ignore these fields. As a result, Coveo will crawl the private information in the sensitive fields, but won’t index it due to the lack of mapping rule.

Restriction Roles on Public Boards

Public Khoros boards are accessible to all users, including unauthenticated users. Khoros administrators can forbid users that have a certain role to access a certain public board. However, this doesn’t affect unauthenticated users. In other words, a user that has a role preventing them to see a certain public board could log out of Khoros and access this board. Since public boards are ultimately public, Coveo doesn’t replicate this behavior. When a board is public, any Coveo user that can access your search interface can also access the board’s content through it.

User-Specific Permissions

User-specific permissions (Users > Edit Users > Permissions) aren’t supported.

Khoros recommends setting permissions for roles, and then assigning roles to users, rather than using user permissions on a permanent basis.

What’s Next?