*/
];
+/**
+ * Verify and enforce WAN cache purges using reliable DB sources as streams.
+ *
+ * These secondary cache purges are de-duplicated via simple cache mutexes.
+ * This improves consistency when cache purges are lost, which becomes more likely
+ * as more cache servers are added or if there are multiple datacenters. Only keys
+ * related to important mutable content will be checked.
+ *
+ * @var bool
+ * @since 1.29
+ */
+$wgEnableWANCacheReaper = false;
+
/**
* Main object stash type. This should be a fast storage system for storing
* lightweight data like hit counters and user activity. Sites with multiple
*/
$wgBotPasswordsDatabase = false;
+/**
+ * Whether to disable user group expiry. This is a transitional feature flag
+ * in accordance with WMF schema change policy, and will be removed later
+ * (hopefully before MW 1.29 release).
+ *
+ * @since 1.29
+ */
+$wgDisableUserGroupExpiry = false;
+
/** @} */ # end of user rights settings
/************************************************************************//**
/**
* Whether to set a cookie when a user is autoblocked. Doing so means that a blocked user, even
- * after logging out and moving to a new IP address, will still be blocked.
+ * after logging out and moving to a new IP address, will still be blocked. This cookie will contain
+ * an authentication code if $wgSecretKey is set, or otherwise will just be the block ID (in
+ * which case there is a possibility of an attacker discovering the names of revdeleted users, so
+ * it is best to use this in conjunction with $wgSecretKey being set).
*/
$wgCookieSetOnAutoblock = false;
$wgRCLinkDays = [ 1, 3, 7, 14, 30 ];
/**
- * Destinations to which notifications about recent changes
- * should be sent.
+ * Configuration for feeds to which notifications about recent changes will be sent.
+ *
+ * The following feed classes are available by default:
+ * - 'UDPRCFeedEngine' - sends recent changes over UDP to the specified server.
+ * - 'RedisPubSubFeedEngine' - send recent changes to Redis.
*
- * As of MediaWiki 1.22, there are 2 supported 'engine' parameter option in core:
- * * 'UDPRCFeedEngine', which is used to send recent changes over UDP to the
- * specified server.
- * * 'RedisPubSubFeedEngine', which is used to send recent changes to Redis.
+ * Only 'class' or 'uri' is required. If 'uri' is set instead of 'class', then
+ * RecentChange::getEngine() is used to determine the class. All options are
+ * passed to the constructor.
*
- * The common options are:
- * * 'uri' -- the address to which the notices are to be sent.
- * * 'formatter' -- the class name (implementing RCFeedFormatter) which will
- * produce the text to send. This can also be an object of the class.
- * * 'omit_bots' -- whether the bot edits should be in the feed
- * * 'omit_anon' -- whether anonymous edits should be in the feed
- * * 'omit_user' -- whether edits by registered users should be in the feed
- * * 'omit_minor' -- whether minor edits should be in the feed
- * * 'omit_patrolled' -- whether patrolled edits should be in the feed
+ * Common options:
+ * - 'class' -- The class to use for this feed (must implement RCFeed).
+ * - 'omit_bots' -- Exclude bot edits from the feed. (default: false)
+ * - 'omit_anon' -- Exclude anonymous edits from the feed. (default: false)
+ * - 'omit_user' -- Exclude edits by registered users from the feed. (default: false)
+ * - 'omit_minor' -- Exclude minor edits from the feed. (default: false)
+ * - 'omit_patrolled' -- Exclude patrolled edits from the feed. (default: false)
*
- * The IRC-specific options are:
- * * 'add_interwiki_prefix' -- whether the titles should be prefixed with
- * the first entry in the $wgLocalInterwikis array (or the value of
- * $wgLocalInterwiki, if set)
+ * FormattedRCFeed-specific options:
+ * - 'uri' -- [required] The address to which the messages are sent.
+ * The uri scheme of this string will be looked up in $wgRCEngines
+ * to determine which RCFeedEngine class to use.
+ * - 'formatter' -- [required] The class (implementing RCFeedFormatter) which will
+ * produce the text to send. This can also be an object of the class.
+ * Formatters available by default: JSONRCFeedFormatter, XMLRCFeedFormatter,
+ * IRCColourfulRCFeedFormatter.
*
- * The JSON-specific options are:
- * * 'channel' -- if set, the 'channel' parameter is also set in JSON values.
+ * IRCColourfulRCFeedFormatter-specific options:
+ * - 'add_interwiki_prefix' -- whether the titles should be prefixed with
+ * the first entry in the $wgLocalInterwikis array (or the value of
+ * $wgLocalInterwiki, if set)
+ *
+ * JSONRCFeedFormatter-specific options:
+ * - 'channel' -- if set, the 'channel' parameter is also set in JSON values.
*
* @example $wgRCFeeds['example'] = [
+ * 'uri' => 'udp://localhost:1336',
* 'formatter' => 'JSONRCFeedFormatter',
- * 'uri' => "udp://localhost:1336",
* 'add_interwiki_prefix' => false,
* 'omit_bots' => true,
* ];
- * @example $wgRCFeeds['exampleirc'] = [
+ * @example $wgRCFeeds['example'] = [
+ * 'uri' => 'udp://localhost:1338',
* 'formatter' => 'IRCColourfulRCFeedFormatter',
- * 'uri' => "udp://localhost:1338",
* 'add_interwiki_prefix' => false,
* 'omit_bots' => true,
* ];
+ * @example $wgRCFeeds['example'] = [
+ * 'class' => 'ExampleRCFeed',
+ * ];
* @since 1.22
*/
$wgRCFeeds = [];
/**
- * Used by RecentChange::getEngine to find the correct engine to use for a given URI scheme.
- * Keys are scheme names, values are names of engine classes.
+ * Used by RecentChange::getEngine to find the correct engine for a given URI scheme.
+ * Keys are scheme names, values are names of FormattedRCFeed sub classes.
+ * @since 1.22
*/
$wgRCEngines = [
'redis' => 'RedisPubSubFeedEngine',
* The remaining elements are passed through to the class as constructor
* parameters.
*
- * @par Example:
+ * @par Example using local redis instance:
+ * @code
+ * $wgPoolCounterConf = [ 'ArticleView' => [
+ * 'class' => 'PoolCounterRedis',
+ * 'timeout' => 15, // wait timeout in seconds
+ * 'workers' => 1, // maximum number of active threads in each pool
+ * 'maxqueue' => 5, // maximum number of total threads in each pool
+ * 'servers' => [ '127.0.0.1' ],
+ * 'redisConfig' => []
+ * ] ];
+ * @endcode
+ *
+ * @par Example using C daemon from https://www.mediawiki.org/wiki/Extension:PoolCounter:
* @code
* $wgPoolCounterConf = [ 'ArticleView' => [
* 'class' => 'PoolCounter_Client',
* 'workers' => 5, // maximum number of active threads in each pool
* 'maxqueue' => 50, // maximum number of total threads in each pool
* ... any extension-specific options...
- * ];
+ * ] ];
* @endcode
*/
$wgPoolCounterConf = null;
$wgExperiencedUserEdits = 500;
$wgExperiencedUserMemberSince = 30; # days
+/**
+ * Mapping of interwiki index prefixes to descriptors that
+ * can be used to change the display of interwiki search results.
+ *
+ * Descriptors are appended to CSS classes of interwiki results
+ * which using InterwikiSearchResultWidget.
+ *
+ * Predefined descriptors include the following words:
+ * definition, textbook, news, quotation, book, travel, course
+ *
+ * @par Example:
+ * @code
+ * $wgInterwikiPrefixDisplayTypes = [
+ * 'iwprefix' => 'definition'
+ *];
+ * @endcode
+ */
+$wgInterwikiPrefixDisplayTypes = [];
+
/**
* For really cool vim folding this needs to be at the end:
* vim: foldmarker=@{,@} foldmethod=marker