Extension:FlaggedRevs
Розширення Flagged Revisions дозволяє користувачам Editor і Reviewer to rate версії статей і позначати такі версії як версії за замовчуванням to show upon нормальний вигляд сторінки. Це дозволяє MediaWiki діяти подібніше до системи керування вмістом (CMS).
Installation
- Завантажте і розмістіть файли в каталозі з назвою
FlaggedRevs
у вашійextensions/
папці.
Розробники та автори коду повинні замість цього встановити розширення з Git, використовуючи:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/FlaggedRevs - Додайте такий код унизу вашого файлу LocalSettings.php :
wfLoadExtension( 'FlaggedRevs' );
- Запустіть скрипт оновлення, який автоматично створить необхідні таблиці бази даних, які потрібні цьому розширенню.
- Configure as required.
- Готово – Перейдіть до Special:Version вашої вікі, щоб переконатися, що розширення встановлено успішно.
Встановлення
AllowEncodedSlashes
If you are using Apache 2.3.12 or later, you should set AllowEncodedSlashes to "NoDecode".
Add the following line to your <VirtualHost>
or, if you don't have one, at the end of your httpd.conf file:
AllowEncodedSlashes NoDecode
After you edited httpd.conf, Apache needs to be restarted.
Alter your .htaccess (if needed)
If you are shortening your URLs , you need to add an exception to .htaccess to allow the use of the REST API .
FlaggedRevs calls on rest.php . For example:
https://[domain]/w/rest.php/flaggedrevs/internal/review/Main_Page
If the .htaccess conditions are not properly set when the above url is called, FlaggedRevs will literally try to access an article named "W/rest.php/flaggedrevs/internal/review/Main Page
".
Here is one way to add an exception to .htaccess, emphasis added:
RewriteEngine On RewriteCond %{REQUEST_URI} !^/w/rest\.php RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d RewriteRule ^(.*)$ w/index.php?title=$1 [L,QSA] RewriteRule ^$ w/index.php [L,QSA]
Promote users to reviewers
Після першого встановлення FlaggedRevs жоден користувач не може бачити reviewer's widget. Щоб виправити це, увійдіть як бюрократ вікі та перейдіть на Special:UserRights, а потім надайте review права одному чи декільком користувачам. Reviewers бачитимуть reviewer's widget внизу редагованої сторінки.
Article review statistics (optional)
/var/www/mediawiki
.Створіть роботу cron для запуску extensions/FlaggedRevs/maintenance/updateStats.php
через регулярний інтервал.
Запустіть time php updateStats.php
, аби побачити, як довго працює скрипт, і налаштуйте інтервал робіт вашого cron відповідним чином.
Наприклад, створіть роботу cron, що запускає updateStats.php
під користувачем www-data
щогодини:
@hourly php /var/www/mediawiki/extensions/FlaggedRevs/maintenance/updateStats.php
Конфігурація
Parts of this page (those related to рису вилучено в master-версії) are outdated. |
Права та групи користувачів
За замовчуванням ніхто не може нічого review, тому першим кроком є налаштування прав користувачів.
Групи користувачів | Права користувача |
---|---|
reviewer | validate |
review | |
editor | |
autoreview | |
unreviewedpages |
Права користувачів
FlaggedRevs створює наступні нові групи користувачів:
review
– користувачі можуть review версіїvalidate
– користувачі можуть review версії, та можуть встановлювати всі теги на всі рівніautoreview
– будь-які нові версії, зроблені користувачем, автоматично позначаються підписанимиautoreviewrestore
– autoreview відкотів, зроблених користувачем.unreviewedpages
– користувачі можуть переглядати Special:UnreviewedPagesstablesettings
– користувачі можуть змінювати налаштування стабільних версій будь-якої сторінкиmovestable
– користувачі можуть переміщати сторінки зі стабільними версіями
Групи користувачів
FlaggedRevs створює наступні нові групи користувачів:
editor
– отримуватиautoreview, review, unreviewedpages
, плюс стандартні права користувачів Mediawikiautoconfirmed, editsemiprotected
reviewer
– отримуватиautoreview, review, unreviewedpages, validate
, плюс стандартні права користувачів MediaWikiautoconfirmed, editsemiprotected
autoreview
– отримуватиautoreview
Як призначити права користувачів
Права користувачів можуть бути призначені двома способами:
- Призначаючи права групам користувачів
Призначаючи ці права користувачів наявним групам уLocalSettings.php
:
$wgGroupPermissions['sysop']['review'] = true; //allow administrators to review revisions
- Призначаючи права окремим користувачам
Вручну додати облікові записи користувачів до відповідних груп через Special:UserRights.
- За замовчуванням:
- Бюрократи можуть додавати/видаляти Reviewers
- Адміністратори можуть додавати/видаляти і Autoreviewers, і Editors.
Основні налаштування
FlaggedRevs.php
comes with a number of configurable variables.
Це повинно конфігуруватися в LocalSettings.php
.
$wgFlaggedRevsNamespaces
– Sets what namespaces may be subject to the review process. Це — масив цілих чисел. See Manual:Namespace constants to see what integer the default namespaces map to and use the defined constants for readability.$wgFlaggedRevsTags
– Sets the tags and their 'levels' setting.- Визначення
$wgFlaggedRevsTags
— асоціативний масив, ключі якого відповідають назвам тегів. The only meaningful value of the array is 'levels', which controls the number of review levels, and the array can only have one element.- Labeling
- Each tag can be labeled editing the page MediaWiki:revreview-<tag-name>.
- Each tag level can be labeled editing the page MediaWiki:revreview-<tag-name>-<level-number>.
- By default, the tag is labeled as it appears in the
$wgFlaggedRevsTags
array. To override this, and show tags for example as their capitalized name, the admins have to edit these pages with the shown content, for example changing the content of MediaWiki:revreview-accuracy
- To label the tag levels, the admins have to create these pages with the shown content:
тег level labeling page вміст accuracy 0 MediaWiki:revreview-accuracy-0 не зазначена 1 MediaWiki:revreview-accuracy-1 переглянута 2 MediaWiki:revreview-accuracy-2 точна
- The resulting setup will be:
назви тегів назва рівнів Точність не зазначена переглянута точна
$wgFlaggedRevsOverride
– Whether the stable version is the default content for pages.- Individual pages can be configured to have the stable or draft version as the default content by administrators.
$wgFlaggedRevsTagsRestrictions
– An array with keys corresponding to each flag type, and values that are arrays of rights and how high users with it can rate the flags (integral tag level).- Приклад
$wgFlaggedRevsTagsRestrictions = [ 'accuracy' => [ 'review' => 1 ], ];
Інтерфейс користувача
$wgSimpleFlaggedRevsUI
– Коли включено, то використовується простий, заснований на іконках UI. Не впливає на теги, показувані в режимі редагування.$wgFlaggedRevsLowProfile
– This setting hides the review status box/bar for pages that are reviewed in their latest version. Пояснювальний текст також вилучається з деяких місць.
Workflow
$wgFlaggedRevsAutoReview
– If enabled, every edit by a user with 'autoreview' rights is automatically reviewed upon save. There is no need to hit the "submit review" button. This feature requires that the previous revision was also reviewed; otherwise, auto-review will not occur.$wgFlaggedRevsTagsAuto
– IfwgFlaggedRevsAutoReview
is enabled, this settings controls how high each tag can be auto-reviewed. If allowed, tags will be auto-reviewed to the same level the previous revision tags were. This is an associative array; each key is a tag and each value is a tag level.- Приклад
$wgFlaggedRevsTagsAuto = [ 'accuracy' => 1 ];
- Changes in templates are auto-reviewed (per-page). This could possibly cause bad versions to be reviewed. Users should be encouraged to use preview or review the page after saving. Ви можете захотіти встановити
$wgNamespaceProtection[NS_TEMPLATE]
як[ 'editor' ]
чи[ 'autoconfirmed' ]
Automatic user promotion
$wgFlaggedRevsAutopromote
– An array with keys for days, edits, time spacing, benchmarks, emailconfirmed, recent content page edits, total content edits, content pages edited, edit summaries used, IP uniqueness, and userpage existence as keys. The values correspond to how many days/edits are needed for a user account to be autopromoted to Editor status and whether they must be emailconfirmed and have a user page do so. The user must have at least X edits that are Y or more days apart, where X is the number of benchmarks and Y is the time spacing. Set this variable to false to disable this entirely.- If a user has their Editor rights removed, they will not automatically be re-granted (the editor status log is checked for revocations).
- Some of these counts are not retroactive, so you may notice a delay in promotions.
- Приклад
- For
$wgFlaggedRevsAutopromote
, one might have: $wgFlaggedRevsAutopromote['days'] = 60; # days since registration $wgFlaggedRevsAutopromote['edits'] = 150; # total edit count $wgFlaggedRevsAutopromote['excludeDeleted'] = true; # exclude deleted edits from 'edits' count above? $wgFlaggedRevsAutopromote['spacing'] = 3; # spacing of edit intervals $wgFlaggedRevsAutopromote['benchmarks'] = 15; # how many edit intervals are needed? $wgFlaggedRevsAutopromote['recentContentEdits'] = 10; # $wgContentNamespaces edits in recent changes $wgFlaggedRevsAutopromote['totalContentEdits'] = 30; # $wgContentNamespaces edits $wgFlaggedRevsAutopromote['uniqueContentPages'] = 10; # $wgContentNamespaces unique pages edited $wgFlaggedRevsAutopromote['editComments'] = 5; # how many edit comments used? $wgFlaggedRevsAutopromote['email'] = true; # user must be emailconfirmed? $wgFlaggedRevsAutopromote['userpageBytes'] = 0; # if userpage is needed, what is the min size?
Advanced
$wgFlaggedRevsRestrictionLevels
- Restriction levels forautoreview
/review
rights. When a level is selected for a page, an edit made by a user will not be auto-reviewed if the user lacks the specified permission. Levels are set at Special:Stabilization.$wgFlaggedRevsProtection
- Set this to use FlaggedRevs only as a protection-like mechanism (Help:Pending changes ), rather than the standard configuration.$wgFlaggedRevsAutoConfirm
- Define when users get to have their own edits auto-reviewed. Set tofalse
to disable.$wgFlaggedRevsHandleIncludes
- Whether to use stable versions of templates when rendering the stable version of a page.
To have a wiki where non-users can only see the stable version of articles, see Extension:FlaggedRevs/Restricting unapproved revisions .
Використання
- Див. також: Help:FlaggedRevs
Approving pages
Users with some level of review status will have a small rating form on page view (at the bottom of the page) and diffs (at the top of the page) that lets them review revisions. Each tag must at least meet the minimal level of approval. Users should look at the whole page, included templates and images, before reviewing. The (diff to stable) link is very useful for speeding up this process.
Users cannot review a page which they cannot edit. They cannot lower the level of a revision from a level they cannot set. Blocked users cannot do anything.
Upkeep
At Special:UnreviewedPages, there is a list of pages that have not yet been reviewed, for Editors only. A namespace must be selected and an optional category filter is also present.
At Special:OldReviewedPages, there is a list of pages that have been reviewed, but have edits pending. This is for Editors only. An optional category filter is also present.
Pages that cannot be reviewed can still be patrolled for anti-vandalism purposes by Editors to see what has been checked already.
Журналювання
All relevant actions are permanently logged, so everything can be tracked and overseen properly.
- A log of promotion/demotion of editors and the reasons is kept at Special:Log/userrights.
- A log of the approval/unapproval of revisions is kept at Special:Log/review.
- A log of changes to the stable versioning configuration to pages is logged at Special:Log/stable.
Примітки
$wgUseRCPatrol
увімкнено з розширенням. Patrolling of reviewable pages is disabled, but flagged revisions are marked as patrolled in Recent Changes. This will mean that the only way to patrol a reviewable revision is to flag it. Non-reviewable pages still behave as normal (depending on site patrol settings).
- Sysops can change whether the stable version is shown by default for specific pages.
Для вимкнення цього додайте $wgGroupPermissions['sysop']['stablesettings'] = false;
у LocalSettings.php
.
- Page links, category, image, template, language, and external links are still based on the current version of pages.
- Users cannot move pages they cannot review.
This is deliberate; see завдання T15994. To work around this, add $wgGroupPermissions['autoconfirmed']['movestable'] = true;
to LocalSettings.php
- You can demote Editors either temporarily by blocking them or permanently via Special:UserRights.
An extra demotion log item will appear for tracking purposes.
API
FlaggedRevs adds API modules for reviewing revisions and configuring "stabilization" of pages, a module for retrieving flag configuration, and two list modules corresponding to the special pages for unreviewed pages and "old" reviewed pages.
action=review
Reviews a page.
- Параметри
revid
: The revision ID for which to set the flagstoken
: A csrf token retrieved through action=query&meta=tokenscomment
: Comment for the review (optional)flag_accuracy
: Set the flag named "accuracy" to the specified value; (replace "accuracy" with the flag name to set another flag)unapprove
: If set, revision will be unapproved rather than approved
- Приклад
Результат |
---|
<api>
<review revid="12345" />
</api>
|
action=stabilize
Changes page stabilization settings.
- Параметри
title
: Title of page to be stabilizedreason
: Причина стабілізаціїexpiry
: Stabilization expiry. Default: infinitereview
: Whether to auto-review the pagewatch
: Whether to watch the pagetoken
: An edit token retrieved through action=query&meta=tokens
- For protection-like configurations (
$wgFlaggedRevsProtection=true
):
protectlevel
: The right users must have in order for their edits to not require review.
- Otherwise (
$wgFlaggedRevsProtection=false
):
default
: Default revision to show (latest | stable)autoreview
: Restriction level for the 'autoreview' right (sysop | none). Default: none
- Приклад
Результат |
---|
<api>
<stabilize title="Foo" default="stable" autoreview="none" expiry="infinite" />
</api>
|
action=flagconfig
Shows information about review flag configuration.
The following parameters are returned for each tag:
name
: назва прапорцяlevels
: the number of possible levels the flag has (not counting the "unreviewed" level)
The displayed name for each flag and the different level names for each flag are MediaWiki messages, so can be set and retrieved through the appropriate page; for example the name for the first level of the "accuracy" flag is located at MediaWiki:revreview-accuracy-1.
- Приклад
Результат |
---|
<api>
<flagconfig>
<tag name="value" levels="3" tier1="1" />
</flagconfig>
</api>
|
list=unreviewedpages
Lists pages which have never been reviewed.
- Параметри
urstart
: Start listing at this page title.urend
: Stop listing at this page title.urnamespace
: The namespaces to enumerate.urfilterredir
: How to filter for redirectsurfilterlevel
: How to filter by quality (0=sighted,1=quality)urlimit
: How many total pages to return.
- Приклад
Результат |
---|
<api>
<query-continue>
<unreviewedpages urstart="Arbeitgeberverband_Chemie_und_verwandte_Industrien_für_das_Land_Hessen" />
</query-continue>
<query>
<unreviewedpages>
<p pageid="4762806" ns="0" title="Aaftink" revid="65175047" />
<p pageid="4747500" ns="0" title="Abt RS6" revid="64976429" />
<p pageid="4749877" ns="0" title="Acht Vorlesungen über den Konstruktiven Realismus" revid="65089962" />
<p pageid="4758156" ns="0" title="Alkylglycerole" revid="65169004" />
<p pageid="4719044" ns="0" title="All Riot" revid="64767732" />
<p pageid="4745418" ns="0" title="Allgäu-Panorama-Marathon" revid="64974783" />
<p pageid="4729976" ns="0" title="An- und Einpressen" revid="64742640" />
<p pageid="4742559" ns="0" title="Anjara I. Bartz" revid="64925772" />
<p pageid="4740681" ns="0" title="Anthony Norris Groves" revid="65064712" />
<p pageid="4759964" ns="0" title="Antonino Asta" revid="65169073" />
</unreviewedpages>
</query>
</api>
|
list=oldreviewedpages
Lists pages that have at some point been reviewed, but for which the most recent revision is not reviewed.
- Параметри
orstart
: Start listing from this timestamporend
: Stop listing at this timestamp.ordir
: In which direction to list.ornamespace
: The namespaces to enumerate.orfilterredir
: How to filter for redirectsorlimit
: How many total pages to return.
- Приклад
Результат |
---|
<api>
<query-continue>
<oldreviewedpages orstart="2009-09-15T20:23:05Z" />
</query-continue>
<query>
<oldreviewedpages>
<p pageid="144735" ns="0" title="Two International Finance Centre" revid="64562654" stable_revid="62769201" pending_since="2009-09-15T16:16:33Z" flagged_level="0" flagged_level_text="stable" />
<p pageid="1629949" ns="0" title="Porta San Sebastiano" revid="64791898" stable_revid="61610797" pending_since="2009-09-15T16:19:32Z" flagged_level="0" flagged_level_text="stable" />
<p pageid="2157354" ns="0" title="Entwicklungspolitik der Europäischen Union" revid="64640078" stable_revid="59929751" pending_since="2009-09-15T16:38:33Z" flagged_level="0" flagged_level_text="stable" />
<p pageid="971904" ns="0" title="Federpendel" revid="65142775" stable_revid="59587441" pending_since="2009-09-15T17:37:29Z" flagged_level="0" flagged_level_text="stable" />
<p pageid="3106812" ns="0" title="Soultzbach-les-Bains" revid="64552516" stable_revid="60455707" pending_since="2009-09-15T19:04:07Z" flagged_level="0" flagged_level_text="stable" />
<p pageid="1223029" ns="0" title="VfR Bürstadt" revid="65150048" stable_revid="62925935" pending_since="2009-09-15T19:35:30Z" flagged_level="0" flagged_level_text="stable" />
<p pageid="829158" ns="0" title="GSP" revid="64553869" stable_revid="62913440" pending_since="2009-09-15T19:38:46Z" flagged_level="0" flagged_level_text="stable" />
<p pageid="3453867" ns="0" title="Agios Dimitrios" revid="65103799" stable_revid="64544222" pending_since="2009-09-15T19:47:10Z" flagged_level="0" flagged_level_text="stable" />
<p pageid="2583263" ns="0" title="Jörg Kudlich" revid="64554475" stable_revid="62429967" pending_since="2009-09-15T20:03:24Z" flagged_level="0" flagged_level_text="stable" />
<p pageid="325478" ns="0" title="Liste deutscher Komponisten klassischer Musik" revid="65089571" stable_revid="63582610" pending_since="2009-09-15T20:21:55Z" flagged_level="0" flagged_level_text="stable" />
</oldreviewedpages>
</query>
</api>
|
prop=flagged
Use action=query&prop=flagged to get information about the flagging status of the given pages.
Обмеження
- Включення між вікіпедіями не стабілізуються
Видалення
- Вилучіть рядок
require_once
абоwfLoadExtension
зLocalSettings.php
- Видаліть таблиці в
FlaggedRevs.sql
- Видаліть колонки
page_ext_reviewed
,page_ext_quality
таpage_ext_stable
, а також індексext_namespace_reviewed
із таблиціpage
(якщо вони існують; їх використовують тільки старіші версії FlaggedRevs) - Виконайте
maintenance/refreshLinks.php
з командного рядка для скидання посилань на стабільну версію - Виконайте
maintenance/rebuildFileCache.php 0 overwrite
з командного рядка, якщо ви використовуєте$wgFileCache
Тестувальні платформи
Див. також
- Help:Патрульовані зміни
- Extension:FlaggedRevs/Specifications
- Flagged Revisions on Wikimedia projects
- Project:Editor – documentation about the user groups and rights created by this extension, while it was at use on mediawiki.org
- Content approval extensions
Посилання
- Quality Assurance in an Open Project – 2008 Wikimedia blog post
- Images of Flagged Revisions – Wikimedia Commons
- Про Flagged Revisions – Мета-вікі
Ліцензування
© GPL, Aaron Schulz, Joerg Baach, 2007
Це розширення використовується в одному або декількох проєктах Вікімедіа. Це, мабуть, означає, що розширення стабільне і працює досить добре, щоб його могли використовувати веб-сайти з великим трафіком. Шукайте назву цього розширення у файлах конфігурації Wikimedia CommonSettings.php та InitialiseSettings.php, щоб побачити, де це встановлене. Повний перелік розширень, встановлених на певній вікі, можна переглянути на сторінці Special:Version вікі. |
Це розширення включено до таких вікі-ферм/хостів та/або пакетів: Це не авторитетний список. Деякі вікі-ферми/хости та/або пакунки можуть містити це розширення, навіть якщо вони не вказані тут. Завжди звертайтеся до своїх вікі-ферм/хостів або комплекту для підтвердження. |
Ця робота є вільним програмним забезпеченням; ви можете вільно поширювати та/або змінювати її відповідно до умов GNU General Public License, що опублікована Фондом вільного програмного забезпечення; або версії 2, або більш пізньої версії. Дана робота розповсюджується з надією, що вона буде корисною, але без будь-яких гарантій; зокрема без непрямої гарантії товарної придатності або придатності для конкретних цілей. Дивіться версію 2 і версію 3 GNU General Public License для більш докладної інформації. |
- Stable extensions/uk
- User interface extensions/uk
- Special page extensions/uk
- User rights extensions/uk
- Database extensions/uk
- Ajax extensions/uk
- API extensions/uk
- GPL licensed extensions/uk
- Extensions in Wikimedia version control/uk
- Extensions which add rights/uk
- APIGetAllowedParams extensions/uk
- APIQueryAfterExecute extensions/uk
- ArticleDeleteComplete extensions/uk
- ArticleMergeComplete extensions/uk
- ArticleRevisionVisibilitySet extensions/uk
- ArticleUndelete extensions/uk
- ArticleUpdateBeforeRedirect extensions/uk
- ArticleViewHeader extensions/uk
- AutopromoteCondition extensions/uk
- BeforePageDisplay extensions/uk
- BeforeRevertedTagUpdate extensions/uk
- CategoryPageView extensions/uk
- ChangesListInsertArticleLink extensions/uk
- ChangesListSpecialPageQuery extensions/uk
- ChangesListSpecialPageStructuredFilters extensions/uk
- ContribsPager::getQueryInfo extensions/uk
- ContributionsLineEnding extensions/uk
- DeleteAccount extensions/uk
- DifferenceEngineViewHeader extensions/uk
- EchoGetDefaultNotifiedUsers extensions/uk
- EditPageBeforeEditButtons extensions/uk
- EditPageGetCheckboxesDefinition extensions/uk
- EditPageNoSuchSection extensions/uk
- GetPreferences extensions/uk
- GoogleNewsSitemap::Query extensions/uk
- InfoAction extensions/uk
- InitializeArticleMaybeRedirect extensions/uk
- LoadExtensionSchemaUpdates extensions/uk
- MagicWordwgVariableIDs extensions/uk
- MakeGlobalVariablesScript extensions/uk
- MediaWikiServices extensions/uk
- MergeAccountFromTo extensions/uk
- NewDifferenceEngine extensions/uk
- PageHistoryBeforeList extensions/uk
- PageHistoryLineEnding extensions/uk
- PageHistoryPager::getQueryInfo extensions/uk
- PageMoveComplete extensions/uk
- PageSaveComplete extensions/uk
- ParserFirstCallInit extensions/uk
- ParserGetVariableValueSwitch extensions/uk
- ProtectionForm::save extensions/uk
- ProtectionForm::showLogExtract extensions/uk
- ProtectionFormAddFormFields extensions/uk
- RecentChange save extensions/uk
- RevisionDataUpdates extensions/uk
- RevisionFromEditComplete extensions/uk
- RevisionUndeleted extensions/uk
- ScribuntoExternalLibraries extensions/uk
- SkinAfterContent extensions/uk
- SkinTemplateNavigation::Universal extensions/uk
- SpecialContributions::getForm::filters extensions/uk
- SpecialNewPagesFilters extensions/uk
- SpecialNewpagesConditions extensions/uk
- SpecialPage initList extensions/uk
- TitleGetEditNotices extensions/uk
- UserGetRights extensions/uk
- UserLoadAfterLoadFromSession extensions/uk
- UserMergeAccountFields extensions/uk
- WikiExporter::dumpStableQuery extensions/uk
- GetUserPermissionsErrors extensions/uk
- All extensions/uk
- Outdated pages/uk
- Extensions used on Wikimedia/uk
- Extensions included in BlueSpice/uk
- Extensions included in Fandom/uk
- Extensions included in Miraheze/uk
- Extensions included in WikiForge/uk
- Revision management extensions/uk
- Extensions requiring shell access/uk
- Rating extensions/uk