Coveo for Sitecore 5 is now available!

How to Modify the Coveo for Sitecore Security Provider Refreshing Parameters

Description

The Security Provider is what Coveo uses to get the permissions from a source and map it to the indexed documents. That information is stored in the Security Cache. CES will periodically Refresh the Security Cache to ensure all permissions on documents are up to date. To do so, the Security Cache will use the Security Provider attributed to each sources.

With Coveo for Sitecore, it can be useful or even necessary to modify the defaults refreshing parameters on your Coveo for Sitecore Security Provider. This article explains how to do it.

Environment

  • On-Premises
  • Coveo for Sitecore 863+
  • Configuration
  • Security Cache, Security Cache Refresh, Security Provider

Explanation

There are 3 main components that control the Coveo for Sitecore Security Provider refreshing process:

MaxAllowedTimeWithoutProgress

What it does: The maximum amount of time in seconds that the Security Provider will wait for an update on the progress of its requests from Sitecore (300 seconds by default)

Why it’s useful: During the Security Cache refresh process, if the Coveo for Sitecore Security provider does not receive updates from Sitecore within the time specified by MaxAllowedTimeWithoutProgress, it will abort the refresh.

Sample Error Message: class CSP::SecurityException: Call to b__6 was aborted because no progress had been reported

NumberOfUsersPerRequest

What it does: The maximum number of users in a Sitecore Group that the Security provider can handle (2 000 by default)

Why it’s useful: During the refresh of the Security Cache, the Coveo for Sitecore Security provider expands the Sitecore Groups. To do so, it calls the Coveo Web Service in Site and asks for batches of users. However, if the number of users in a single batch (group) exceeds the NumberOfUsersPerRequest, the refreshing process will be aborted.

Sample Error Message: class CSP::SecurityException: Call to b\_\_6 was aborted because no progress had been reported

Timeout

What it does: The maximum amount of time in seconds that the Security Provider will wait for a content web service request to complete (100 seconds by default)

Why it’s useful: During the Refresh of the Security Cache, the Coveo for Sitecore Security provider sends requests to Sitecore. If the Security provider doesn’t receive a response to its request before the time specified in Timeout, it will abort the refresh.

Sample Error Message: class CSP::SecurityException: Unexpected exception in method 'GetMembersAndMappings': System.Net.WebException: The request was aborted: The operation has timed out. ---> System.Net.WebException: The request was aborted

Resolution

To change these Coveo for Sitecore Security Provider parameters:

  1. Open the CES Administration Tool.
  2. Go to Configuration > Security > Security Provider > Sitecore Security Provider for [YourMachine]
  3. In the Parameters section, click on Add Parameter.
  4. Enter the name of each parameter and their respective values.