Sullivan, James (NIH/CIT) [C] wrote:
I have a client who would like to have their mediawiki
configured so that articles could be read but not edited, but the discussion pages could
be both read and edited.
I have checked out the available extensions and I could probably do this with the
Namespace extension within a defined namespace, but they want this throughout the wiki
especially the Main namespace. Their idea is to have a small group of people manage the
content of articles (via an editors group with edit permissions) while regular users will
have read permission for articles and edit permission for the article's discussion
Can anyone point me to a good solution if one exists?
Thanks in advance,
As long as its fine that everything can be read, it shouldn't be too
difficult. MediaWiki only really has trouble when you want partial-read
restrictions. In your LocalSettings, just create a new user right and
assign it to the group that you want to be able to edit articles:
$wgGroupPermissions['sysop']['editall'] = true;
to have sysops have the permission.
Then, to restrict editing of non-talk namespaces, just add something like:
$wgNamespaceProtection[NS_MAIN] = array( 'editall' );
for every namespace you wish to restrict editing (replacing NS_MAIN with
the namespace constant or namespace number for each namespace).
Then as long as whichever group the general public is in ('user' if you
allow account creation, else '*') has the 'edit' and 'createtalk'
permissions (and 'createpage' if you allow editing any non-talk pages)
they can edit anything that isn't restricted to those with the 'editall'
right. The '*' group has these permissions by default.
for more info.
You can also use http://www.mediawiki.org/wiki/Extension:Lockdown
you only want per-namespace edit restrictions, it shouldn't be necessary.