Jump to content

Extension:EventLogging

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

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

特徴

  • EventLoggingはログ処理について、JavaScriptによるクライアント側と、PHPによるサーバー側をサポートします。
  • ログの動作はExtension:EventStreamConfig を使って動的に設定できます。
  • イベントはJSONオブジェクトとして扱い、それを定義する JSONSchemas はスキーマのgitリポジトリに格納してありバージョン管理されています。
  • この拡張機能には、これらのイベントを転送、解析、または読み込むバックエンドコードは一切含まれていません。 ウィキメディアで同じ目的のため採用する別個の構成要素に関心がある人は、ウィキメディアで#EventLogging(イベントのログ処理)を参照してください

ウィキメディアにおけるEventLogging

このページでは、EventLogging拡張機能の一般的な使い方について説明します。

ウィキメディアではEventLogging拡張機能に関して、利用者データを収集、集約、保存、分析するための広範なシステムの一部として、プライバシーポリシーデータ保持ガイドラインで定められた範囲内での採用しています。 このシステムの説明文書は、wikitech:Event Platform を参照してください。

インストール

  • ダウンロードして、ファイルをextensions/フォルダー内のEventLoggingという名前のディレクトリ内に配置します。
    開発者とコード寄稿者は、上記の代わりに以下を使用してGitからインストールします:
    cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/EventLogging
    
  • 以下のコードを LocalSettings.php ファイルの末尾に追加します:
    wfLoadExtension( 'EventLogging' );
    $wgEventLoggingBaseUri = '/beacon/event';
    $wgEventLoggingServiceUri = '/beacon/intake-analytics';
    $wgEventLoggingStreamNames = false;
    
  • Yes 完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。


Vagrantでのインストール:

  • Vagrant を使用している場合は、vagrant roles enable eventlogging --provisionでインストールしてください。

スキーマの配置を設定

この拡張機能は既定では、メタウィキにスキーマを探しに行きます。 関連する既定の設定は次のとおり。

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

ローカルのスキーマまたは独自のウィキ・ファームの中央ウィキからスキーマを得て採用するには、これらを上書きしてください。 一例としてローカルのウィキの名前空間 Schema を使う場合の設定は次のとおり

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

(そのスキーマを作成するには必ず自動認証済みの利用者アカウントを使うこと)。

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で依存関係をインストールする必要があります。 そうすると、例えばnpm testをリントに使えます。 下記の「テストの実行方法」では、JavaScriptのテスト結果を確認する方法を紹介しています。

URL に引数 trackdebug=true を追加するとイベントのログを取り出し、ブラウザの開発ツール(devtools)にあるコンソールに示します。

テストの実行方法

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

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

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

$ vagrant ssh
vagrant@mediawiki-vagrant:/vagrant/mediawiki$ composer phpunit:entrypoint -- extensions/EventLogging/testsEventLoggingExtensionFunctionsTest.php