Add a Khoros Community source
Add 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
The following table presents the main characteristics of a Khoros Community source.
Features | Supported | Additional information | |
---|---|---|---|
Khoros Community version |
Latest version |
||
Indexable content |
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. |
||
Takes place every hour by default. A rescan or rebuild is required to take account of deleted or modified items. |
|||
Content security options |
See Permission Account. |
||
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 a Khoros Community source
Follow the instructions below to add a Khoros Community source.
-
On the Sources (platform-ca | platform-eu | platform-au) page, click Add source.
-
In the Add a source of content panel, click the Khoros Community source tile.
-
Configure your source.
Leading practice
It’s best to create or edit your source in your sandbox organization first. Once you’ve confirmed that it indexes the desired content, you can copy your source configuration to your production organization, either with a snapshot or manually. See About non-production organizations for more information and best practices regarding sandbox organizations. |
"Configuration" tab
In the Add 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.
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 ( |
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.
-
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, enable the appropriate option.
The 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.
Project
If you have the Enterprise edition, use the Project selector to associate your source with one or multiple Coveo projects.
"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
|
"Content to include" section
Optionally, select additional content to index: message attachments, user data, and/or message tags.
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
|
"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 Same users and groups as in your current permission system, see Permission Indexing Limitations for details. Also ensure to enter a permission account in the Configuration tab.
"Access" tab
In the Access tab, specify whether each group (and API key, if applicable) in your Coveo organization can view or edit the current source.
For example, when creating a new source, you could decide that members of Group A can edit its configuration, while Group B can only view it.
For more information, see Custom access level.
Completion
-
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.
-
When you’re done editing the source and want to make changes effective, click Add and build source/Save and rebuild source.
NoteOn the Sources (platform-ca | 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.
Back on the Sources (platform-ca | platform-eu | platform-au) page, you can follow the progress of your source addition or modification.
Once the source is built or rebuilt, you can review its content in the Content Browser.
-
-
Once your source is done building or rebuilding, review the metadata Coveo is retrieving from your content.
-
On the Sources (platform-ca | platform-eu | platform-au) page, click your source, and then click More > View and map metadata in the Action bar.
-
If you want to use a currently not indexed metadata in a facet or result template, map it to a field.
-
Click the metadata and then, at the top right, click Add to Index.
-
In the Apply a mapping on all item types of a source panel, select the field you want to map the metadata to, or add a new field if none of the existing fields are appropriate.
Notes-
For details on configuring a new field, see Add or edit a field.
-
For advanced mapping configurations, like applying a mapping to a specific item type, see Manage mappings.
-
-
Click Apply mapping.
-
-
Depending on the source type you use, you may be able to extract additional metadata from your content. You can then map that metadata to a field, just like you did for the default metadata.
More on custom metadata extraction and indexing
Some source types let you define rules to extract metadata beyond the default metadata Coveo discovers during the initial source build.
For example:
Source type Custom metadata extraction methods Define metadata key-value pairs in the
addOrUpdate
section of thePUT
request payload used to upload push operations to an Amazon S3 file container.REST API
and
GraphQL APIIn the JSON configuration (REST API | GraphQL API) of the source, define metadata names (REST API | GraphQL API) and specify where to locate the metadata values in the JSON API response Coveo receives.
Add
<CustomField>
elements in the XML configuration. Each element defines a metadata name and the database field to use to populate the metadata with.-
Configure web scraping configurations that contain metadata extraction rules using CSS or XPath selectors.
-
Extract metadata from JSON-LD
<script>
tags.
-
Configure web scraping configurations that contain metadata extraction rules using CSS or XPath selectors.
-
Extract JSON-LD
<script>
tag metadata. -
Extract
<meta>
tag content using theIndexHtmlMetadata
JSON parameter.
Some source types automatically map metadata to default or user created fields, making the mapping process unnecessary. Some source types automatically create mappings and fields for you when you configure metadata extraction.
See your source type documentation for more details.
-
-
When you’re done reviewing and mapping metadata, return to the Sources (platform-ca | platform-eu | platform-au) page.
-
To reindex your source with your new mappings, click Launch rebuild in the source Status column.
-
Once the source is rebuilt, you can review its content in the Content Browser.
-
Refine the content to index
You may want to avoid indexing certain communities, or to index only a few of them. To do so:
-
If not already done, create and save your source with a broad community URL.
-
In your source JSON configuration, enter an address filter to refine the targeted content.
Your community URL must match one of your inclusion
addressPatterns
and not match any of your exclusionaddressPatterns
. -
Build or rebuild your source.
-
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
, orarchive
."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.
Required privileges
You can assign privileges to allow access to specific tools in the Coveo Administration Console. The following table indicates the privileges required to view or edit elements of the Sources (platform-ca | platform-eu | platform-au) page and associated panels. See Manage privileges and Privilege reference for more information.
Note
The Edit all privilege isn’t required to create sources. When granting privileges for the Sources domain, you can grant a group or API key the View all or Custom access level, instead of Edit all, and then select the Can Create checkbox to allow users to create sources. See Can Create ability dependence for more information. |
Actions | Service | Domain | Required access level |
---|---|---|---|
View sources, view source update schedules, and subscribe to source notifications |
Content |
Fields |
View |
Sources |
|||
Organization |
Organization |
||
Edit sources, edit source update schedules, and edit source mappings |
Organization |
Organization |
View |
Content |
Fields |
Edit |
|
Sources |
|||
View and map metadata |
Content |
Source metadata |
View |
Fields |
|||
Organization |
Organization |
||
Content |
Sources |
Edit |
What’s next?
-
If your Khoros Community is secured using basic authentication, specify the additional credentials in the source JSON configuration.