Open main menu

Extension:Semantic ACL

MediaWiki extensions manual
OOjs UI icon advanced.svg
Semantic ACL
Release status: unmaintained
Description Allows per-page read and edit restrictions to be set using Semantic MediaWiki properties.
Author(s) Andrew Garrett (Werdnatalk)
MediaWiki 1.23.x - 1.26.x
Database changes No
License GNU General Public License 2.0 or later
Translate the Semantic ACL extension if it is available at
Check usage and version matrix.

The Semantic ACL extension allows read and edit restrictions to be set on pages using semantic properties.

This extension only prevents direct views to the pages. There are numerous other ways to get page content, such as by viewing RecentChanges, through the search box and by transcluding the page into another page. This extension does not attempt to prevent this.


  • Download and place the file(s) in a directory called SemanticACL in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
    require_once "$IP/extensions/SemanticACL/SemanticACL.php";
  •   Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.


To set restrictions, mark up a page with the appropriate properties.

To set read restrictions, use this property: [[Visible to::]]. If set to whitelist set allowed users or groups:

  • [[Visible to user::]]
  • [[Visible to group::]]

To set edit restrictions (which apply to all other actions), use this property: [[Editable by::]]. If set to whitelist set allowed users or groups:

  • [[Editable by user::]]
  • [[Editable by group::]]

The "main" property (Editable by or Visible to) can take one or more of these values. With the exception of "public", a user must satisfy all conditions set.

  • public — overrides all other values and never denies access.
  • users — denies access to users who are not logged in.
  • whitelist — denies access to all users who are not whitelisted, either explicitly or by being in a whitelisted group.

The read and edit restrictions have separate whitelists. You can add one or more users or groups to the whitelist using the appropriate properties. Note that the User: prefix is mandatory for the single-user whitelist.


These properties, included on a page, would allow only users in the "moderator" group to read the page, and only the user "Chief Moderator" to edit it.

[[Visible to::whitelist]]
[[Visible to group::moderator]]

[[Editable by::whitelist]]
[[Editable by user::User:Chief Moderator]]

User rightsEdit

Users who have the sacl-exempt user group are never prohibited access by this extension. This is a failsafe to avoid pages becoming permanently uneditable by having an empty whitelist.

By default, administrators (users in the sysop group) are given this right.