DCausse has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/276253

Change subject: Allow switching completion suggester between default and beta 
feature
......................................................................

Allow switching completion suggester between default and beta feature

CirrusSearch was only setup to offer completion suggester as a
beta feature. This changes CirrusSearchUseCompletionSuggester into
a tri-modeaflag to toggle between off, beta, and on.

Bug: T128774
Change-Id: I3ee645f003189b855ba1b4e623338e121499f9ba
(cherry picked from commit f8bbba4372616b5a28ac785361fb907b102f3aaf)
---
M CirrusSearch.php
M includes/CirrusSearch.php
M includes/Hooks.php
3 files changed, 17 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CirrusSearch 
refs/changes/53/276253/1

diff --git a/CirrusSearch.php b/CirrusSearch.php
index 78e87b9..e6d1751 100644
--- a/CirrusSearch.php
+++ b/CirrusSearch.php
@@ -766,10 +766,12 @@
  * You have to build the completion suggester index with the maintenance script
  * updateSuggesterIndex.php. The suggester only supports queries to the main
  * namespace. PrefixSearch will be used in all other cases.
- *
- * NOTE: This is an experimental API
+ * Valid values, all unknown values map to 'no':
+ *   yes  - Use completion suggester as the default
+ *   beta - Allow users to enable completion suggester as a BetaFeature
+ *   no   - Don't use completion suggester
  */
-$wgCirrusSearchUseCompletionSuggester = false;
+$wgCirrusSearchUseCompletionSuggester = 'no';
 
 /**
  * Maximum number of results to ask from the elasticsearch completion
diff --git a/includes/CirrusSearch.php b/includes/CirrusSearch.php
index 695f3b8..2b969e4 100644
--- a/includes/CirrusSearch.php
+++ b/includes/CirrusSearch.php
@@ -528,7 +528,8 @@
        }
 
        protected function completionSuggesterEnabled( SearchConfig $config ) {
-               if( !$config->getElement( 'CirrusSearchUseCompletionSuggester' 
) ) {
+               $useCompletion = $config->getElement( 
'CirrusSearchUseCompletionSuggester' );
+               if( $useCompletion !== 'yes' && $useCompletion !== 'beta' ) {
                        return false;
                }
 
@@ -547,8 +548,12 @@
                        return true;
                }
 
-               return class_exists( '\BetaFeatures' ) &&
-                       \BetaFeatures::isFeatureEnabled( $GLOBALS['wgUser'], 
'cirrussearch-completionsuggester' );
+               if ( $useCompletion === 'beta' ) {
+                       return class_exists( '\BetaFeatures' ) &&
+                               \BetaFeatures::isFeatureEnabled( 
$GLOBALS['wgUser'], 'cirrussearch-completionsuggester' );
+               }
+
+               return true;
        }
 
        /**
diff --git a/includes/Hooks.php b/includes/Hooks.php
index 6328ea6..93bb99d 100644
--- a/includes/Hooks.php
+++ b/includes/Hooks.php
@@ -611,8 +611,7 @@
         */
        public static function onResourceLoaderGetConfigVars( &$vars ) {
                global $wgCirrusSearchEnableSearchLogging,
-                       $wgCirrusSearchFeedbackLink,
-                       $wgCirrusSearchUseCompletionSuggester;
+                       $wgCirrusSearchFeedbackLink;
 
                $vars += array(
                        'wgCirrusSearchEnableSearchLogging' => 
$wgCirrusSearchEnableSearchLogging,
@@ -655,9 +654,11 @@
        public static function getBetaFeaturePreferences( User $user, &$pref ) {
                global $wgCirrusSearchUseCompletionSuggester,
                        $wgExtensionAssetsPath;
-               if ( !$wgCirrusSearchUseCompletionSuggester ) {
+
+               if ( $wgCirrusSearchUseCompletionSuggester !== 'beta' ) {
                        return true;
                }
+
                $pref['cirrussearch-completionsuggester'] = array(
                        'label-message' => 
'cirrussearch-completionsuggester-pref',
                        'desc-message' => 
'cirrussearch-completionsuggester-desc',

-- 
To view, visit https://gerrit.wikimedia.org/r/276253
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3ee645f003189b855ba1b4e623338e121499f9ba
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/CirrusSearch
Gerrit-Branch: wmf/1.27.0-wmf.15
Gerrit-Owner: DCausse <[email protected]>
Gerrit-Reviewer: EBernhardson <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to