Extension:PageTriage/de

This page is a translated version of the page Extension:PageTriage and the translation is 6% complete.
MediaWiki-Erweiterungen
OOjs UI icon advanced-invert.svg
PageTriage
Freigabestatus: stabil
PagesFeedInfoFlyout.png
Einbindung Spezialseite , Benutzer-Schnittstelle
Beschreibung Facilitates reviewing and approving new pages
Autor(en) Ryan Kaldari, Benny Situ
Letzte Version 0.3.0 (2018-06-26)
Kompatibilitätspolitik Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki 1.27+
Datenbankänderungen Ja
Tabellen pagetriage_log
pagetriage_page
pagetriage_page_tags
pagetriage_tags
Lizenz MIT-Lizenz
Herunterladen
Beispiel Special:NewPagesFeed on the English Wikipedia
  • $wgPageTriageMaxAge
  • $wgTalkPageNoteTemplate
  • $wgPageTriageStickyStatsNav
  • $wgPageTriageNamespaces
  • $wgPageTriageMarkPatrolledLinkExpiry
  • $wgPageTriageDeletionTagsOptionsMessages
  • $wgPageTriageTagsOptionsMessages
  • $wgPageTriageEnabledEchoEvents
  • $wgPageTriageEnableOresFilters
  • $wgPageTriageInfiniteScrolling
  • $wgPageTriageEnableCopyvio
  • $wgPageTriageProjectLink
  • $wgPageTriageCurationModules
  • $wgPageTriageLearnMoreUrl
  • $wgPageTriageCacheVersion
  • $wgPageTriageDraftNamespaceId
  • $wgPageTriageDeletionTagsOptionsContentLanguageMessages
  • $wgPtTemplatePath
  • $wgPageTriageEnableCurationToolbar
  • $wgPageTriageFeedbackUrl
  • $wgPageTriagePagesPerRequest
  • $wgPageTriageNoIndexUnreviewedNewArticles
  • $wgPageTriageStickyControlNav
  • pagetriage-copyvio
Übersetze die PageTriage-Erweiterung, wenn sie auf translatewiki.net verfügbar ist

Prüfe die Benutzungs- und Versionsmatrix.

Probleme Offene Aufgaben · Einen Fehler melden

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. (See Phabricator:T50552.)

Die Erweiterung kann direkt von Git bezogen werden [?]:

  • Den Code ansehen
  • Einige Erweiterungen haben Tags für stabile Versionen.
  • Jeder Zweig ist mit einer früheren MediaWiki-Freigabe verknüpft. Es gibt auch einen „Master“-Zweig, der die aktuellste Alpha-Version enthält (möglicherweise ist dafür eine Alpha-Version von MediaWiki erforderlich).

Extrahiere den Snapshot und kopiere ihn in das extensions/PageTriage/-Verzeichnis der MediaWiki-Installation.

Falls man sich mit git auskennt und einen Konsolen-Zugang zum Server hat, kann man die Erweiterung auch so bekommen:

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

Installation

  • Die Erweiterung herunterladen und die Datei(en) in ein Verzeichnis namens PageTriage im Ordner extensions/ ablegen.
  • Folgenden Code am Ende der LocalSettings.php hinzufügen:
    wfLoadExtension( 'PageTriage' );
    // These two settings are optional, and will enable the Articles-for-Creation mode.
    $wgExtraNamespaces[118] = 'Draft';
    $wgPageTriageDraftNamespaceId = 118;
    
  • Führe das Aktualisierungsskript aus, welches automatisch die notwendigen Datenbanktabellen erstellt, die diese Erweiterung braucht.
  •   Erledigt – Zu Special:Version in dem Wiki (bei Einstellung auf deutsch nach Spezial:Version) navigieren, um die erfolgreiche Installierung der Erweiterung zu überprüfen.

Für Benutzer, die MediaWiki in der Version 1.24 und früher betreiben:

Die oben stehenden Anweisungen beschreiben die neue Installationsanweisung für diese Erweiterung unter der Verwendung von wfLoadExtension(). Wird diese Erweiterung in einer dieser früheren Versionen (MediaWiki 1.24 und früher)  – an Stelle von wfLoadExtension( 'PageTriage' ); – installiert, benutze:

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

To actually see the extension working:

  • Add a new stub page as an anonymous user.

The new page should appear, flagged as "Keine Kategorien", "Verwaist", 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.
  • Now you should see a "Prüfen" 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:Patrolling .

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 Default file 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

Beispiel

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 } };

Client-side hooks

PageTriage provides a specialized action queue system to allow other scripts and gadgets to integrate with it. This is similar to mw.hook except that it uses promises. This is done using the mw.pageTriage.actionQueue module. See the comments in the source code for documentation on how the system works.

The actionQueue module is available after the mw.hook ext.pageTriage.toolbar.ready fires. PageTriage will give the action queue handler an Object with the following data, in addition to other data as noted below:

  • pageidID of the page being reviewed.
  • titleTitle of the page, including namespace.
  • reviewerUsername of who is using PageTriage.
  • creatorUsername of the creator of the page.
  • reviewedWhether or not the page is currently or will be marked as reviewed.

Available actions

  • deleteFired when the reviewer tags a page for deletion. The data given to the handler also includes:
    • tagsAn object of all the templates added to the page. The keys are the template title, and the values are an object of metadata, including things like the speedy deletion code.
  • markFired when the review status of a page is changed. Also includes:
    • noteThe personal message the reviewer added for the creator of the page. This may be blank.
  • tagsFired when maintenance tags are added to the page. Also includes:
    • tagsAn array of the titles of all templates that were added to the page.
    • noteThe personal message the reviewer added for the creator of the page. This may be blank.

Beispiel

To use the action queue, register a function to be ran when an aforementioned action is fired. PageTriage will wait for any asynchronous code to complete before doing anything else, such as refreshing the page. For example, to edit Sandbox after a page has been marked as reviewed, you could use:

$( function () {
	// You must first listen for the ext.pageTriage.toolbar.ready event using mw.hook, to ensure your handler is registered at the right time.
	mw.hook( 'ext.pageTriage.toolbar.ready' ).add( function ( queue ) {
    	// Listen for the 'mark' action.
		queue.add( 'mark', function ( data ) {
			return new mw.Api().edit( 'Sandbox', function ( revision ) {
				// Replace 'foo' with the note the reviewer left.
				return revision.content.replace( 'foo', data.note );
			} );
		} );
	} );
} );

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

Siehe auch