Extension:EventLogging

This page is a translated version of the page Extension:EventLogging and the translation is 100% complete.
Other languages:
MediaWiki 拡張機能マニュアル
OOjs UI icon advanced-invert.svg
EventLogging
リリースの状態: 安定
実装 特別ページ , データベース , ContentHandler
説明 アナリティクスのイベントを記録するためのフレームワークを提供
作者 Ori.livnehトーク
最新バージョン 継続的な更新
MediaWiki 1.33+
PHP 5.5+
データベースの変更 いいえ
ライセンス GNU 一般公衆利用許諾書 2.0 以降
ダウンロード
  • $wgEventLoggingStreamNames
  • $wgEventLoggingSchemaApiUri
  • $wgEventLoggingServiceUri
  • $wgEventLoggingQueueLingerSeconds
  • $wgEventLoggingBaseUri
  • $wgEventLoggingSchemas
  • $wgEventLoggingDBname
translatewiki.net で翻訳を利用できる場合は、EventLogging 拡張機能の翻訳にご協力ください

使用状況とバージョン マトリクスを確認してください。

Vagrant role eventlogging
問題点 未解決のタスク · バグを報告

EventLogging拡張機能は、ユーザーがどのようにMediaWikiサイトを操作しているかについて、構造化されたデータを収集することを可能にします。

特徴

  • EventLoggingは、JavaScriptによるクライアントサイドロギングと、PHPによるサーバーサイドロギングをサポートしています。
  • ログの動作はExtension:EventStreamConfig を使って動的に設定できます。
  • イベントは、スキーマのgitリポジトリに格納されているバージョン管理されたJSONSchemasによって定義されたJSONオブジェクトです。
  • この拡張機能には、これらのイベントを転送、解析、またはロードするためのバックエンドコードは一切含まれていません。 別のサービスであるEventGateは、この機能を実装し、Kafkaにイベントを挿入する処理を行います。 イベントは、様々な取り込みパイプラインを介して、下流のデータストア(Hiveなど)に永続化されます。 これらのコンポーネントの詳細は、ウィキメディア財団の構成に固有のものです。

ウィキメディアでのEventLogging

ウィキメディア財団は、利用者データを収集、集約、保存、分析するための広範なシステムの一部として、プライバシーポリシーデータ保持ガイドラインで定められた範囲内で、EventLogging拡張機能を使用しています。

このページでは、EventLogging拡張機能の一般的な使い方について説明します。 ウィキメディア財団では、WMF専用のバックエンドコンポーネントとschema repositoriesでEventLoggingを使用しています。 ウィキメディア特有の維持されている文書については、wikitech:Analytics/Systems/EventLoggingwikitech:Event Platformを参照してください。

Installation

  • Vagrant を使用している場合は、vagrant roles enable eventlogging --provisionでインストールしてください。
手動インストール
  • ダウンロードして、ファイルをextensions/フォルダー内のEventLoggingという名前のディレクトリ内に配置します。
  • 以下のコードをLocalSettings.phpの末尾に追加します:
    wfLoadExtension( 'EventLogging' );
    $wgEventLoggingBaseUri = '/beacon/event';
    
  • If you would like to express a conditional dependency on EventLogging in your extension, see this sample code snippet.
  •   完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。

Configuring the schema location

By default, the extension will look for schemas on Meta-Wiki. The relevant default settings are:

# (default) $wgEventLoggingSchemaApiUri = 'https://meta.wikimedia.org/w/api.php';
# (default) $wgEventLoggingDBname = 'metawiki';

To use local schemas, or schemas from the central wiki of your own wikifarm, you need to override these. E.g. to use the Schema namespace of the local wiki, set

$wgEventLoggingSchemaApiUri = $wgServer . '/w/api.php';
$wgEventLoggingDBname = $wgDBname;

(and ensure the user account that will create the schemas is autoconfirmed).

EventLoggingでイベントを記録する

EventLogging拡張機能の開発

開発者向け注記

開発者であれば、開発用のWikiでEventLoggingを設定して使用し、本番での使用をシミュレートしたいと思うでしょう。

Dockerの使用

MediaWiki-Docker/Configuration recipes/EventLogging を参照

mediawiki-vagrantを使用

mediawiki-vagrantを使って開発する場合、必要なものはすべてeventloggingロールにまとめられています。 有効にするには、次のように実行します。

$ vagrant roles enable eventlogging
$ vagrant provision

JavaScript開発のために

JavaScriptクライアントで作業する場合は、開発しているフォルダからnpm installで依存関係をインストールする必要があります。 そうすると、例えば./node_modules/grunt/bin/grunt eslintをリントに使えます。 下記の「テストの実行方法」では、JavaScriptのテスト結果を確認する方法を紹介しています。

テストの実行方法

PHPテスト、Pythonテスト、JavaScriptテストがあります。

JavaScriptのテストを実行するには、開発wikiの「Special:JavaScriptTest/qunit」をご覧ください。 (Manual:JavaScript 単体テスト を参照)

PHPのテストを実行するには、PHPUnitを使用します。 インストールされていることを確認してから

$ vagrant ssh
vagrant@mediawiki-vagrant:/vagrant/mediawiki/extensions/EventLogging/tests$ php /vagrant/mediawiki/tests/phpunit/phpunit.php EventLoggingExtensionFunctionsTest.php