Billm has uploaded a new change for review.

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

Change subject: IcuCollation fix for  Natural number sorting in Category 
listings
......................................................................

IcuCollation fix for  Natural number sorting in Category listings

This commit helps category listings in mediawiki to recognise numbers such that
they can be sorted in a correct order. Looked at the ICU's collation demo on
their website before implementing this change. Looked through the code and saw
that this approach could work for this task.

Bug: T8948
Change-Id: If7dd5d5c1d10beb6b3cbf80af83dfdcc05814e43
---
M includes/Collation.php
M includes/DefaultSettings.php
2 files changed, 156 insertions(+), 327 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/71/269771/1

diff --git a/includes/Collation.php b/includes/Collation.php
index 7fa5c6e..02d0392 100644
--- a/includes/Collation.php
+++ b/includes/Collation.php
@@ -308,12 +308,14 @@
                $this->digitTransformLanguage = Language::factory( $locale === 
'root' ? 'en' : $localeParts[0] );
 
                $this->mainCollator = Collator::create( $locale );
+               $this->mainCollator->setAttribute( Collator::NUMERIC_COLLATION, 
Collator::ON );
                if ( !$this->mainCollator ) {
                        throw new MWException( "Invalid ICU locale specified 
for collation: $locale" );
                }
 
                $this->primaryCollator = Collator::create( $locale );
                $this->primaryCollator->setStrength( Collator::PRIMARY );
+               $this->primaryCollator->setAttribute( 
Collator::NUMERIC_COLLATION, Collator::ON);
        }
 
        function getSortKey( $string ) {
diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php
index a6a0c75..3df03d8 100644
--- a/includes/DefaultSettings.php
+++ b/includes/DefaultSettings.php
@@ -75,7 +75,7 @@
  * MediaWiki version number
  * @since 1.2
  */
-$wgVersion = '1.27.0-alpha';
+$wgVersion = '1.27alpha';
 
 /**
  * Name of the site. It must be changed in LocalSettings.php
@@ -536,12 +536,6 @@
 $wgForeignUploadTargets = array();
 
 /**
- * Cross-wiki upload A/B test configuration.
- */
-$wgForeignUploadTestEnabled = false;
-$wgForeignUploadTestDefault = 1;
-
-/**
  * File backend structure configuration.
  *
  * This is an array of file backend configuration arrays.
@@ -662,6 +656,12 @@
 $wgAllowCopyUploads = false;
 
 /**
+ * Allow asynchronous copy uploads.
+ * This feature is experimental and broken as of r81612.
+ */
+$wgAllowAsyncCopyUploads = false;
+
+/**
  * A list of domains copy uploads can come from
  *
  * @since 1.20
@@ -690,6 +690,17 @@
  * @since 1.22
  */
 $wgCopyUploadTimeout = false;
+
+/**
+ * Different timeout for upload by url when run as a background job
+ * This could be useful since when fetching large files via job queue,
+ * you may want a different timeout, especially because there is no
+ * http request being kept alive.
+ *
+ * false means fallback to $wgCopyUploadTimeout.
+ * @since 1.22
+ */
+$wgCopyUploadAsyncTimeout = false;
 
 /**
  * Max size for uploads, in bytes. If not set to an array, applies to all
@@ -904,8 +915,7 @@
 
 /**
  * Plugins for page content model handling.
- * Each entry in the array maps a model id to a class name or callback
- * that creates an instance of the appropriate ContentHandler subclass.
+ * Each entry in the array maps a model id to a class name.
  *
  * @since 1.21
  */
@@ -943,12 +953,6 @@
  * The convert command shipped with ImageMagick
  */
 $wgImageMagickConvertCommand = '/usr/bin/convert';
-
-/**
- * Array of max pixel areas for interlacing per MIME type
- * @since 1.27
- */
-$wgMaxInterlacingAreas = array();
 
 /**
  * Sharpening parameter to ImageMagick
@@ -992,6 +996,7 @@
  * image formats.
  */
 $wgExiv2Command = '/usr/bin/exiv2';
+
 
 /**
  * Path to exiftool binary. Used for lossless ICC profile swapping.
@@ -1459,6 +1464,7 @@
  * @{
  */
 
+
 /**
  * Site admin email address.
  *
@@ -1487,7 +1493,7 @@
  * It might be necessary to adapt the address or to set it equal
  * to the $wgEmergencyContact address.
  */
-$wgNoReplyAddress = '[email protected]';
+$wgNoReplyAddress = '[email protected]';
 
 /**
  * Set to true to enable the e-mail basic features:
@@ -1628,6 +1634,12 @@
  * match the limit on your mail server.
  */
 $wgEnotifMaxRecips = 500;
+
+/**
+ * Send mails via the job queue. This can be useful to reduce the time it
+ * takes to save a page that a lot of people are watching.
+ */
+$wgEnotifUseJobQ = false;
 
 /**
  * Use real name instead of username in e-mail "from" field.
@@ -1865,6 +1877,24 @@
  * includes/db/LBFactoryMulti.php for configuration information.
  */
 $wgLBFactoryConf = array( 'class' => 'LBFactorySimple' );
+
+/**
+ * The ID of the current data center
+ * @since 1.27
+ */
+$wgDataCenterId = 'default';
+
+/**
+ * Map of data center IDs to their role ("master" or "slave")
+ *
+ * Multiple data centers can be setup to handle MediaWiki, with HTTP
+ * POSTs routed to the master data center and GET/HEAD/OPTION routed to
+ * any data center (usually the closest to the end user). In such setups,
+ * this setting should be set to the appropriate value in the site
+ * config for each data center.
+ * @since 1.27
+ */
+$wgDataCenterRoles = array( 'default' => 'master' );
 
 /**
  * After a state-changing request is done by a client, this determines
@@ -2147,7 +2177,7 @@
 $wgParserCacheType = CACHE_ANYTHING;
 
 /**
- * The cache type for storing session data.
+ * The cache type for storing session data. Used if $wgSessionsInObjectCache 
is true.
  *
  * For available types see $wgMainCacheType.
  */
@@ -2282,28 +2312,29 @@
  *
  * @deprecated since 1.20; Use $wgSessionsInObjectCache
  */
-$wgSessionsInMemcached = true;
+$wgSessionsInMemcached = false;
 
 /**
- * @deprecated since 1.27, session data is always stored in object cache.
+ * Store sessions in an object cache, configured by $wgSessionCacheType. This
+ * can be useful to improve performance, or to avoid the locking behavior of
+ * PHP's default session handler, which tends to prevent multiple requests for
+ * the same user from acting concurrently.
  */
-$wgSessionsInObjectCache = true;
+$wgSessionsInObjectCache = false;
 
 /**
- * The expiry time to use for session storage, in seconds.
+ * The expiry time to use for session storage when $wgSessionsInObjectCache is
+ * enabled, in seconds.
  */
 $wgObjectCacheSessionExpiry = 3600;
 
 /**
- * @deprecated since 1.27, MediaWiki\\Session\\SessionManager doesn't use PHP 
session storage.
+ * This is used for setting php's session.save_handler. In practice, you will
+ * almost never need to change this ever. Other options might be 'user' or
+ * 'session_mysql.' Setting to null skips setting this entirely (which might be
+ * useful if you're doing cross-application sessions, see bug 11381)
  */
 $wgSessionHandler = null;
-
-/**
- * Whether to use PHP session handling ($_SESSION and session_*() functions)
- * @var string 'enable', 'warn', or 'disable'
- */
-$wgPHPSessionHandling = 'enable';
 
 /**
  * If enabled, will send MemCached debugging information to $wgDebugLogFile
@@ -2503,7 +2534,7 @@
 /** @} */ # end of cache settings
 
 /************************************************************************//**
- * @name   HTTP proxy (CDN) settings
+ * @name   HTTP proxy (Squid) settings
  *
  * Many of these settings apply to any HTTP proxy used in front of MediaWiki,
  * although they are referred to as Squid settings for historical reasons.
@@ -2516,7 +2547,7 @@
  */
 
 /**
- * Enable/disable CDN.
+ * Enable/disable Squid.
  * See https://www.mediawiki.org/wiki/Manual:Squid_caching
  */
 $wgUseSquid = false;
@@ -2544,7 +2575,7 @@
 $wgVaryOnXFP = false;
 
 /**
- * Internal server name as known to CDN, if different.
+ * Internal server name as known to Squid, if different.
  *
  * @par Example:
  * @code
@@ -2556,7 +2587,7 @@
 /**
  * Cache TTL for the CDN sent as s-maxage (without ESI) or
  * Surrogate-Control (with ESI). Without ESI, you should strip
- * out s-maxage in the CDN config.
+ * out s-maxage in the Squid config.
  *
  * 18000 seconds = 5 hours, more cache hits with 2678400 = 31 days.
  */
@@ -2568,22 +2599,6 @@
  * @since 1.27
  */
 $wgCdnMaxageLagged = 30;
-
-/**
- * If set, any SquidPurge call on a URL or URLs will send a second purge no 
less than
- * this many seconds later via the job queue. This requires delayed job 
support.
- * This should be safely higher than the 'max lag' value in $wgLBFactoryConf, 
so that
- * slave lag does not cause page to be stuck in stales states in CDN.
- *
- * This also fixes race conditions in two-tiered CDN setups (e.g. cdn2 => cdn1 
=> MediaWiki).
- * If a purge for a URL reaches cdn2 before cdn1 and a request reaches cdn2 
for that URL,
- * it will populate the response from the stale cdn1 value. When cdn1 gets the 
purge, cdn2
- * will still be stale. If the rebound purge delay is safely higher than the 
time to relay
- * a purge to all nodes, then the rebound puge will clear cdn2 after cdn1 was 
cleared.
- *
- * @since 1.27
- */
-$wgCdnReboundPurgeDelay = 0;
 
 /**
  * Default maximum age for raw CSS/JS accesses
@@ -2703,7 +2718,7 @@
  */
 
 /**
- * Site language code. See languages/data/Names.php for languages supported by
+ * Site language code. See languages/Names.php for languages supported by
  * MediaWiki out of the box. Not all languages listed there have translations,
  * see languages/messages/ for the list of languages with some localisation.
  *
@@ -3671,15 +3686,7 @@
  * @endcode
  * @since 1.22
  */
-$wgResourceLoaderLESSVars = array(
-       /**
-        * Minimum available screen width at which a device can be considered a 
tablet/desktop
-        * The number is currently based on the device width of a Samsung 
Galaxy S5 mini and is low
-        * enough to cover iPad (768px). Number is prone to change with new 
information.
-        * @since 1.27
-        */
-       'deviceWidthTablet' => '720px',
-);
+$wgResourceLoaderLESSVars = array();
 
 /**
  * Default import paths for LESS modules. LESS files referenced in @import
@@ -3862,13 +3869,10 @@
  */
 
 /**
- * Interwiki cache, either as an associative array or a path to a constant
- * database (.cdb) file.
+ *$wgInterwikiCache specifies path to constant database file.
  *
- * This data structure database is generated by the `dumpInterwiki` maintenance
- * script (which lives in the WikimediaMaintenance repository) and has key
- * formats such as the following:
- *
+ * This cdb database is generated by dumpInterwiki from maintenance and has
+ * such key formats:
  *  - dbname:key - a simple key (e.g. enwiki:meta)
  *  - _sitename:key - site-scope key (e.g. wiktionary:meta)
  *  - __global:key - global-scope key (e.g. __global:meta)
@@ -3876,8 +3880,6 @@
  *
  * Sites mapping just specifies site name, other keys provide "local url"
  * data layout.
- *
- * @var bool|array|string
  */
 $wgInterwikiCache = false;
 
@@ -4405,6 +4407,7 @@
        ),
 );
 
+
 /**
  * For compatibility with old installations set to false
  * @deprecated since 1.24 will be removed in future
@@ -4633,42 +4636,6 @@
  */
 $wgSecureLogin = false;
 
-/**
- * Versioning for authentication tokens.
- *
- * If non-null, this is combined with the user's secret (the user_token field
- * in the DB) to generate the token cookie. Changing this will invalidate all
- * active sessions (i.e. it will log everyone out).
- *
- * @since 1.27
- * @var string|null
- */
-$wgAuthenticationTokenVersion = null;
-
-/**
- * MediaWiki\Session\SessionProvider configuration.
- *
- * Value is an array of ObjectFactory specifications for the SessionProviders
- * to be used. Keys in the array are ignored. Order is not significant.
- *
- * @since 1.27
- */
-$wgSessionProviders = array(
-       'MediaWiki\\Session\\CookieSessionProvider' => array(
-               'class' => 'MediaWiki\\Session\\CookieSessionProvider',
-               'args' => array( array(
-                       'priority' => 30,
-                       'callUserSetCookiesHook' => true,
-               ) ),
-       ),
-       'MediaWiki\\Session\\BotPasswordSessionProvider' => array(
-               'class' => 'MediaWiki\\Session\\BotPasswordSessionProvider',
-               'args' => array( array(
-                       'priority' => 40,
-               ) ),
-       ),
-);
-
 /** @} */ # end user accounts }
 
 /************************************************************************//**
@@ -4773,12 +4740,6 @@
 $wgEmailConfirmToEdit = false;
 
 /**
- * Should MediaWiki attempt to protect user's privacy when doing redirects?
- * Keep this true if access counts to articles are made public.
- */
-$wgHideIdentifiableRedirects = true;
-
-/**
  * Permission keys given to users in each group.
  *
  * This is an array where the keys are all groups and each value is an
@@ -4880,6 +4841,7 @@
 $wgGroupPermissions['sysop']['autopatrol'] = true;
 $wgGroupPermissions['sysop']['protect'] = true;
 $wgGroupPermissions['sysop']['editprotected'] = true;
+$wgGroupPermissions['sysop']['proxyunbannable'] = true;
 $wgGroupPermissions['sysop']['rollback'] = true;
 $wgGroupPermissions['sysop']['upload'] = true;
 $wgGroupPermissions['sysop']['reupload'] = true;
@@ -5370,164 +5332,6 @@
  */
 $wgPasswordAttemptThrottle = array( 'count' => 5, 'seconds' => 300 );
 
-/**
- * @var Array Map of (grant => right => boolean)
- * Users authorize consumers (like Apps) to act on their behalf but only with
- * a subset of the user's normal account rights (signed off on by the user).
- * The possible rights to grant to a consumer are bundled into groups called
- * "grants". Each grant defines some rights it lets consumers inherit from the
- * account they may act on behalf of. Note that a user granting a right does
- * nothing if that user does not actually have that right to begin with.
- * @since 1.27
- */
-$wgGrantPermissions = array();
-
-// @TODO: clean up grants
-// @TODO: auto-include read/editsemiprotected rights?
-
-$wgGrantPermissions['basic']['autoconfirmed'] = true;
-$wgGrantPermissions['basic']['autopatrol'] = true;
-$wgGrantPermissions['basic']['autoreview'] = true;
-$wgGrantPermissions['basic']['editsemiprotected'] = true;
-$wgGrantPermissions['basic']['ipblock-exempt'] = true;
-$wgGrantPermissions['basic']['nominornewtalk'] = true;
-$wgGrantPermissions['basic']['patrolmarks'] = true;
-$wgGrantPermissions['basic']['purge'] = true;
-$wgGrantPermissions['basic']['read'] = true;
-$wgGrantPermissions['basic']['skipcaptcha'] = true;
-$wgGrantPermissions['basic']['torunblocked'] = true;
-$wgGrantPermissions['basic']['writeapi'] = true;
-
-$wgGrantPermissions['highvolume']['bot'] = true;
-$wgGrantPermissions['highvolume']['apihighlimits'] = true;
-$wgGrantPermissions['highvolume']['noratelimit'] = true;
-$wgGrantPermissions['highvolume']['markbotedits'] = true;
-
-$wgGrantPermissions['editpage']['edit'] = true;
-$wgGrantPermissions['editpage']['minoredit'] = true;
-$wgGrantPermissions['editpage']['applychangetags'] = true;
-$wgGrantPermissions['editpage']['changetags'] = true;
-
-$wgGrantPermissions['editprotected'] = $wgGrantPermissions['editpage'];
-$wgGrantPermissions['editprotected']['editprotected'] = true;
-
-$wgGrantPermissions['editmycssjs'] = $wgGrantPermissions['editpage'];
-$wgGrantPermissions['editmycssjs']['editmyusercss'] = true;
-$wgGrantPermissions['editmycssjs']['editmyuserjs'] = true;
-
-$wgGrantPermissions['editmyoptions']['editmyoptions'] = true;
-
-$wgGrantPermissions['editinterface'] = $wgGrantPermissions['editpage'];
-$wgGrantPermissions['editinterface']['editinterface'] = true;
-$wgGrantPermissions['editinterface']['editusercss'] = true;
-$wgGrantPermissions['editinterface']['edituserjs'] = true;
-
-$wgGrantPermissions['createeditmovepage'] = $wgGrantPermissions['editpage'];
-$wgGrantPermissions['createeditmovepage']['createpage'] = true;
-$wgGrantPermissions['createeditmovepage']['createtalk'] = true;
-$wgGrantPermissions['createeditmovepage']['move'] = true;
-$wgGrantPermissions['createeditmovepage']['move-rootuserpages'] = true;
-$wgGrantPermissions['createeditmovepage']['move-subpages'] = true;
-$wgGrantPermissions['createeditmovepage']['move-categorypages'] = true;
-
-$wgGrantPermissions['uploadfile']['upload'] = true;
-$wgGrantPermissions['uploadfile']['reupload-own'] = true;
-
-$wgGrantPermissions['uploadeditmovefile'] = $wgGrantPermissions['uploadfile'];
-$wgGrantPermissions['uploadeditmovefile']['reupload'] = true;
-$wgGrantPermissions['uploadeditmovefile']['reupload-shared'] = true;
-$wgGrantPermissions['uploadeditmovefile']['upload_by_url'] = true;
-$wgGrantPermissions['uploadeditmovefile']['movefile'] = true;
-$wgGrantPermissions['uploadeditmovefile']['suppressredirect'] = true;
-
-$wgGrantPermissions['patrol']['patrol'] = true;
-
-$wgGrantPermissions['rollback']['rollback'] = true;
-
-$wgGrantPermissions['blockusers']['block'] = true;
-$wgGrantPermissions['blockusers']['blockemail'] = true;
-
-$wgGrantPermissions['viewdeleted']['browsearchive'] = true;
-$wgGrantPermissions['viewdeleted']['deletedhistory'] = true;
-$wgGrantPermissions['viewdeleted']['deletedtext'] = true;
-
-$wgGrantPermissions['delete'] = $wgGrantPermissions['editpage'] +
-       $wgGrantPermissions['viewdeleted'];
-$wgGrantPermissions['delete']['delete'] = true;
-$wgGrantPermissions['delete']['bigdelete'] = true;
-$wgGrantPermissions['delete']['deletelogentry'] = true;
-$wgGrantPermissions['delete']['deleterevision'] = true;
-$wgGrantPermissions['delete']['undelete'] = true;
-
-$wgGrantPermissions['protect'] = $wgGrantPermissions['editprotected'];
-$wgGrantPermissions['protect']['protect'] = true;
-
-$wgGrantPermissions['viewmywatchlist']['viewmywatchlist'] = true;
-
-$wgGrantPermissions['editmywatchlist']['editmywatchlist'] = true;
-
-$wgGrantPermissions['sendemail']['sendemail'] = true;
-
-$wgGrantPermissions['createaccount']['createaccount'] = true;
-
-/**
- * @var Array Map of grants to their UI grouping
- * @since 1.27
- */
-$wgGrantPermissionGroups = array(
-       // Hidden grants are implicitly present
-       'basic'            => 'hidden',
-
-       'editpage'            => 'page-interaction',
-       'createeditmovepage'  => 'page-interaction',
-       'editprotected'       => 'page-interaction',
-       'patrol'              => 'page-interaction',
-
-       'uploadfile'          => 'file-interaction',
-       'uploadeditmovefile'  => 'file-interaction',
-
-       'sendemail'           => 'email',
-
-       'viewmywatchlist'     => 'watchlist-interaction',
-       'editviewmywatchlist' => 'watchlist-interaction',
-
-       'editmycssjs'         => 'customization',
-       'editmyoptions'       => 'customization',
-
-       'editinterface'       => 'administration',
-       'rollback'            => 'administration',
-       'blockusers'          => 'administration',
-       'delete'              => 'administration',
-       'viewdeleted'         => 'administration',
-       'protect'             => 'administration',
-       'createaccount'       => 'administration',
-
-       'highvolume'          => 'high-volume',
-);
-
-/**
- * @var bool Whether to enable bot passwords
- * @since 1.27
- */
-$wgEnableBotPasswords = true;
-
-/**
- * Cluster for the bot_passwords table
- * @var string|bool If false, the normal cluster will be used
- * @since 1.27
- */
-$wgBotPasswordsCluster = false;
-
-/**
- * Database name for the bot_passwords table
- *
- * To use a database with a table prefix, set this variable to
- * "{$database}-{$prefix}".
- * @var string|bool If false, the normal database will be used
- * @since 1.27
- */
-$wgBotPasswordsDatabase = false;
-
 /** @} */ # end of user rights settings
 
 /************************************************************************//**
@@ -5708,24 +5512,16 @@
  * @since 1.26
  */
 $wgTrxProfilerLimits = array(
-       // HTTP GET/HEAD requests.
-       // Master queries should not happen on GET requests
+       // Basic GET and POST requests
        'GET' => array(
                'masterConns' => 0,
                'writes' => 0,
                'readQueryTime' => 5
        ),
-       // HTTP POST requests.
-       // Master reads and writes will happen for a subset of these.
        'POST' => array(
                'readQueryTime' => 5,
                'writeQueryTime' => 1,
                'maxAffected' => 500
-       ),
-       'POST-nonwrite' => array(
-               'masterConns' => 0,
-               'writes' => 0,
-               'readQueryTime' => 5
        ),
        // Background job runner
        'JobRunner' => array(
@@ -5890,6 +5686,79 @@
 $wgProfileOnly = false;
 
 /**
+ * If true, print a raw call tree instead of per-function report
+ */
+$wgProfileCallTree = false;
+
+/**
+ * Should application server host be put into profiling table
+ *
+ * @deprecated set $wgProfiler['perhost'] = true instead
+ */
+$wgProfilePerHost = null;
+
+/**
+ * Host for UDP profiler.
+ *
+ * The host should be running a daemon which can be obtained from MediaWiki
+ * Git at:
+ * https://git.wikimedia.org/tree/operations%2Fsoftware.git/master/udpprofile
+ *
+ * @deprecated set $wgProfiler['udphost'] instead
+ */
+$wgUDPProfilerHost = null;
+
+/**
+ * Port for UDP profiler.
+ * @see $wgUDPProfilerHost
+ *
+ * @deprecated set $wgProfiler['udpport'] instead
+ */
+$wgUDPProfilerPort = null;
+
+/**
+ * Format string for the UDP profiler. The UDP profiler invokes sprintf() with
+ * (profile id, count, cpu, cpu_sq, real, real_sq, entry name, memory) as
+ * arguments. You can use sprintf's argument numbering/swapping capability to
+ * repeat, re-order or omit fields.
+ *
+ * @see $wgStatsFormatString
+ * @since 1.22
+ *
+ * @deprecated set $wgProfiler['udpformat'] instead
+ */
+$wgUDPProfilerFormatString = null;
+
+/**
+ * Destination for wfIncrStats() data...
+ * 'cache' to go into the system cache, if enabled (memcached)
+ * 'udp' to be sent to the UDP profiler (see $wgUDPProfilerHost)
+ * false to disable
+ */
+$wgStatsMethod = 'cache';
+
+/**
+ * When $wgStatsMethod is 'udp', setting this to a string allows statistics to
+ * be aggregated over more than one wiki. The string will be used in place of
+ * the DB name in outgoing UDP packets. If this is set to false, the DB name
+ * will be used.
+ */
+$wgAggregateStatsID = false;
+
+/**
+ * When $wgStatsMethod is 'udp', this variable specifies how stats should be
+ * formatted. Its value should be a format string suitable for a sprintf()
+ * invocation with (id, count, key) arguments, where 'id' is either
+ * $wgAggregateStatsID or the DB name, 'count' is the value by which the metric
+ * is being incremented, and 'key' is the metric name.
+ *
+ * @see $wgUDPProfilerFormatString
+ * @see $wgAggregateStatsID
+ * @since 1.22
+ */
+$wgStatsFormatString = "stats/%s - %s 1 1 1 1 %s\n";
+
+/**
  * Destination of statsd metrics.
  *
  * A host or host:port of a statsd server. Port defaults to 8125.
@@ -5902,13 +5771,15 @@
 $wgStatsdServer = false;
 
 /**
- * Prefix for metric names sent to $wgStatsdServer.
+ * Prefix for metric names sent to wgStatsdServer.
+ *
+ * Defaults to "MediaWiki".
  *
  * @see RequestContext::getStats
  * @see BufferingStatsdDataFactory
  * @since 1.25
  */
-$wgStatsdMetricPrefix = 'MediaWiki';
+$wgStatsdMetricPrefix = false;
 
 /**
  * InfoAction retrieves a list of transclusion links (both to and from).
@@ -6344,8 +6215,7 @@
 $wgRCWatchCategoryMembership = false;
 
 /**
- * Use RC Patrolling to check for vandalism (from recent changes and 
watchlists)
- * New pages and new files are included.
+ * Use RC Patrolling to check for vandalism
  */
 $wgUseRCPatrol = true;
 
@@ -6353,13 +6223,6 @@
  * Use new page patrolling to check new pages on Special:Newpages
  */
 $wgUseNPPatrol = true;
-
-/**
- * Use file patrolling to check new files on Special:Newfiles
- *
- * @since 1.27
- */
-$wgUseFilePatrol = true;
 
 /**
  * Log autopatrol actions to the log table
@@ -6661,14 +6524,6 @@
  */
 $wgExportAllowAll = false;
 
-/**
- * Maximum number of pages returned by the GetPagesFromCategory and
- * GetPagesFromNamespace functions.
- *
- * @since 1.27
- */
-$wgExportPagelistLimit = 5000;
-
 /** @} */ # end of import/export }
 
 /*************************************************************************//**
@@ -6902,15 +6757,15 @@
        'sendMail' => 'EmaillingJob',
        'enotifNotify' => 'EnotifNotifyJob',
        'fixDoubleRedirect' => 'DoubleRedirectJob',
+       'uploadFromUrl' => 'UploadFromUrlJob',
        'AssembleUploadChunks' => 'AssembleUploadChunksJob',
        'PublishStashedFile' => 'PublishStashedFileJob',
        'ThumbnailRender' => 'ThumbnailRenderJob',
        'recentChangesUpdate' => 'RecentChangesUpdateJob',
-       'refreshLinksPrioritized' => 'RefreshLinksJob',
-       'refreshLinksDynamic' => 'RefreshLinksJob',
+       'refreshLinksPrioritized' => 'RefreshLinksJob', // for cascading 
protection
+       'refreshLinksDynamic' => 'RefreshLinksJob', // for pages with dynamic 
content
        'activityUpdateJob' => 'ActivityUpdateJob',
        'categoryMembershipChange' => 'CategoryMembershipChangeJob',
-       'cdnPurge' => 'CdnPurgeJob',
        'enqueue' => 'EnqueueJob', // local queue for multi-DC setups
        'null' => 'NullJob'
 );
@@ -7048,7 +6903,7 @@
  * Extensions can define there own collations by subclassing Collation
  * and using the Collation::factory hook.
  */
-$wgCategoryCollation = 'uppercase';
+$wgCategoryCollation = 'uca-default';
 
 /** @} */ # End categories }
 
@@ -7528,7 +7383,6 @@
 /**
  * List of Ajax-callable functions.
  * Extensions acting as Ajax callbacks must register here
- * @deprecated (officially) since 1.27; use the API instead
  */
 $wgAjaxExportList = array();
 
@@ -7687,6 +7541,7 @@
 
 /************************************************************************//**
  * @name   Job queue
+ * See also $wgEnotifUseJobQ.
  * @{
  */
 
@@ -7955,34 +7810,6 @@
  * @var string path to file
  */
 $wgPopularPasswordFile = __DIR__ . '/../serialized/commonpasswords.cdb';
-
-/*
- * Max time (in seconds) a user-generated transaction can spend in writes.
- * If exceeded, the transaction is rolled back with an error instead of being 
committed.
- *
- * @var int|bool Disabled if false
- * @since 1.27
- */
-$wgMaxUserDBWriteDuration = false;
-
-/**
- * Mapping of event channels to EventRelayer configuration.
- *
- * By setting up a PubSub system (like Kafka) and enabling a corresponding 
EventRelayer class
- * that uses it, MediaWiki can broadcast events to all subscribers. Certain 
features like WAN
- * cache purging and CDN cache purging will emit events to this system. 
Appropriate listers can
- * subscribe to the channel and take actions based on the events. For example, 
a local daemon
- * can run on each CDN cache node and perfom local purges based on the URL 
purge channel events.
- *
- * The 'default' channel is for all channels without an explicit entry here.
- *
- * @since 1.27
- */
-$wgEventRelayerConfig = array(
-       'default' => array(
-               'class' => 'EventRelayerNull',
-       )
-);
 
 /**
  * For really cool vim folding this needs to be at the end:

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: If7dd5d5c1d10beb6b3cbf80af83dfdcc05814e43
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Billm <[email protected]>

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

Reply via email to