Page MenuHomePhabricator

Revisit or document the logic to find out if CirrusSearch is enabled in different domains
Open, Needs TriagePublic

Description

This trait is used as a guard in the REST search routes and checks whether the WikibaseCirrusSearch extension is loaded and $isCirrusSearchEnabled = $wgSearchType === 'CirrusSearch' || $wgWBCSUseCirrus is true. The OR (||) in the latter part is a little confusing, and while it may technically be correct, we should either document why, or revisit the logic.

Also note that WBCS itself only checks $wgWBCSUseCirrus before overriding search-related entity type definitions.

We mistakenly used the same logic for the GraphQL search field, where both must be true, i.e. $wgSearchType === 'CirrusSearch' AND $wgWBCSUseCirrus.

Steps:

  • understand the configuration flags that are needed to enable CirrusSearch in different domains and CI
  • configure domain specific traits that determine if CirrusSearch can be used
    • check existing conditions in CirrusSearchEnabledTrait.php , SearchEnabledTestTrait.js, GraphQLTest.js
  • take into account QUIBBLE_OPENSEARCH that is needed in CI
    • see repo/domains/search/tests/mocha/setup.js, repo/domains/reuse/tests/api-testing/GraphQLTest.js

Event Timeline

Silvan_WMDE renamed this task from Revisit or document the logic in CirrusSearchEnabledTrait to Revisit or document the logic to find out if CirrusSearch is enabled in different domains.Feb 24 2026, 9:53 AM
Silvan_WMDE updated the task description. (Show Details)