PHPackages                             professional-wiki/page-approvals - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. professional-wiki/page-approvals

ActiveMediawiki-extension[Testing &amp; Quality](/categories/testing)

professional-wiki/page-approvals
================================

Quality control for MediaWiki. Approve pages, assign approvers to categories, view your approval requests, and see the approval status of pages.

2.2.0(2mo ago)24.2k↑1425%3[12 issues](https://github.com/ProfessionalWiki/PageApprovals/issues)BSD-3-ClausePHPPHP &gt;=8.1CI passing

Since Jun 22Pushed 1mo ago4 watchersCompare

[ Source](https://github.com/ProfessionalWiki/PageApprovals)[ Packagist](https://packagist.org/packages/professional-wiki/page-approvals)[ Docs](https://professional.wiki/en/extension/page-approvals)[ RSS](/packages/professional-wiki-page-approvals/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (10)Versions (9)Used By (0)

Page Approvals
==============

[](#page-approvals)

[![GitHub Workflow Status](https://camo.githubusercontent.com/8147e42275836bf06e8067b38f5c04bd0a8484e278f630ad07dfeb880a1d01a5/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f50726f66657373696f6e616c57696b692f50616765417070726f76616c732f63692e796d6c3f6272616e63683d6d6173746572)](https://github.com/ProfessionalWiki/PageApprovals/actions?query=workflow%3ACI)[![Type Coverage](https://camo.githubusercontent.com/320ae8b0b63b83e72adc5957f60aef4be4fef15edcde957b56ab0994dc80ebc8/68747470733a2f2f73686570686572642e6465762f6769746875622f50726f66657373696f6e616c57696b692f50616765417070726f76616c732f636f7665726167652e737667)](https://shepherd.dev/github/ProfessionalWiki/PageApprovals)[![Psalm level](https://camo.githubusercontent.com/1110bd3e17b17baa4b775b538dc96a88012237dbb015754915522897bf413891/68747470733a2f2f73686570686572642e6465762f6769746875622f50726f66657373696f6e616c57696b692f50616765417070726f76616c732f6c6576656c2e737667)](psalm.xml)[![Latest Stable Version](https://camo.githubusercontent.com/d07a9ad628a33938b90d8f9201ebf9195191339c96594f5411375cf60f2822ac/68747470733a2f2f706f7365722e707567782e6f72672f70726f66657373696f6e616c2d77696b692f706167652d617070726f76616c732f762f737461626c65)](https://packagist.org/packages/professional-wiki/page-approvals)[![Download count](https://camo.githubusercontent.com/fbea273703863c1f8a110ae645567e1797c9cc9a8d163ff65290acc04ce4ab5d/68747470733a2f2f706f7365722e707567782e6f72672f70726f66657373696f6e616c2d77696b692f706167652d617070726f76616c732f646f776e6c6f616473)](https://packagist.org/packages/professional-wiki/page-approvals)

Quality control for your wiki. Mark pages as approved or request review from approvers. Read more in the [Page Approvals documentation](https://professional.wiki/en/extension/page-approvals).

**Table of Contents**

- [Usage](#usage-documentation)
- [Installation](#installation)
- [PHP Configuration](#php-configuration)
- [Development](#development)
- [Release notes](#release-notes)

[Professional Wiki](https://professional.wiki) created this extension and provides [MediaWiki Development](https://professional.wiki/en/mediawiki-development), [MediaWiki Hosting](https://pro.wiki), and [MediaWiki Consulting](https://professional.wiki/en/mediawiki-consulting-services) services.

Usage Documentation
-------------------

[](#usage-documentation)

See the [Page Approvals usage documentation](https://professional.wiki/en/extension/page-approvals#Usage).

[![Image](https://private-user-images.githubusercontent.com/146040/413556710-7aaf8615-8eaa-4f53-a125-ef02423f4625.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODI5ODU1ODgsIm5iZiI6MTc4Mjk4NTI4OCwicGF0aCI6Ii8xNDYwNDAvNDEzNTU2NzEwLTdhYWY4NjE1LThlYWEtNGY1My1hMTI1LWVmMDI0MjNmNDYyNS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzAyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcwMlQwOTQxMjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xMjBmMzY2ODYyOTE0YmYxODc1MmFkMjE2ODFhZTdiNDc2NDM1Zjc0ZGY2MTdkMmRjOTQ2YTkzYzZkZDNjNDg3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.TFig-eq7zej6O30nbCwRy0a2VjERwzXpsTLk5BG8Sk0)](https://professional.wiki/en/extension/page-approvals)

Installation
------------

[](#installation)

Platform requirements:

- [PHP](https://www.php.net) 8.1 or later (tested up to 8.3)
- [MediaWiki](https://www.mediawiki.org) 1.39 or later (1.43 needed for the latest version, tested up to 1.45)

The recommended way to install the Page Approvals extension is with [Composer](https://getcomposer.org) and [MediaWiki's built-in support for Composer](https://professional.wiki/en/articles/installing-mediawiki-extensions-with-composer).

On the command line, go to your wiki's root directory. Then run these two commands:

```
COMPOSER=composer.local.json composer require --no-update professional-wiki/page-approvals:~2.0
```

```
composer update professional-wiki/page-approvals --no-dev -o
```

Then enable the extension by adding the following to the bottom of your wikis [LocalSettings.php](https://www.pro.wiki/help/mediawiki-localsettings-php-guide) file:

```
wfLoadExtension( 'PageApprovals' );
```

Run the [update script](https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Update.php), which will automatically create the necessary database tables that this extension needs.

You can verify the extension was enabled successfully by opening your wiki's Special:Version page.

PHP Configuration
-----------------

[](#php-configuration)

Configuration can be changed via [LocalSettings.php](https://www.pro.wiki/help/mediawiki-localsettings-php-guide).

See the [Page Approvals configuration reference](https://professional.wiki/en/extension/page-approvals#Configuration).

Development
-----------

[](#development)

Run `composer install` in `extensions/PageApprovals/` to make the code quality tools available.

### Running Tests and CI Checks

[](#running-tests-and-ci-checks)

You can use the `Makefile` by running make commands in the `PageApprovals` directory.

- `make ci`: Run everything
- `make test`: Run all tests
- `make phpunit --filter FooBar`: run only PHPUnit tests with FooBar in their name
- `make phpcs`: Run all style checks
- `make cs`: Run all style checks and static analysis
- `make lint-docker`: Run all JavaScript and CSS linting

### Updating Baseline Files

[](#updating-baseline-files)

Sometimes Psalm and PHPStan generate errors or warnings we do not wish to fix. These can be ignored by adding them to the respective baseline file. You can update these files with `make stan-baseline` and `make psalm-baseline`.

### Inserting Test Data

[](#inserting-test-data)

```
INSERT INTO approver_config (ac_user_id, ac_categories)
VALUES (1, 'TestCat|TestCat2');
```

Release Notes
-------------

[](#release-notes)

### Version 2.2.0 - 2026-04-09

[](#version-220---2026-04-09)

- Added support for MediaWiki 1.45

### Version 2.1.1 - 2025-08-28

[](#version-211---2025-08-28)

- Fixed an issue that caused the incorrect automatic unapproval of pages when using extensions like DisplayTitle

### Version 2.1.0 - 2025-08-06

[](#version-210---2025-08-06)

- Added [Admin Links](https://www.mediawiki.org/wiki/Extension:Admin_Links) integration
- Added ability to add intro text to the `Special:ManageApprovers` page via `MediaWiki:Ext-pageapprovals-manage-intro`

### Version 2.0.0 - 2025-08-01

[](#version-200---2025-08-01)

- Raided the minimum MediaWiki version from 1.39 to 1.43
- Added support for MediaWiki 1.44
- Improved approval UI
    - More integrated look-and-feel for the approval badge and dropdown (by using Codex components)
    - Timestamp moved into the tooltip for cleaner presentation
    - Always show a fully up-to-date timestamp (by generating it via JavaScript)
- Improved handling for the Vector 2022 skin

### Version 1.0.0 - 2024-10-28

[](#version-100---2024-10-28)

- Approval UI on regular wiki pages that shows the approval status and allows approvers to change said status
- API endpoints to approve and unapprove pages
- Automatic unapproval of pages when their displayed content changes
- Detection of changes to displayed content via embedded constructs such as templates or SMW queries
- Approver management page and associated MediaWiki right (Special:ManageApprovers)
- Personalized list of pending approvals (Special:PendingApprovals)
- Compatibility with MediaWiki 1.39 up to 1.43-dev
- Compatibility with PHP 8.1 up to 8.3

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance69

Regular maintenance activity

Popularity28

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~132 days

Total

5

Last Release

86d ago

Major Versions

1.0.0 → 2.0.02025-08-01

### Community

Maintainers

![](https://www.gravatar.com/avatar/451bd4039d530fed8f9c3da91bfa519233a397d2182cdfdcad700f6cfea19b7f?d=identicon)[Jeroen De Dauw](/maintainers/Jeroen%20De%20Dauw)

![](https://avatars.githubusercontent.com/u/1104078?v=4)[Karsten Hoffmeyer](/maintainers/kghbln)[@kghbln](https://github.com/kghbln)

---

Top Contributors

[![JeroenDeDauw](https://avatars.githubusercontent.com/u/146040?v=4)](https://github.com/JeroenDeDauw "JeroenDeDauw (82 commits)")[![malberts](https://avatars.githubusercontent.com/u/1428594?v=4)](https://github.com/malberts "malberts (64 commits)")[![translatewiki](https://avatars.githubusercontent.com/u/24829418?v=4)](https://github.com/translatewiki "translatewiki (63 commits)")[![waximabbax](https://avatars.githubusercontent.com/u/15813104?v=4)](https://github.com/waximabbax "waximabbax (36 commits)")[![alistair3149](https://avatars.githubusercontent.com/u/9260542?v=4)](https://github.com/alistair3149 "alistair3149 (2 commits)")[![krabina](https://avatars.githubusercontent.com/u/4318745?v=4)](https://github.com/krabina "krabina (1 commits)")[![kghbln](https://avatars.githubusercontent.com/u/1104078?v=4)](https://github.com/kghbln "kghbln (1 commits)")[![amire80](https://avatars.githubusercontent.com/u/346271?v=4)](https://github.com/amire80 "amire80 (1 commits)")

---

Tags

content-moderationmediawikimediawiki-extensionquality-assurancequality-controlmediawikiquality assuranceverificationcomplianceapprovals

###  Code Quality

Static AnalysisPHPStan, Psalm

Type Coverage Yes

### Embed Badge

![Health badge](/badges/professional-wiki-page-approvals/health.svg)

```
[![Health](https://phpackages.com/badges/professional-wiki-page-approvals/health.svg)](https://phpackages.com/packages/professional-wiki-page-approvals)
```

###  Alternatives

[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.5k10](/packages/helsingborg-stad-municipio)[mediawiki/maps

Adds various mapping features to MediaWiki

84152.3k3](/packages/mediawiki-maps)[starcitizentools/citizen-skin

A beautiful, usable, responsive MediaWiki skin with in-depth extension support. Originally developed for the Star Citizen Wiki.

3376.6k](/packages/starcitizentools-citizen-skin)[mediawiki/page-forms

Forms for creating and editing wiki pages.

2380.7k2](/packages/mediawiki-page-forms)[pressbooks/pressbooks-book

This theme is named after Canadian media theorist Marshall McLuhan, who coined the phrase “the medium is the message.” It is designed for academic writing and is also suitable for fiction. Headings are set in Cormorant Garamond, and body type is set in Lora.

206.7k](/packages/pressbooks-pressbooks-book)[professional-wiki/network

MediaWiki extension for adding interactive network visualizations to your wiki pages

3213.7k](/packages/professional-wiki-network)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
