Extension:EditOwn

From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manualManual:Extensions
Crystal Clear action run.png
EditOwn

Release status:Extension status unmaintained

ImplementationTemplate:Extension#type Hook
DescriptionTemplate:Extension#description Unprivileged users can only edit pages they've created themselves
Author(s)Template:Extension#username Roan Kattouw (Catropetalk)
Latest versionTemplate:Extension#version 1.0.1 (2009-04-28)
MediaWikiTemplate:Extension#mediawiki 1.11+
Database changesTemplate:Extension#needs-updatephp No
LicenseTemplate:Extension#license GNU General Public License 3.0 or later
Download Template:WikimediaDownload/svn
ParametersTemplate:Extension#parameters
  • $wgEditOwnExcludedNamespaces
  • $wgEditOwnActions
Added rightsTemplate:Extension#rights
  • editall
Hooks usedTemplate:Extension#hook
userCanManual:Hooks/userCan

Translate the EditOwn extension if it is available at translatewiki.net

Check usage and version matrix.

The EditOwn extension that prevents unprivileged users from editing pages they haven't created. Privileged users can of course edit every page.

Installation[edit]

  • Add the following code at the bottom of your LocalSettings.php:
    require_once "$IP/extensions/EditOwn/EditOwn.php";
    $wgGroupPermissions['sysop']['editall'] = true; // Only sysops can edit all pages
    
  • YesY Done - Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Permissions[edit]

You will probably want to allow some users to edit all pages. To set this up, two approaches are possible:

Using existing groups[edit]

Add any of the following lines to LocalSettings.php to allow existing groups of users to edit all pages:

// Allow *everyone*, including anonymous users, to edit all pages. This makes this extension useless
$wgGroupPermissions['*']['editall'] = true;

// Registered users can edit all pages. The usefulness of this setting is also doubtful
$wgGroupPermissions['user']['editall'] = true;

// Only users older than $wgAutoConfirmAge can edit all pages
$wgGroupPermissions['autoconfirmed']['editall'] = true;

// Only sysops can edit all pages. This is the recommended setup
$wgGroupPermissions['sysop']['editall'] = true;

// Only bureaucrats can edit all pages
$wgGroupPermissions['bureaucrat']['editall'] = true;

If you have created any custom groups in LocalSettings.php, you can allow these groups to edit all pages by adding

$wgGroupPermissions['groupname']['editall'] = true;

to LocalSettings.php (replace 'groupname' with the name of your custom group).

NOTE: If a user is in multiple groups, they will be able to edit all pages even if that's allowed for only one of those groups. E.g.: if group A can't edit all pages but group B can, a user in both group A and B will be allowed to edit all pages.

Creating a new group[edit]

You can also create a separate group for users who can edit all pages. To do this, add the following line to LocalSettings.php:

$wgGroupPermissions['editall']['editall'] = true;

This creates a new group named 'editall'. Only users in that group can edit all pages. You can add users to the editall group using the Special:Userrights special page.

Excluding namespaces[edit]

You may want to disable EditOwn's functionality for certain namespaces. To do this, add the following line to LocalSettings.php, below the line added earlier (require_once("$IP/extensions/EditOwn/EditOwn.php");):

$wgEditOwnExcludedNamespaces = array(NS_TALK, NS_USER, NS_USER_TALK);

This will disable EditOwn for the Talk, User and User talk namespaces. A list of all namespace constants can be found here.

Restricting actions other than editing[edit]

You may want to use EditOwn's functionality to disable actions other than editing in a similar way, e.g. to allow users to only delete pages they've created themselves. This is done with:

$wgEditOwnActions[]

NOTE: Users who don't have the 'delete' right won't be able to delete anything, no matter how EditOwn is configured.

NOTE: The 'editall' right applies to these action as well, i.e. users with the 'editall' right will also be able to perform actions in $wgEditOwnActions regardless of who created the page in question (provided, of course, they have the right to perform that action in the first place).

Contact[edit]

EditOwn is currently maintained by Roan Kattouw. If you have any questions, complaints, feature requests, found a bug, or any other reason to contact the maintainer, please send your e-mails to roan.kattouw@gmail.nl and mention "EditOwn" in the subject.

See also[edit]