Difference between revisions of "MediaWiki"

From CNM Wiki
Jump to: navigation, search
(Permitted user roles)
 
(129 intermediate revisions by the same user not shown)
Line 8: Line 8:
 
==Permitted user roles==
 
==Permitted user roles==
  
[[Permitted user role]]s are specific access and ability permissions that can be assigned to customizable ''user groups''.
+
[[System-user role]]s are specific access and ability permissions that can be assigned to customizable user groups.
  
== Creating a new group and assigning permissions to it == <!--T:27-->
+
===Any user===
  
<!--T:28-->
+
:Any user (including anonymous) is permitted to use the following functions in the version of the ''Software'' that is used for [[Educaship MediaWiki]].
You can create new user groups by defining permissions for the according group name in <code>$wgGroupPermissions['<group-name>']</code> where ''<group-name>'' is the actual name of the group.
+
:{|class="wikitable" width=100% style="text-align:center;"
 
 
<!--T:29-->
 
Additionally to assigning permissions, you should create these three wiki pages with fitting content:
 
</translate>
 
 
 
* {{blue|MediaWiki:Group-<group-name>}} <translate><!--T:30--> (content: <code>Name of the group</code>)</translate>
 
* {{blue|MediaWiki:Group-<group-name>-member}} <translate><!--T:31--> (content: <code>Name of a member of the group</code>)</translate>
 
* {{blue|MediaWiki:Grouppage-<group-name>}} <translate><!--T:32--> (content: <code>Name of the group page</code>)</translate>
 
 
 
<translate>
 
<!--T:33-->
 
By default, bureaucrats can add users to, or remove them from, any group.</translate>
 
<translate>
 
<!--T:34-->
 
However, if you are using <tvar|AddGroups>{{ll|Manual:$wgAddGroups}}</> and <tvar|RemoveGroups>{{ll|Manual:$wgRemoveGroups}}</>, you may need to customize those instead.
 
 
 
=== Examples === <!--T:35-->
 
 
 
<!--T:36-->
 
This example will create an arbitrary “ninja” group that can block users and delete pages, and whose edits are hidden by default in the recent changes log:
 
</translate>
 
 
 
<syntaxhighlight lang="php">
 
$wgGroupPermissions['ninja']['bot']    = true;
 
$wgGroupPermissions['ninja']['block']  = true;
 
$wgGroupPermissions['ninja']['delete'] = true;
 
</syntaxhighlight>
 
 
 
:<translate><!--T:37--> '''Note:''' the group name cannot contain spaces, so use <code>'random-group'</code> or <code>'random_group'</code> instead of <code>'random group'</code></translate>
 
 
 
<translate>
 
<!--T:38-->
 
In this example, you would probably also want to create these pages:
 
</translate>
 
 
 
* {{blue|MediaWiki:Group-ninja}} <translate><!--T:39--> (content: <code>Ninjas</code>)</translate>
 
* {{blue|MediaWiki:Group-ninja-member}} <translate><!--T:40--> (content: <code>ninja</code>)</translate>
 
* {{blue|MediaWiki:Grouppage-ninja}} <translate><!--T:41--> (content: <code>Project:Ninjas</code>)</translate>
 
 
 
<translate>
 
<!--T:42-->
 
This will ensure that the group will be referred to as “Ninjas” throughout the interface, and a member will be referred to as a “ninja”, and overviews will link the group name to {{blue|Project:Ninjas}}.
 
 
 
<!--T:43-->
 
This example disables write access (page editing and creation) by default, creates a group named “Write”, and grants it write access.  Users can be manually added to this group via <tvar|UserRights>[[Special:UserRights]]</>:
 
</translate>
 
 
 
<syntaxhighlight lang="php">
 
$wgGroupPermissions['*']['edit'] = false;
 
$wgGroupPermissions['*']['createpage'] = false;
 
$wgGroupPermissions['user']['edit'] = false;
 
$wgGroupPermissions['user']['createpage'] = false;
 
$wgGroupPermissions['Write']['edit'] = true;
 
$wgGroupPermissions['Write']['createpage'] = true;
 
</syntaxhighlight>
 
 
 
<translate>
 
<!--T:44-->
 
In this example, you would probably also want to create these pages:
 
</translate>
 
 
 
* {{blue|MediaWiki:Group-Write}} <translate><!--T:45--> (content: <code>Writers</code>)</translate>
 
* {{blue|MediaWiki:Group-Write-member}} <translate><!--T:46--> (content: <code>Writer</code>)</translate>
 
* {{blue|MediaWiki:Grouppage-Write}} <translate><!--T:47--> (content: <code>Project:Write</code>)</translate>
 
 
 
<translate>
 
== Removing predefined groups == <!--T:48-->
 
 
 
<!--T:49-->
 
MediaWiki out of the box comes with a number of predefined groups.</translate>
 
<translate>
 
<!--T:50-->
 
Most of these groups can be removed by unsetting the according array keys, among them <code>$wgGroupPermissions['<group-name>']</code>.</translate>
 
<translate>
 
<!--T:51-->
 
For details see below.
 
 
 
=== Example === <!--T:52-->
 
 
 
<!--T:53-->
 
This example will eliminate the bureaucrat group entirely.</translate>
 
<translate>
 
<!--T:54-->
 
It is necessary to ensure that all six of these variables are unset for any group that one wishes to remove from being listed at <tvar|List>[[Special:ListGroupRights]]</>; however, merely unsetting $wgGroupPermissions will suffice to remove it from <tvar|UserRights>[[Special:UserRights]]</>.</translate>
 
<translate>
 
<!--T:55-->
 
This code should be placed after any <code>require_once</code> lines that add extensions such as <tvar|RenameUser>{{ll|Extension:Renameuser}}</> containing code that gives bureaucrats group permissions by default.
 
</translate>
 
 
 
<syntaxhighlight lang="php">
 
unset( $wgGroupPermissions['bureaucrat'] );
 
unset( $wgRevokePermissions['bureaucrat'] );
 
unset( $wgAddGroups['bureaucrat'] );
 
unset( $wgRemoveGroups['bureaucrat'] );
 
unset( $wgGroupsAddToSelf['bureaucrat'] );
 
unset( $wgGroupsRemoveFromSelf['bureaucrat'] );
 
</syntaxhighlight>
 
 
 
<translate>
 
<!--T:216-->
 
In some extensions (Flow, Semantic MediaWiki, etc.), rights are added during extension registration or in a registration function. In this case, it could be necessary to use a registration function in LocalSettings.php to remove some predefined user groups:
 
</translate>
 
 
 
<syntaxhighlight lang="php">
 
$wgExtensionFunctions[] = function() use ( &$wgGroupPermissions ) {
 
    unset( $wgGroupPermissions['oversight'] );
 
    unset( $wgGroupPermissions['flow-bot'] );
 
};
 
</syntaxhighlight>
 
 
 
<translate>
 
=== Note on the group called “user” === <!--T:202-->
 
 
 
<!--T:203-->
 
With the above mechanism, you can remove the groups sysop, bureaucrat and bot, which - if used - can be assigned through the usual [[<tvar|help>Special:MyLanguage/Help:User rights and groups</>|user permission system]].
 
</translate>
 
<translate>
 
<!--T:204-->
 
However, it is currently impossible to remove the <code>user</code> group.</translate>
 
<translate>
 
<!--T:205-->
 
This group is ''not'' assigned through the usual permission system.</translate>
 
<translate>
 
<!--T:206-->
 
Instead, every logged in user automatically is member of that group.</translate>
 
<translate>
 
<!--T:207-->
 
This is hardcoded in MediaWiki and currently cannot be changed easily.
 
 
 
== List of permissions == <!--T:56-->
 
 
 
<!--T:57-->
 
The following user rights are available in the latest version of MediaWiki.</translate>
 
<translate>
 
<!--T:58-->
 
If you are using an older version, look at “[[Special:Version]]” on your wiki and see if your version is covered in the “Versions” column.
 
</translate>
 
 
 
{|class="wikitable"
 
 
|-
 
|-
!{{hl2}} | <translate><!--T:59--> Right</translate>
+
|Category
!{{hl2}} | <translate><!--T:60--> Description</translate>
+
!Right
!{{hl2}} | <translate><!--T:208--> User groups that have this right by default</translate>
+
!Description
!{{hl2}} | <translate><!--T:61--> Versions</translate>
+
!User groups that have this right
|-
 
|{{hl3}} colspan="4" |'''<translate><!--T:192--> Reading</translate>'''
 
 
|-
 
|-
 +
!Reading
 
|valign="top"|read
 
|valign="top"|read
|{{int|right-read}} - <translate><!--T:63--> when set to false, override for specific pages with <tvar|WhitelistRead>{{ll|Manual:$wgWhitelistRead|$wgWhitelistRead}}</></translate>
+
|When set to false, override for specific pages with WhitelistRead
----
 
{{Uploaded-files-access-restriction-info}}
 
 
| *, user
 
| *, user
| [[rev:9367|1.5+]]
 
 
|-
 
|-
|{{hl3}} colspan="4"|'''<translate><!--T:193--> Editing</translate>'''
+
!rowspan="4"|Editing
 +
|createaccount
 +
|createaccount - register / registration
 +
|*, sysop
 +
|-
 +
|createpage
 +
|createpage - requires the edit right
 +
|*, user
 +
|-
 +
|createtalk
 +
|createtalk - requires the edit right
 +
|*, user
 +
|-
 +
|edit
 +
|edit
 +
|*, user
 +
|-
 +
!rowspan="7"|Management
 +
|editmyoptions
 +
|editmyoptions
 +
|*
 +
|-
 +
|editmyprivateinfo
 +
|editmyprivateinfo
 +
|*
 
|-
 
|-
|applychangetags
+
|editmyusercss
|{{int|right-applychangetags}}
+
|editmyusercss
|user
+
|*
|1.25+
+
|-
 +
|editmyuserjs
 +
| editmyuserjs
 +
|*
 +
|-
 +
|editmywatchlist
 +
|editmywatchlist
 +
|*
 
|-
 
|-
|autocreateaccount
+
|viewmyprivateinfo
|{{int|right-autocreateaccount}} - <translate><!--T:210--> a more limited version of ''createaccount''</translate>
+
|viewmyprivateinfo
|—
+
|*
|1.27+
 
 
|-
 
|-
|createaccount
+
|viewmywatchlist
|{{int|right-createaccount}} - register / registration
+
|viewmywatchlist
 
|*
 
|*
|[[rev:9367|1.5+]]
+
|-
 +
!Technical
 +
|writeapi
 +
|writeapi
 +
|*, user, bot
 +
|}
 +
 
 +
===Registered user===
 +
:Any user with his or her registered account, when he or she is identified, is permitted to use the following functions in the version of the ''Software'' that is used for [[Educaship MediaWiki]].
 +
 
 +
:{|class="wikitable" width=100% style="text-align:center;"
 +
|-
 +
|Category
 +
!Right
 +
!Description
 +
!User groups that have this right
 +
|-
 +
!Reading
 +
|read
 +
|When set to false, override for specific pages with WhitelistRead
 +
| *, user
 +
|-
 +
!rowspan="8"|Editing
 +
|applychangetags
 +
|applychangetags
 +
|user
 
|-
 
|-
 
|createpage
 
|createpage
|{{int|right-createpage}} - <translate><!--T:66--> requires the <tvar|1>''edit''</> right</translate>
+
|requires the edit right
 
|*, user
 
|*, user
|[[rev:11973|1.6+]]
 
 
|-
 
|-
 
|createtalk
 
|createtalk
|{{int|right-createtalk}} - <translate><!--T:67--> requires the <tvar|1>''edit''</> right</translate>
+
|requires the edit right
 
|*, user
 
|*, user
|[[rev:11973|1.6+]]
 
 
|-
 
|-
 
|edit
 
|edit
|{{int|right-edit}}
+
|edit
 
|*, user
 
|*, user
|[[rev:9632|1.5+]]
 
 
|-
 
|-
|editsemiprotected
+
|upload
|{{int|right-editsemiprotected}} - <translate><!--T:79--> without cascading protection</translate>
+
|requires the edit right
|autoconfirmed
+
|user, sysop
|1.22+
+
|-
 +
|reupload
 +
|requires the upload right
 +
|user, sysop
 
|-
 
|-
|editprotected
+
|reupload-shared
|{{int|right-editprotected}} - <translate><!--T:78--> without cascading protection</translate>
+
|(if one is set up) with local files (requires the upload right)
|sysop
+
|user, sysop
|[[rev:32164|1.13+]]
 
 
|-
 
|-
|move
+
|sendemail
|{{int|right-move}} - <translate><!--T:68--> requires the <tvar|1>''edit''</> right</translate>
+
|sendemail
 
|user
 
|user
|[[rev:9367|1.5+]]
 
 
|-
 
|-
|move-categorypages
+
!rowspan="2"|Management
|{{int|right-move-categorypages}} - <translate><!--T:209--> (requires the <tvar|1>''move''</> right)</translate>
+
|changetags
 +
|changetags - currently unused by extensions
 
|user
 
|user
|1.25+
 
 
|-
 
|-
|move-rootuserpages
+
|editmyuserjson
|{{int|right-move-rootuserpages}} - <translate><!--T:71--> requires the <tvar|1>''move''</> right</translate>
+
|editmyuserjson
 
|user
 
|user
|[[rev:41961|1.14+]]
 
 
|-
 
|-
|move-subpages
+
!rowspan="3"|Technical
|{{int|right-move-subpages}} - <translate><!--T:70--> requires the <tvar|1>''move''</> right</translate>
+
|minoredit
 +
|minoredit
 
|user
 
|user
|[[rev:35213|1.13+]]
 
 
|-
 
|-
|movefile
+
|purge
|{{int|right-movefile}} - <translate><!--T:69--> requires the <tvar|1>''move''</> right and <tvar|AllowImageMoving>{{ll|Manual:$wgAllowImageMoving|$wgAllowImageMoving}}</> to be true</translate>
+
|purge - URL parameter
 
|user
 
|user
|[[rev:45276|1.14+]]
 
 
|-
 
|-
|reupload
+
|writeapi
|{{int|right-reupload}} - <translate><!--T:74--> requires the <tvar|1>''upload''</> right</translate>
+
|writeapi
|user
+
|*, user, bot
|[[rev:10906|1.6+]]
+
|}
 +
 
 +
===Autoconfirmed===
 +
:Any user with his or her registered account, when he or she is identified, (1) confirmed that his or her age confirms requirements established by the ''Software'' and has at least as many edits as established by the ''Software'', is permitted to use the following functions in the version of the ''Software'' that is used for [[Educaship MediaWiki]].
 +
 
 +
:{|class="wikitable" width=100% style="text-align:center;"
 +
|-
 +
|Category
 +
!Right
 +
!Description
 +
!User groups that have this right
 +
|-
 +
!Editing
 +
|editsemiprotected
 +
|editsemiprotected - without cascading protection
 +
|autoconfirmed, sysop
 +
|-
 +
!Technical
 +
|autoconfirmed
 +
|autoconfirmed - used for the 'autoconfirmed' group, see the other table below for more information
 +
|autoconfirmed, bot, sysop
 +
|}
 +
 
 +
===Bot===
 +
accounts with the ''bot'' right (intended for automated scripts).
 +
|autoconfirmed, autopatrol, apihighlimits, bot, editsemiprotected, nominornewtalk, suppressredirect, writeapi
 +
 
 +
:{|class="wikitable" width=100% style="text-align:center;"
 +
|-
 +
|Category
 +
!Right
 +
!Description
 +
!User groups that have this right
 
|-
 
|-
|reupload-own
+
!Administration
|{{int|right-reupload-own}} - <translate><!--T:75--> requires the <tvar|1>''upload''</> right (note that this is not needed if the group already has the <tvar|reupload>''reupload''</> right)</translate>
+
|autopatrol
|—
+
|$wgUseRCPatrol must be ''true''
|[[rev:21943|1.11+]]
+
|bot, sysop
 
|-
 
|-
|reupload-shared
+
!rowspan="6"|Technical
|{{int|right-reupload-shared}} - <translate><!--T:76--> (if one is set up) with local files</translate> <translate><!--T:211--> (requires the <tvar|1>''upload''</> right)</translate>
+
|apihighlimits
|user
+
|apihighlimits
|[[rev:10906|1.6+]]
+
|bot, sysop
 
|-
 
|-
|sendemail
+
|autoconfirmed
|{{int|right-sendemail}}
+
|used for the 'autoconfirmed' group, see the other table below for more information
|user
+
|autoconfirmed, bot, sysop
|[[rev:56962|1.16+]]
 
 
|-
 
|-
|upload
+
|bot
|{{int|right-upload}} - <translate><!--T:73--> requires the <tvar|1>''edit''</> right</translate>
+
|bot - can optionally be viewed
|user
+
|bot
|[[rev:9499|1.5+]]
 
 
|-
 
|-
|upload_by_url
+
|nominornewtalk
|{{int|right-upload_by_url}} - <translate><!--T:77--> requires the <tvar|1>''upload''</> right</translate>
+
|nominornewtalk - requires ''minor edit'' right
|
+
|bot
|[[rev:16162|1.8+]]
 
 
|-
 
|-
|{{hl3}} colspan="4"|'''<translate><!--T:194--> Management</translate>'''
+
|suppressredirect
 +
|suppressredirect
 +
|bot, sysop
 
|-
 
|-
|bigdelete
+
|writeapi
|{{int|right-bigdelete}}
+
|writeapi
|sysop
+
|*, user, bot
|[[rev:29872|1.12+]]
+
|}
 +
 
 +
===Sysop===
 +
users who by default can delete and restore pages, block and unblock users, et cetera.
 +
 
 +
:{|class="wikitable" width=100% style="text-align:center;"
 
|-
 
|-
|block
+
|Category
|{{int|right-block}} - <translate><!--T:92--> Block options include preventing editing and registering new accounts, and autoblocking other users on the same IP address</translate>
+
!Right
|sysop
+
!Description
|[[rev:9367|1.5+]]
+
!User groups that have this right
 
|-
 
|-
|blockemail
+
!rowspan="12"|Editing
|{{int|right-blockemail}} - <translate><!--T:93--> allows preventing use of the [[Special:Emailuser]] interface when blocking</translate>
+
|editprotected
 +
|editprotected - without cascading protection
 
|sysop
 
|sysop
|[[rev:22827|1.11+]]
 
 
|-
 
|-
|browsearchive
+
|editsemiprotected
|{{int|right-browsearchive}} - <translate><!--T:89--> through [[Special:Undelete]]</translate>
+
|editsemiprotected - without cascading protection
|sysop
+
|autoconfirmed, sysop
|[[rev:32456|1.13+]]
 
 
|-
 
|-
|changetags
+
|createaccount
|{{int|right-changetags}} - <translate><!--T:104--> currently unused by extensions</translate>
+
|createaccount - register / registration
|user
+
|*, sysop
|1.25+
 
 
|-
 
|-
|delete
+
|move
|{{int|right-delete}} '''1.5–1.11:''' <translate><!--T:82--> allows the deletion or undeletion of pages.</translate><br />'''1.12+:''' <translate><!--T:83--> allows the deletion of pages.</translate> <translate><!--T:84--> For undeletions, there is now the <tvar|1>'undelete'</> right, see below</translate>
+
|requires the edit right
 
|sysop
 
|sysop
|[[rev:9367|1.5+]]
 
 
|-
 
|-
|deletedhistory
+
|move-categorypages
|{{int|right-deletedhistory}}
+
|requires the move right
 
|sysop
 
|sysop
|[[rev:12241|1.6+]]
 
 
|-
 
|-
|deletedtext
+
|move-rootuserpages
|{{int|right-deletedtext}}
+
|requires the move right
 
|sysop
 
|sysop
|
 
 
|-
 
|-
|deletelogentry
+
|move-subpages
|{{int|right-deletelogentry}} - <translate><!--T:121--> allows deleting/undeleting information (action text, summary, user who made the action) of specific log entries (''not available by default'')</translate>
+
|requires the move right
|—
+
|sysop
|[[gerrit:12889|1.20+]]
 
 
|-
 
|-
|deleterevision
+
|movefile
|{{int|right-deleterevision}} - <translate><!--T:122--> allows deleting/undeleting information (revision text, edit summary, user who made the edit) of specific revisions</translate> <translate><!--T:123--> '''Split into deleterevision and deletelogentry in 1.20''' (''not available by default'')</translate>
+
|requires the move right and $wgAllowImageMoving to be true
|—
+
|sysop
|[[rev:13224|1.6+]]
 
 
|-
 
|-
|editcontentmodel
+
|upload
|{{int|right-editcontentmodel}}
+
|upload - requires the edit right
|—
+
|user, sysop
|[[gerrit:176201|1.23.7+]]
 
 
|-
 
|-
|editinterface
+
|upload_by_url
|{{int|right-editinterface}} - <translate><!--T:106--> contains [[<tvar|man>Special:MyLanguage/Manual:Interface</>|interface messages]]</translate>
+
|upload_by_url - requires the upload right
|sysop, interface-admin
+
|sysop
|[[rev:9367|1.5+]]
 
 
|-
 
|-
|editmyoptions
+
|reupload
|{{int|right-editmyoptions}}
+
|reupload - requires the upload right
|*
+
|user, sysop
|1.22+
 
 
|-
 
|-
|editmyprivateinfo
+
|reupload-shared
|{{int|right-editmyprivateinfo}}
+
|reupload-shared - (if one is set up) with local files (requires the upload right)
|*
+
|user, sysop
|1.22+
 
 
|-
 
|-
|editmyusercss
+
!rowspan="17"|Management
|{{int|right-editmyusercss}}
+
|bigdelete
|*
+
|bigdelete
|1.22+
+
|sysop
 
|-
 
|-
|editmyuserjs
+
|block
| {{int|right-editmyuserjs}}
+
|Block options include preventing editing and registering new accounts, and autoblocking other users on the same IP address
|*
+
|sysop
|1.22+
 
 
|-
 
|-
|editmyuserjson
+
|blockemail
|{{int|right-editmyuserjson}}
+
|allows preventing use of the Emailuser interface when blocking
|user
+
|sysop
|[[gerrit:408940|1.31+]]
 
 
|-
 
|-
|editmywatchlist
+
|browsearchive
|{{int|right-editmywatchlist}}
+
|through Special:Undelete
|*
+
|sysop
|1.22+
 
 
|-
 
|-
|editsitecss
+
|delete
|{{int|right-editsitecss}}
+
|allows the deletion or undeletion of pages. For undeletions, there is now the 'undelete' right, see below
|interface-admin
+
|sysop
|[[gerrit:421121|1.32+]]
 
 
|-
 
|-
|editsitejs
+
|deletedhistory
|{{int|right-editsitejs}}
+
|deletedhistory
|interface-admin
+
|sysop
|[[gerrit:421121|1.32+]]
 
 
|-
 
|-
|editsitejson
+
|deletedtext
|{{int|right-editsitejson}}
+
|deletedtext
|interface-admin
+
|sysop
|[[gerrit:421121|1.32+]]
 
 
|-
 
|-
|editusercss
+
|editinterface
|{{int|right-editusercss}}
+
|contains interface messages
|interface-admin
+
|sysop
|[[rev:54153|1.16+]]
 
|-
 
|edituserjs
 
|{{int|right-edituserjs}}
 
|interface-admin
 
|[[rev:54153|1.16+]]
 
|-
 
|edituserjson
 
|{{int|right-edituserjson}}
 
|interface-admin
 
|[[gerrit:408940|1.31+]]
 
|-
 
|hideuser
 
|{{int|right-hideuser}} - <translate><!--T:94-->
 
(''not available by default'')
 
 
 
<!--T:212-->
 
Only users with 1000 edits or less can be suppressed by default.</translate> <translate><!--T:213--> Use <tvar|HideUserContribLimit>{{wg|HideUserContribLimit}}</> to disable.</translate>
 
|—
 
|[[rev:20446|1.10+]]
 
 
|-
 
|-
 
|markbotedits
 
|markbotedits
|{{int|right-markbotedits}} - <translate><!--T:101--> see [[<tvar|man>Special:MyLanguage/Manual:Administrators#Rollback</>|Manual:Administrators#Rollback]]</translate>
+
|see Rollback
 
|sysop
 
|sysop
|[[rev:27658|1.12+]]
 
 
|-
 
|-
 
|mergehistory
 
|mergehistory
|{{int|right-mergehistory}}
+
|mergehistory
 
|sysop
 
|sysop
|[[rev:27823|1.12+]]
 
|-
 
|pagelang
 
|{{int|right-pagelang}} - <translate><!--T:214--> <tvar|PageLanguageUseDB>{{ll|Manual:$wgPageLanguageUseDB|$wgPageLanguageUseDB}}</> must be ''true''</translate>
 
|—
 
|[[gerrit:135312|1.24+]]
 
 
|-
 
|-
 
|patrol
 
|patrol
|{{int|right-patrol}} - <translate><!--T:102--> <tvar|UseRCPatrol>{{ll|Manual:$wgUseRCPatrol|$wgUseRCPatrol}}</> must be ''true''</translate>
+
|patrol - $wgUseRCPatrol must be ''true''
 
|sysop
 
|sysop
|[[rev:9367|1.5+]]
 
|-
 
|patrolmarks
 
|{{int|right-patrolmarks}}
 
|—
 
|[[rev:54153|1.16+]]
 
 
|-
 
|-
 
|protect
 
|protect
|{{int|right-protect}}
+
|protect
 
|sysop
 
|sysop
|[[rev:9367|1.5+]]
 
 
|-
 
|-
 
|rollback
 
|rollback
|{{int|right-rollback}}
+
|rollback
 
|sysop
 
|sysop
|[[rev:9367|1.5+]]
 
|-
 
|suppressionlog
 
|{{int|right-suppressionlog}}
 
|—
 
|[[rev:13224|1.6+]]
 
|-
 
|suppressrevision
 
|{{int|right-suppressrevision}} - <translate><!--T:119--> '''Prior to [[rev:35303|1.13]] this right was named hiderevision''' (''not available by default'')</translate>
 
|—
 
|[[rev:13224|1.6+]]
 
 
|-
 
|-
 
|unblockself
 
|unblockself
|{{int|right-unblockself}} - <translate><!--T:96--> Without it, an administrator that has the capability to block cannot unblock themselves if blocked by another administrator</translate>
+
|Without it, an administrator that has the capability to block cannot unblock themselves if blocked by another administrator
 
|sysop
 
|sysop
|[[rev:64228|1.17+]]
 
 
|-
 
|-
 
|undelete
 
|undelete
|{{int|right-undelete}}
+
|undelete
 
|sysop
 
|sysop
|[[rev:28151|1.12+]]
 
 
|-
 
|-
|userrights
+
|editsitecss
|{{int|right-userrights}} - <translate><!--T:97--> allows the assignment or removal of all* groups to any user.</translate><br /><small><translate><!--T:98-->
+
|editsitecss
*With <tvar|AddGroups>{{ll|Manual:$wgAddGroups|$wgAddGroups}}</> and <tvar|RemoveGroups>{{ll|Manual:$wgRemoveGroups|$wgRemoveGroups}}</> you can set the possibility to add/remove certain groups instead of all</translate></small>
+
|sysop
|bureaucrat
 
|[[rev:9367|1.5+]]
 
 
|-
 
|-
|userrights-interwiki
+
|editsitejs
|{{int|right-userrights-interwiki}}
+
|editsitejs
|—
+
|sysop
|[[rev:28650|1.12+]]
 
|-
 
|viewmyprivateinfo
 
|{{int|right-viewmyprivateinfo}}
 
|*
 
|1.22+
 
|-
 
|viewmywatchlist
 
|{{int|right-viewmywatchlist}}
 
|*
 
|1.22+
 
|-
 
|viewsuppressed
 
|{{int|right-viewsuppressed}} - <translate><!--T:120--> i.e. a more narrow alternative to "suppressrevision" (''not available by default'')</translate>
 
|—
 
|[[gerrit:139277|1.24+]]
 
|-
 
|{{hl3}} colspan="4"|'''<translate><!--T:195--> Administration</translate>'''
 
 
|-
 
|-
 +
!rowspan="5"|Administration
 
|autopatrol
 
|autopatrol
|{{int|right-autopatrol}} - <translate><!--T:141--> <tvar|UseRCPatrol>{{ll|Manual:$wgUseRCPatrol|$wgUseRCPatrol}}</> must be ''true''</translate>
+
|$wgUseRCPatrol must be ''true''
 
|bot, sysop
 
|bot, sysop
|[[rev:18496|1.9+]]
 
 
|-
 
|-
 
|import
 
|import
|{{int|right-import}} - <translate><!--T:126--> “transwiki”</translate>
+
|transwiki
 
|sysop
 
|sysop
|[[rev:9498|1.5+]]
 
 
|-
 
|-
 
|importupload
 
|importupload
|{{int|right-importupload}} - <translate><!--T:128--> This right was called 'importraw' in and before version 1.5</translate>
+
|importupload
 
|sysop
 
|sysop
|[[rev:9499|1.5+]]
 
 
|-
 
|-
 
|managechangetags
 
|managechangetags
|{{int|right-managechangetags}} - <translate><!--T:132--> currently unused by extensions</translate>
+
|currently unused by extensions
 
|sysop
 
|sysop
|1.25+
 
|-
 
|siteadmin
 
|{{int|right-siteadmin}} - <translate><!--T:124--> which blocks all interactions with the web site except viewing.</translate> <translate><!--T:125--> Disabled by default</translate>
 
|—
 
|[[rev:9367|1.5+]]
 
 
|-
 
|-
 
|unwatchedpages
 
|unwatchedpages
|{{int|right-unwatchedpages}} - <translate><!--T:131--> lists pages that no user has watchlisted</translate>
+
|lists pages that no user has watchlisted
 
|sysop
 
|sysop
|[[rev:12196|1.6+]]
 
|-
 
|{{hl3}} colspan="4"|'''<translate><!--T:196--> Technical</translate>'''
 
 
|-
 
|-
 +
!rowspan="5"|Technical
 +
|apihighlimits
 
|apihighlimits
 
|apihighlimits
|{{int|right-apihighlimits}}
 
 
|bot, sysop
 
|bot, sysop
|[[rev:27949|1.12+]]
 
 
|-
 
|-
 
|autoconfirmed
 
|autoconfirmed
|{{int|right-autoconfirmed}} - <translate><!--T:145--> used for the 'autoconfirmed' group, see the other table below for more information</translate>
+
|used for the 'autoconfirmed' group, see the other table below for more information
 
|autoconfirmed, bot, sysop
 
|autoconfirmed, bot, sysop
|[[rev:12207|1.6+]]
 
|-
 
|bot
 
|{{int|right-bot}} - <translate><!--T:134--> can optionally be viewed</translate>
 
|bot
 
|[[rev:9367|1.5+]]
 
 
|-
 
|-
 
|ipblock-exempt
 
|ipblock-exempt
|{{int|right-ipblock-exempt}}
+
|ipblock-exempt
 
|sysop
 
|sysop
|[[rev:18904|1.9+]]
 
|-
 
|minoredit
 
|{{int|right-minoredit}}
 
|user
 
|[[rev:12359|1.6+]]
 
|-
 
|nominornewtalk
 
|{{int|right-nominornewtalk}} - <translate><!--T:137--> requires ''minor edit'' right</translate>
 
|bot
 
|[[rev:17281|1.9+]]
 
 
|-
 
|-
 
|noratelimit
 
|noratelimit
|{{int|right-noratelimit}} - <translate><!--T:138--> not affected by [[<tvar|man>Special:MyLanguage/Manual:$wgRateLimits</>|rate limits]] (''prior to the introduction of this right, the configuration variable <tvar|RateLimitsExcludedGroups>{{ll|Manual:$wgRateLimitsExcludedGroups|$wgRateLimitsExcludedGroups}}</> was used for this purpose'')</translate>
+
|not affected by rate limits
 
|sysop, bureaucrat
 
|sysop, bureaucrat
|[[rev:35908|1.13+]]
 
|-
 
|purge
 
|{{int|right-purge}} - <translate><!--T:135--> [[<tvar|man>Special:MyLanguage/Manual:URL</>|URL parameter]] "<code>&action=purge</code>"</translate>
 
|user
 
|[[rev:19195|1.10+]]
 
 
|-
 
|-
 
|suppressredirect
 
|suppressredirect
|{{int|right-suppressredirect}}
+
|suppressredirect
 
|bot, sysop
 
|bot, sysop
|[[rev:27774|1.12+]]
 
|-
 
|writeapi
 
|{{int|right-writeapi}}
 
|*, user, bot
 
|[[rev:35399|1.13+]]
 
 
|}
 
|}
{{Note|1=<translate><!--T:149--> Although these permissions all control separate things, sometimes to perform certain actions you need multiple permissions.</translate> <translate><!--T:150--> For example allowing people to edit but not read pages doesn't make sense, since in order to edit a page you must first be able to read it (Assuming no pages are whitelisted).</translate> <translate><!--T:151--> Allowing uploads but not editing does not make sense, since in order to upload an image you must implicitly create an image description page, etc.</translate>}}
 
  
<translate>
+
===Bureaucrat===
 +
Users who by default can change other users' rights.
  
== List of groups == <!--T:152-->
+
:{|class="wikitable" width=100% style="text-align:center;"
 +
|-
 +
|Category
 +
!Right
 +
!Description
 +
!User groups that have this right
 +
|-
 +
!Management
 +
|userrights
 +
|Allows the assignment or removal of all* groups to any user. With $wgAddGroups and $wgRemoveGroups, you can set the possibility to add/remove certain groups instead of all
 +
|bureaucrat
 +
|-
 +
!Administration
 +
|noratelimit
 +
|Not affected by rate limits
 +
|sysop, bureaucrat
 +
|}
  
<!--T:153-->
+
===Legacy functions and roles===
The following groups are available in the latest version of MediaWiki.</translate>
+
:{|class="wikitable" width=100% style="text-align:center;"
<translate>
+
|-
<!--T:154-->
+
|Category
If you are using an older version then some of these may not be implemented.
+
!Right
</translate>
+
!Description
 
+
!User groups that have this right
{|class="wikitable"
+
|-
 +
!rowspan="2"|Editing
 +
|autocreateaccount
 +
|a more limited version of ''createaccount''
 +
|-
 +
|reupload-own
 +
|requires the upload right (note that this is not needed if the group already has the ''reupload'' right)
 +
|-
 +
!rowspan="11"|Management'''
 +
|deletelogentry
 +
|allows deleting/undeleting information (action text, summary, user who made the action) of specific log entries (''not available by default'')
 +
|-
 +
|editcontentmodel
 +
|editcontentmodel
 +
|-
 +
|editsitejson
 +
|editsitejson
 +
|interface-admin
 +
|-
 +
|edituserjson
 +
|edituserjson
 +
|interface-admin
 +
|-
 +
|hideuser
 +
|(''not available by default'') Only users with 1000 edits or less can be suppressed by default. Use HideUserContribLimit to disable.
 
|-
 
|-
!{{hl2}} | <translate><!--T:155--> Group</translate>
+
|pagelang
!{{hl2}} | <translate><!--T:156--> Description</translate>
+
|$wgPageLanguageUseDB must be ''true''
!{{hl2}} | <translate><!--T:215--> Default rights</translate>
 
!{{hl2}} | <translate><!--T:157--> Versions</translate>
 
 
|-
 
|-
| *
+
|patrolmarks
|<translate><!--T:158--> all users (including anonymous).</translate>
+
|patrolmarks
|createaccount, createpage, createtalk, edit, editmyoptions, editmyprivateinfo, editmyusercss, editmyuserjs, editmywatchlist, read, viewmyprivateinfo, viewmywatchlist, writeapi
 
|[[rev:9367|1.5+]]
 
 
|-
 
|-
|user
+
|suppressionlog
|<translate><!--T:159--> registered accounts.</translate>
+
|suppressionlog
|applychangetags, changetags, createpage, createtalk, edit, minoredit, move, move-categorypages, move-rootuserpages, move-subpages, movefile, purge, read, reupload, reupload-shared, sendemail, upload, writeapi
 
|
 
 
|-
 
|-
|autoconfirmed
+
|suppressrevision
|<translate><!--T:160--> registered accounts at least as old as <tvar|AutoConfirmAge>{{ll|Manual:$wgAutoConfirmAge|$wgAutoConfirmAge}}</> and having at least as many edits as <tvar|AutoConfirmCount>{{ll|Manual:$wgAutoConfirmCount|$wgAutoConfirmCount}}</>.</translate>
+
|(''not available by default'')
|autoconfirmed, editsemiprotected
 
|[[rev:12207|1.6+]]
 
 
|-
 
|-
|bot
+
|userrights-interwiki
|<translate><!--T:163--> accounts with the ''bot'' right (intended for automated scripts).</translate>
+
|userrights-interwiki
|autoconfirmed, autopatrol, apihighlimits, bot, editsemiprotected, nominornewtalk, suppressredirect, writeapi
 
|[[rev:9367|1.5+]]
 
 
|-
 
|-
|sysop
+
|viewsuppressed
|<translate><!--T:164--> users who by default can delete and restore pages, block and unblock users, et cetera.</translate>
+
|i.e. a more narrow alternative to "suppressrevision" (''not available by default'')
|apihighlimits, autoconfirmed, autopatrol, bigdelete, block, blockemail, browsearchive, createaccount, delete, deletedhistory, deletedtext, editinterface, editprotected, editsemiprotected, editusercss, edituserjs, import, importupload, ipblock-exempt, managechangetags, markbotedits, mergehistory, move, move-categorypages, move-rootuserpages, move-subpages, movefile, noratelimit, patrol, protect, proxyunbannable, reupload, reupload-shared, rollback, suppressredirect, unblockself, undelete, unwatchedpages, upload, upload_by_url
 
|[[rev:9367|1.5+]]
 
 
|-
 
|-
|bureaucrat
+
!Administration
|<translate><!--T:165--> users who by default can change other users' rights.</translate>
+
|siteadmin
|noratelimit, userrights
+
|which blocks all interactions with the web site except viewing. Disabled by default
|[[rev:9367|1.5+]]
 
 
|}
 
|}
  
<translate>
+
==Fuctional features==
<!--T:167-->
+
===Version control===
From MW 1.12, you can create your own groups into which users are automatically promoted (as with autoconfirmed and emailconfirmed) using <tvar|AutoPromote>{{ll|Manual:$wgAutopromote|$wgAutopromote}}</>.</translate>
+
:The ''Software'' includes its own [[version control system]].
<translate>
 
<!--T:168-->
 
You can even create any custom group by just assigning rights to them.
 
 
 
== Default rights == <!--T:169-->
 
 
 
<!--T:170-->
 
The default rights are defined in <tvar|DefaultSettings>{{ll|Manual:DefaultSettings.php|DefaultSettings.php}}</>.</translate>
 
<translate>
 
<!--T:171-->
 
* Default values in HEAD version:</translate> https://phabricator.wikimedia.org/diffusion/MW/browse/master/includes/DefaultSettings.php
 
<translate>
 
<!--T:172-->
 
* The default values in the latest stable MediaWiki release, version {{MW stable branch number}}, are available here:</translate> https://phabricator.wikimedia.org/diffusion/MW/browse/{{#invoke:Version|get|stable|git}}/includes/DefaultSettings.php
 
<translate>
 
<!--T:173-->
 
* Additional rights: you should be able to list all the permissions available on your wiki by running <tvar|getAllRights><code>User::getAllRights()</code></>.
 
</translate>
 
 
 
{{anchor|Adding new rights}}
 
<translate>
 
=== Adding new rights === <!--T:175-->
 
</translate>
 
''<translate><!--T:176--> Information for coders only follows.</translate>''
 
 
 
<translate>
 
<!--T:177-->
 
If you're adding a new right in core, for instance to [[<tvar|man>Special:MyLanguage/Manual:Special pages</>|control a new special page]], you are ''required'' to add it to the list of available rights in <tvar|User>{{ll|Manual:User.php|User.php}}</>, <code>$mCoreRights</code> ([<tvar|url>https://gerrit.wikimedia.org/r/#/c/135312/73/includes/User.php</> example]).</translate>
 
<translate>
 
<!--T:178-->
 
If you're {{<tvar|man>ll|Manual:Developing extensions</>|doing so in an extension}}, you instead need to use <tvar|AvailableRights>{{ll|Manual:$wgAvailableRights|$wgAvailableRights}}</>.
 
 
 
<!--T:179-->
 
You probably also want to assign it to some user group by editing <tvar|GroupPermissions>{{ll|Manual:$wgGroupPermissions|$wgGroupPermissions}}</> described above.
 
 
 
<!--T:217-->
 
If you want this right to be accessible to external applications by <tvar|OAuth>{{ll|Help:OAuth|OAuth}}</> or by [[<tvar|botpasswords>Manual:Bot passwords</>|bot passwords]], then you will need to add it to a grant by editing <tvar|GrantPermissions>{{ll|Manual:$wgGrantPermissions|$wgGrantPermissions}}</>.</translate>
 
 
 
<source lang="php">
 
// create ninja-powers right
 
$wgAvailableRights[] = 'ninja-powers';
 
 
 
//add ninja-powers to the ninja-group
 
$wgGroupPermissions['ninja']['ninja-powers'] = true;
 
  
//add ninja-powers to the 'basic' grant so we can use our ninja powers over an API request
+
===Security===
$wgGrantPermissions['basic']['ninja-powers'] = true;
+
:As any [[open-source]] software, the ''Wiki'' is vulnerable to external attacks:
</source>
+
:*https://www.mediawiki.org/wiki/Manual:Security
 
+
:*https://www.mediawiki.org/wiki/Security_for_developers
== Security ==
 
As any [[open-source]] software, the ''Wiki'' is vulnerable to external attacks:
 
*https://www.mediawiki.org/wiki/Manual:Security
 
*https://www.mediawiki.org/wiki/Security_for_developers
 
  
 
== Getting started ==
 
== Getting started ==
Line 674: Line 473:
 
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]
 
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]
 
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]
 
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]
+
 
 +
==See also==
 +
 
 +
===Related lectures===
 +
:*[[What Wiki Edits Are]].
 +
:*[[Concept Management Quarter]].  
 +
 
 +
[[Category: CNM Cyber Placement]][[Category: Septem Artes Administrativi]][[Category: Articles]]

Latest revision as of 23:32, 14 April 2024

MediaWiki (hereinafter, the Software) is a free and open-source wiki software. The Software was originally developed for Wikipedia, but now the Software runs on many websites and has become the dominant software in its category. The Software is written in the PHP programming language and stores the contents into a set of databases.

The software is optimized to efficiently handle large projects, which can have terabytes of content and hundreds of thousands of hits per second. According to MediaWiki, achieving scalability through multiple layers of caching and database replication has been a major concern for developers. The software has more than 900 configuration settings and more than 1,900 extensions available for enabling various features to be added or changed.

On Wikipedia alone, more than 1000 automated and semi-automated bots and other tools have been developed to assist in editing. It has also been deployed by some companies as an internal knowledge management system, and some educators have assigned students to use the Software for collaborative group projects.


Permitted user roles

System-user roles are specific access and ability permissions that can be assigned to customizable user groups.

Any user

Any user (including anonymous) is permitted to use the following functions in the version of the Software that is used for Educaship MediaWiki.
Category Right Description User groups that have this right
Reading read When set to false, override for specific pages with WhitelistRead *, user
Editing createaccount createaccount - register / registration *, sysop
createpage createpage - requires the edit right *, user
createtalk createtalk - requires the edit right *, user
edit edit *, user
Management editmyoptions editmyoptions *
editmyprivateinfo editmyprivateinfo *
editmyusercss editmyusercss *
editmyuserjs editmyuserjs *
editmywatchlist editmywatchlist *
viewmyprivateinfo viewmyprivateinfo *
viewmywatchlist viewmywatchlist *
Technical writeapi writeapi *, user, bot

Registered user

Any user with his or her registered account, when he or she is identified, is permitted to use the following functions in the version of the Software that is used for Educaship MediaWiki.
Category Right Description User groups that have this right
Reading read When set to false, override for specific pages with WhitelistRead *, user
Editing applychangetags applychangetags user
createpage requires the edit right *, user
createtalk requires the edit right *, user
edit edit *, user
upload requires the edit right user, sysop
reupload requires the upload right user, sysop
reupload-shared (if one is set up) with local files (requires the upload right) user, sysop
sendemail sendemail user
Management changetags changetags - currently unused by extensions user
editmyuserjson editmyuserjson user
Technical minoredit minoredit user
purge purge - URL parameter user
writeapi writeapi *, user, bot

Autoconfirmed

Any user with his or her registered account, when he or she is identified, (1) confirmed that his or her age confirms requirements established by the Software and has at least as many edits as established by the Software, is permitted to use the following functions in the version of the Software that is used for Educaship MediaWiki.
Category Right Description User groups that have this right
Editing editsemiprotected editsemiprotected - without cascading protection autoconfirmed, sysop
Technical autoconfirmed autoconfirmed - used for the 'autoconfirmed' group, see the other table below for more information autoconfirmed, bot, sysop

Bot

accounts with the bot right (intended for automated scripts). |autoconfirmed, autopatrol, apihighlimits, bot, editsemiprotected, nominornewtalk, suppressredirect, writeapi

Category Right Description User groups that have this right
Administration autopatrol $wgUseRCPatrol must be true bot, sysop
Technical apihighlimits apihighlimits bot, sysop
autoconfirmed used for the 'autoconfirmed' group, see the other table below for more information autoconfirmed, bot, sysop
bot bot - can optionally be viewed bot
nominornewtalk nominornewtalk - requires minor edit right bot
suppressredirect suppressredirect bot, sysop
writeapi writeapi *, user, bot

Sysop

users who by default can delete and restore pages, block and unblock users, et cetera.

Category Right Description User groups that have this right
Editing editprotected editprotected - without cascading protection sysop
editsemiprotected editsemiprotected - without cascading protection autoconfirmed, sysop
createaccount createaccount - register / registration *, sysop
move requires the edit right sysop
move-categorypages requires the move right sysop
move-rootuserpages requires the move right sysop
move-subpages requires the move right sysop
movefile requires the move right and $wgAllowImageMoving to be true sysop
upload upload - requires the edit right user, sysop
upload_by_url upload_by_url - requires the upload right sysop
reupload reupload - requires the upload right user, sysop
reupload-shared reupload-shared - (if one is set up) with local files (requires the upload right) user, sysop
Management bigdelete bigdelete sysop
block Block options include preventing editing and registering new accounts, and autoblocking other users on the same IP address sysop
blockemail allows preventing use of the Emailuser interface when blocking sysop
browsearchive through Special:Undelete sysop
delete allows the deletion or undeletion of pages. For undeletions, there is now the 'undelete' right, see below sysop
deletedhistory deletedhistory sysop
deletedtext deletedtext sysop
editinterface contains interface messages sysop
markbotedits see Rollback sysop
mergehistory mergehistory sysop
patrol patrol - $wgUseRCPatrol must be true sysop
protect protect sysop
rollback rollback sysop
unblockself Without it, an administrator that has the capability to block cannot unblock themselves if blocked by another administrator sysop
undelete undelete sysop
editsitecss editsitecss sysop
editsitejs editsitejs sysop
Administration autopatrol $wgUseRCPatrol must be true bot, sysop
import transwiki sysop
importupload importupload sysop
managechangetags currently unused by extensions sysop
unwatchedpages lists pages that no user has watchlisted sysop
Technical apihighlimits apihighlimits bot, sysop
autoconfirmed used for the 'autoconfirmed' group, see the other table below for more information autoconfirmed, bot, sysop
ipblock-exempt ipblock-exempt sysop
noratelimit not affected by rate limits sysop, bureaucrat
suppressredirect suppressredirect bot, sysop

Bureaucrat

Users who by default can change other users' rights.

Category Right Description User groups that have this right
Management userrights Allows the assignment or removal of all* groups to any user. With $wgAddGroups and $wgRemoveGroups, you can set the possibility to add/remove certain groups instead of all bureaucrat
Administration noratelimit Not affected by rate limits sysop, bureaucrat

Legacy functions and roles

Category Right Description User groups that have this right
Editing autocreateaccount a more limited version of createaccount
reupload-own requires the upload right (note that this is not needed if the group already has the reupload right)
Management deletelogentry allows deleting/undeleting information (action text, summary, user who made the action) of specific log entries (not available by default)
editcontentmodel editcontentmodel
editsitejson editsitejson interface-admin
edituserjson edituserjson interface-admin
hideuser (not available by default) Only users with 1000 edits or less can be suppressed by default. Use HideUserContribLimit to disable.
pagelang $wgPageLanguageUseDB must be true
patrolmarks patrolmarks
suppressionlog suppressionlog
suppressrevision (not available by default)
userrights-interwiki userrights-interwiki
viewsuppressed i.e. a more narrow alternative to "suppressrevision" (not available by default)
Administration siteadmin which blocks all interactions with the web site except viewing. Disabled by default

Fuctional features

Version control

The Software includes its own version control system.

Security

As any open-source software, the Wiki is vulnerable to external attacks:

Getting started

See also

Related lectures