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 |
|||
|
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
|
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. |
-
On the Sources (platform-ca | platform-eu | platform-au) page, click Add source, and then select Khoros Community.
-
Enter a Name for your source.
Leading practiceA 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. -
Enter a Khoros Community address. To index an entire community, enter its root URL. To index only a part of a community, you can enter specific object addresses.
-
Under Authentication, select whether Coveo must log in to access your community. If your community is private, select Khoros Community account and enter the credentials of a crawling account for the source. This account must:
-
Be a native Khoros Community account.
-
Be an administrator account if you plan on replicating your Khoros Community permission system in Coveo-powered search interfaces.
-
Be dedicated to the source.
-
Have access to all the content you want to index.
-
Have permission to make REST API read calls for all boards and categories of your community. When you have 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.
-
-
Back in the Coveo Administration console, enter the username and password of the source account.
-
Optionally, under Project, select the project you want to associate your source with.
-
Click Next.
-
Select who will be able to access the source items through a Coveo-powered search interface. For details on this parameter, see Content security.
If you select "Same users and groups as in your content system"
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 under Permission account. 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 more information.
-
Click Add source.
-
Specify your source settings. Refer to the following sections for detailed information on the source settings:
"Configuration" tab
The Configuration tab lets you manage the content to index, authentication methods, and advanced settings of your source. These configuration groups are presented in subtabs.
"Content to index" subtab
The Content to index subtab lets you define the content that you want to make available as search results.
By default, Coveo indexes the community or content it finds at the URL you provided when creating the source.
Additional content
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
|
"Advanced settings" subtab
The Advanced settings subtab lets you customize the Coveo crawler behavior. All advanced settings have default values that are adequate in most use cases.
Content and images
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.
"Authentication" subtab
The Authentication subtab contains the information Coveo needs to access your Khoros Community content.
Khoros Community address
Enter the address of the content you want to index.
You can index an entire Khoros community by entering the root URL of the community.
The URL should look as follows: http://community.company.com/
.
You can also enter the address of a desired category, board, or thread.
The address should be in the following format: http://community.company.com/[...]/<KHOROS-OBJECT-LABEL>/<OBJECT-ID>
.
Check the table below for the possible values for <KHOROS-OBJECT-LABEL>
:
Possible values for a Khoros Community object label
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
|
Authentication
If your Khoros Community is public, that is, accessible without logging in, select No login.
If your community is private, select Khoros Community account and enter the credentials of a crawling account for the source. This account must:
-
Be a native Khoros Community account.
-
Be an administrator account if you plan on replicating your Khoros Community permission system in Coveo-powered search interfaces.
-
Be dedicated to the source.
-
Have access to all the content you want to index.
-
Have permission to make REST API read calls for all boards and categories of your community. When you have 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.
See Source credentials leading practices for more information on crawling accounts.
|
Notes
|
"Identification" subtab
The Identification subtab contains general information about the source.
Use the Project selector to associate your source with one or more Coveo projects.
"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.
If you select "Same users and groups as in your content system"
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 under Permission account. 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 more information.
"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 regarding the following:
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.