Jump to content

Extension:ApiFeatureUsage

From mediawiki.org
MediaWiki extensions manual
ApiFeatureUsage
Release status: stable
Implementation Special page , API
Description Access API feature usage log summaries
Author(s) Brad Jorsch (Anomietalk)
Latest version 1.0 (2016-12-07)
Compatibility policy Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki 1.25+
PHP 5.5.9+
Database changes No
License GNU General Public License 2.0 or later
Download
  • $wgApiFeatureUsageQueryEngineConf
Quarterly downloads 14 (Ranked 115th)
Public wikis using 847 (Ranked 303rd)
Translate the ApiFeatureUsage extension
Issues Open tasks · Report a bug

The ApiFeatureUsage extension adds a special page and an API module to fetch summaries of data logged by ApiBase::logFeatureUsage(), which is typically an indication of use of deprecated API features.

Dependencies

[edit]

Log data must be added to some sort of storage system. Currently Elasticsearch is supported via Extension:Elastica .

Installation

[edit]
  • Download and move the extracted ApiFeatureUsage folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/ApiFeatureUsage
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'ApiFeatureUsage' );
    
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Configuration

[edit]
Parameters
Name Description
$wgApiFeatureUsageQueryEngineConf Configuration array for accessing the log storage backend.
class
Backend access class to instantiate. Either this or factory is required.
factory
PHP callable which must return an instance of a backend access class. Either this or class is required.
Elastica backend (ApiFeatureUsageQueryEngineElastica)

Additional configuration values in $wgApiFeatureUsageQueryEngineConf:

serverList
Array of Elasticsearch servers. Required.
maxConnectionAttempts
Maximum connection attempts, default 1.
indexPrefix
Prefix for the indexes to use. Default "apifeatureusage-".
indexFormat
Date formatting for the indexes to use, see the PHP manual. Default "Y.m.d".
type
Elasticsearch type to query. Default "api-feature-usage-sanitized".
featureField
Field name for the logged value of $feature. Default "feature".
timestampField
Field name for the logged timestamp. Default "@timestamp".
agentField
Field name for the logged user agent. Default "agent".

Usage

[edit]

The extension adds a new special page, Special:ApiFeatureUsage, with a simple form to request a summary of feature usage logs for a user agent and date range.

The extension also adds an API query submodule, meta=featureusage. See the auto-generated API documentation for details.

See also

[edit]