Extension:PageAssessments

MediaWiki extensions manual
PageAssessments
Release status: stable
Implementation Parser function , Database
Description An extension for storing article assessments (e.g. for WikiProjects) in a new database table
Author(s) Niharika Kohli
Frances Hocutt
Ryan Kaldari
Latest version 1.1.0 (2016-01-11)
MediaWiki >= 1.43
Database changes Yes
Tables page_assessments
page_assessments_projects
License GNU General Public License 2.0 or later
Download
  • $wgPageAssessmentsOnTalkPages
  • $wgPageAssessmentsSubprojects
Quarterly downloads 5 (Ranked 131st)
Translate the PageAssessments extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

This extension is for storing article assessments (e.g. for WikiProjects) in a structured and query-able way. For an example of how article assessments are done, see the guidelines on Wikipedia.

Installation

  • Download and move the extracted PageAssessments folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/PageAssessments
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'PageAssessments' );
    
  • Run the update script which will automatically create the necessary database tables that this extension needs.
  •   Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

You can also use these configuration options in your LocalSettings.php:

  • $wgPageAssessmentsOnTalkPages — If assessments are normally recorded on the pages themselves rather than on talk pages, set this to false (default: true).
  • $wgPageAssessmentsSubprojects — If projects on your wiki have subprojects or task forces that you would like to record separate assessments for, set this to true (default: false).

Usage

The parser function for creating a new assessment is: {{#assessment: <name of the wikiproject> | <class> | <importance>}}

  • name of the wikiproject — a short name for the project assessing the article, for example, "Medicine" or "Hungarian culture‎". Can be up to 128 characters long.
  • class — a quality ranking, for example, "B" or "FA". See the class grades on Wikipedia for a more comprehensive example. Can be up to 20 characters long.
  • importance — a ranking of how important the article is to the project, for example, "Low" or "High". Can be up to 20 characters long.

The assessment parser function is expected to be on the talk page of the page under review, however it may be included on the page itself if $wgPageAssessmentsOnTalkPages is set to false. A page may have more than one assessment function for different projects.

If an assessment template is already in use on multiple pages, the parser function can be embedded inside the template instead of having to edit each individual article's talk page.

Example usage

The importance/priority of an article might be different depending on the WikiProject:

{{#assessment:Medicine|A|Low}}
{{#assessment:Biology|B|High}}

Explanation:

Using this example in a talk page, declares the current page inside the Medicine project, with A quality, and with Low importance.

It also declares the current page in the Biology project, with B quality, and with High importance.

For wikis with CirrusSearch installed, PageAssessments adds a inproject keyword to allow filtering of search results to pages in given WikiProjects. For example, inproject:Cricket|Football will find pages related to either Cricket or Football. Search rankings are influenced by the importance assigned to the article by the projects.

API

The PageAssessments extension includes three API query modules: pageassessments, projectpages, and projects.

Pageassessments

pageassessments is a new property query for the MediaWiki Action API. It is used to retrieve assessment metadata for one or more pages.

Examples

Get project and assessment data for page "Apple".

api.php?action=query&prop=pageassessments&titles=Apple

Get project and assessment data for pages "Apple" and Pear, using the newer API result format.

api.php?action=query&prop=pageassessments&titles=Apple|Pear&formatversion=2

Get project and assessment data for page "Apple", including subprojects and task forces (only available if $wgPageAssessmentsSubprojects is true).

api.php?action=query&prop=pageassessments&titles=Apple&pasubprojects=true

Projectpages

projectpages is a new list query. It is used to retrieve all the pages assessed by a particular WikiProject. This query can be used as a generator. By adding wppassessments=true, you can also get the assessment metadata for each of the pages.

Examples

Get first 10 pages associated with any WikiProject:

Get first 10 pages associated with WikiProject Medicine, including assessment data:

Get page info for first 10 pages associated with WikiProject Textile Arts:

Projects

projects is a new list query. It is used to retrieve a list of all the WikiProjects on a wiki. The results are returned as an array of project names.

Examples

Get a list of all the WikiProjects.

api.php?action=query&list=projects

Get a list of all the WikiProjects, including subprojects and task forces (only available if $wgPageAssessmentsSubprojects is true).

api.php?action=query&list=projects&pjsubprojects=true

Special page

PageAssessments also provides an on-wiki interface for retrieving assessment data at Special:PageAssessments.

Database tables

PageAssessments creates two new database tables:

page_assessments stores the assessment metadata, while page_assessments_projects stores the names of WikiProjects (so that they don't have to be recorded in full as part of each assessment record in the page_assessments table). Both tables are required for proper functioning of the parser function and APIs. The tables should exist on any wiki that has the PageAssessments extension installed. If PageAssessments is uninstalled, both tables can be dropped safely.

The purgeUnusedProjects.php maintenance script can be run to remove projects from the page_assessments_projects table that are no longer used by any assessments.

See also