Open main menu

Extension:PageTriage

This page is a translated version of the page Extension:PageTriage and the translation is 16% complete.

Other languages:
English • ‎dansk • ‎español • ‎français • ‎português do Brasil • ‎中文 • ‎日本語
MediaWiki 拡張機能マニュアル
OOjs UI icon advanced.svg
PageTriage
リリースの状態: 安定
PagesFeedInfoFlyout.png
実装 Special page, User interface
説明 Facilitates reviewing and approving new pages
作者 Ryan Kaldari, Benny Situ
最新バージョン 0.3.0 (2018-06-26)
互換性ポリシー リリースブランチ
MediaWiki 1.27+ . PageTriage master should only be used with core's master; otherwise, use matching branches (e.g. PageTriage REL1_27 with core REL1_27, or matching WMF release branches).
データベースの変更 はい
ライセンス MIT License
ダウンロード
Special:NewPagesFeed on the English Wikipedia
パラメーター
  • $wgPageTriageCacheVersion
  • $wgPageTriageCurationModules
  • $wgPageTriageDeletionTagsOptionsContentLanguageMessages
  • $wgPageTriageDeletionTagsOptionsMessages
  • $wgPageTriageDraftNamespaceId
  • $wgPageTriageEnableCurationToolbar
  • $wgPageTriageEnabledEchoEvents
  • $wgPageTriageFeedbackUrl
  • $wgPageTriageInfiniteScrolling
  • $wgPageTriageLearnMoreUrl
  • $wgPageTriageMarkPatrolledLinkExpiry
  • $wgPageTriageMaxAge
  • $wgPageTriageNamespaces
  • $wgPageTriageNoIndexTemplates
  • $wgPageTriageNoIndexUnreviewedNewArticles
  • $wgPageTriagePagesPerRequest
  • $wgPageTriageProjectLink
  • $wgPageTriageStickyControlNav
  • $wgPageTriageStickyStatsNav
  • $wgPtTemplatePathPageTriageTagsOptionsMessages
  • $wgTalkPageNoteTemplate
使用するフック
ArticleDeleteComplete
ArticleViewFooter
BeforeCreateEchoEvent
BlockIpComplete
EchoGetDefaultNotifiedUsers
GetPreferences
LinksUpdateComplete
LoadExtensionSchemaUpdates
LocalUserCreated
MarkPatrolledComplete
NewRevisionFromEditComplete
PageContentInsertComplete
PageContentSaveComplete
ResourceLoaderGetConfigVars
ResourceLoaderRegisterModules
TitleMoveComplete
UserMergeAccountFields
translatewiki.net で翻訳を利用できる場合は、PageTriage 拡張機能の翻訳にご協力ください
使用状況とバージョン マトリクスを確認してください。
問題点 未解決のタスク · バグを報告

PageTriage is an extension that aims to provide a feature-rich interface for triaging newly-created articles. It is intended to replace the new page patrol core function while adding additional functionality for reviewing, tagging, and improving new articles. It adds a Special:NewPagesFeed page, and a page curation toolbar to new pages for those with the 'patrol' permission. It was developed by the Wikimedia Foundation's Features Engineering team. For additional details see Page Curation.

An important note is that some of the configuration and code is specific to the English-language Wikipedia's workflows and as it's constructed now the extension is pretty much impossible to internationalize. (Phabricator:T50552 を参照してください。)

Contents

ダウンロード

拡張機能は、Git から直接取得できる場合があります [?]:

  • コードを参照
  • 一部の拡張機能には安定版リリースのタグがあります。
    • タグを参照
    • タグを選択します
    • 「スナップショット」をクリックします
  • 各ブランチは過去の MediaWiki リリースと関連付けられています。 最新のアルファ バージョンを含む「master」ブランチもあります (MediaWiki のアルファ バージョンが必要な場合用)。

スナップショットを展開して、MediaWiki インストレーション内の extensions/PageTriage/ ディレクトリに配置します。

git に馴染みがあり、かつサーバーにシェルでアクセスできる場合は、拡張機能を以下のようにして取得することもできます:

cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/PageTriage.git

インストール

  • ダウンロードして、ファイルを extensions/ フォルダー内の PageTriage という名前のディレクトリ内に配置します。
  • 以下のコードを LocalSettings.php の末尾に追加します:
    wfLoadExtension( 'PageTriage' );
    // These two settings are optional, and will enable the Articles-for-Creation mode.
    $wgExtraNamespaces[118] = 'Draft';
    $wgPageTriageDraftNamespaceId = 118;
    
  • 更新スクリプトを実行します。このスクリプトは、この拡張機能が必要とするデータベース テーブルを自動的に作成します。
  •   完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。

MediaWiki 1.24 以前を稼働させている利用者へ:

上記の手順では、wfLoadExtension() を使用してこの拡張機能をインストールする新しい方法を記載しています。 この拡張機能をこれらの過去のバージョン (MediaWiki 1.24 以前) にインストールする必要がある場合は、wfLoadExtension( 'PageTriage' ); の代わりに以下を使用する必要があります:

require_once "$IP/extensions/PageTriage/PageTriage.php";

To actually see the extension working:

The new page should appear, flagged as "カテゴリなし", "孤立", etc. To see the page curation toolbar:

  • Login as a user with the 'sysop' permission, or add a group with the "patrol" permission, and add some user to that group, and login as that user.
  • Visit Special:NewPagesFeed
  • Now you should see a "査読" button next to the new page.
  • Click this and you should see the page curation toolbar on the new page.

Extension configuration

The extension is based on the 'patrol' right. For more information about configuring patrolling, see Manual:巡回 .

The following configuration variables can be set from your LocalSettings.php file:

  • $wgPageTriageEnableCurationToolbar: Set to false to disable the curation toolbar (default is true)
  • $wgPageTriageInfiniteScrolling: Whether or not to use infinite scrolling in the new pages feed (default is true)
  • $wgPageTriageNoIndexUnreviewedNewArticles: Set this to true if new, unreviewed articles should be set to noindex. In other words, if they should not be indexed by search engines until they are reviewed. (default is false)
  • $wgPageTriageMaxAge: The age (in days) at which PageTriage allows unreviewed articles to become indexed by search engines (if $wgPageTriageNoIndexUnreviewedNewArticles is true) (default is 90).
  • $wgPageTriageNamespaces: The namespaces that PageTriage is active in. (default is NS_MAIN and NS_USER).

See extension.json for the full list of config variables.

On-wiki configuration

It is possible to configure much of PageTriage on-wiki via the pages MediaWiki:PageTriageExternalDeletionTagsOptions.js and MediaWiki:PageTriageExternalTagsOptions.js, although the structure of the configuration may change in the future (to better accommodate wikis besides English Wikipedia).

You can get a general idea of how the configuration works by looking at the following:

Toolbar section 既定のファイル English Wikipedia customization
  Add tags modules/ext.pageTriage.defaultTagsOptions/ext.pageTriage.defaultTagsOptions.js en:MediaWiki:PageTriageExternalTagsOptions.js
  Nominate for deletion modules/ext.pageTriage.defaultDeletionTagsOptions/ext.pageTriage.defaultDeletionTagsOptions.js en:MediaWiki:PageTriageExternalDeletionTagsOptions.js

Both of these files operate in much the same way.

There are two top-level jQuery variables that define the curation templates that are listed in the curation toolbar under the   (add tags) and   (nominate for deletion) buttons. These are:

$.pageTriageTagsOptions = {};
$.pageTriageDeletionTagsOptions = { Main: {}, User: {} };

The 'Main' and 'User' refer to the namespace of the page being curated. Each sub-item in the three sets above defines the tabs shown at the left side of the toolbar, and has the following form:

{
    label: 'Short title',
    desc: 'A longer description.', // Text only, no HTML or Wikitext markup
    multiple: false, // Whether more than one of the tags can selected at once.
    tags: { tag1 = {}, tag2 = {} }
}

Then the actual templates that are listed are defined under the above tags variable. Each deletion template has the following form:

{
    tag: 'Actual_template_name', // Without the 'Template:' prefix.
    label: 'Friendly template title',
    desc: 'A longer description.', // Text only, no HTML or Wikitext markup
    code: '',
    params: {},
    anchor: '',
    talkpagenotiftopictitle: 'message-name', // The message name (e.g. pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title) used as the section/topic title when posting to the editing user's talk page.  Usually, you can reuse one of the existing messages (currently pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title, pagetriage-del-tags-prod-notify-topic-title, pagetriage-del-tags-xfd-notify-topic-title).  If you need a new one, file a task so $wgPageTriageDeletionTagsOptionsContentLanguageMessages or the PageTriage repository can be updated.
    talkpagenotiftpl: 'Template_name' // The template that will be added to the editing user's talk page, not including the talk page heading (handled by talkpagenotiftopictitle).
}

At the moment, some tags must be present:

  1. $.pageTriageDeletionTagsOptions.Main.xfd.tags.articlefordeletion

So, if you don't want to use any of the built-in deletion templates (which can be imported from NewPagesFeed_Templates.xml, by the way) then you can replace them all with a single one by adding the following at the bottom of your MediaWiki:PageTriageExternalDeletionTagsOptions.js page:

var deletionSection = {
    label: 'Deletion',
    desc: 'Nominate for deletion.',
    multiple: false,
    tags: {
        articlefordeletion: {
            tag: 'delete',
            label: 'Delete',
            desc: 'Nominate this page for deletion.',
            code: '',
            params: {},
            anchor: '',
            talkpagenotiftopictitle: 'pagetriage-del-tags-xfd-notify-topic-title',
            talkpagenotiftpl: 'Deletion notification'
        }
    }
};
$.pageTriageDeletionTagsOptions = { Main: { xfd: deletionSection }, User: { xfd: deletionSection } };


API

PageTriage adds 5 API endpoints which can be used:

  • api.php?action=pagetriagestats - Retrieves stats about the number of pages in the queue and the top reviewers
  • api.php?action=pagetriagelist - Retrieves the list of pages in the queue and associated metadata
  • api.php?action=pagetriageaction - Mark a page as reviewed or unreviewed
  • api.php?action=pagetriagetagging - Add clean-up tags or deletion templates to a page
  • api.php?action=pagetriagetemplate - Internal API for fetching Backbone templates for use in the JS application

関連項目