LocalSettings
From Eckerd Academic Wiki
To have features similar to this Wiki (course namespaces with specific permissions you must first have added a Wiki extension (see here). It works on the version listed below.
It will:
- Make regular users only have read ability (take away edit,create, and create account). This will stop anonymous users from vandalizing.
- add a professor user similar in power to sysop
- Create an extra namespace for a course (in this case PH241N-001)
- Let this namespace have subpages
- create a group ph241-weppner which can edit (but not create or move) these namespace pages. This is the student group
- let the professor and sysop groups have full control in the course namespace PH241N-001
Now students who are part of this group can edit a section of the wiki in an organized manner.
It has been tested on this version:
- MediaWiki: 1.6.8
- PHP: 4.3.9 (apache2handler)
- MySQL: 4.1.14-log
- Extensions:
o Extension functions: + wfNamespacePermissions
- Hooks:
o userCan: namespacePermissionsCheckNamespace
Feel free to contact me with questions--Weppnesp 22:37, 17 February 2007 (EST)
Add this code after the require_once( "includes/DefaultSettings.php" ); line
in your LocalSettings.php file
require_once( "includes/DefaultSettings.php" );
#ADDED TO BY S.Weppner
$wgExtraNamespaces = array(
100 => 'PH241N-001',
101 => 'PH241N-001_Discussion'
);
/** Which namespaces should support subpages?
* See Language.php for a list of namespaces.
*/
$wgNamespacesWithSubpages = array(
NS_TALK => true,
NS_USER => true,
NS_USER_TALK => true,
NS_PROJECT_TALK => true,
NS_IMAGE_TALK => true,
NS_MEDIAWIKI_TALK => true,
NS_TEMPLATE_TALK => true,
NS_HELP_TALK => true,
NS_CATEGORY_TALK => true,
100 => true,
101 => true
);
require('extensions/NamespacePermissions.php');
## Extension added for fine security control by Petr Andreev
#Anonymous Users Shut down
$wgGroupPermissions['*']['createaccount'] = false;
$wgGroupPermissions['*']['edit'] = false;
$wgShowIPinHeader = false; # For non-logged in users
$wgGroupPermissions['*']['createpage']= false;
$wgGroupPermissions['*']['createtalk']= false;
$wgGroupPermissions[ '*' ][ 'ns0_read' ] = true; #using extension main page is readable
$wgGroupPermissions[ '*' ][ 'ns-1_read' ] = true; #using extension login is readable
$wgGroupPermissions[ '*' ][ 'ns-2_read' ] = true;
$wgGroupPermissions[ '*' ][ 'ns4_read' ] = true;
$wgGroupPermissions[ '*' ][ 'ns8_read' ] = true;
$wgGroupPermissions['sysop']['ns0_edit'] = true; #ns0 is main Namespace
$wgGroupPermissions['sysop']['ns0_create'] = true;
$wgGroupPermissions['sysop']['ns0_move'] = true;
$wgGroupPermissions['professor']['ns0_edit'] = true;
$wgGroupPermissions['professor']['ns0_create'] = true;
$wgGroupPermissions['professor']['ns0_move'] = true;
$wgGroupPermissions['sysop'][ 'ns1_read' ] = true; #ns1 is main-talk namespace
$wgGroupPermissions['sysop']['ns1_edit'] = true; #(right now students are not allowed)
$wgGroupPermissions['sysop']['ns1_create'] = true;
$wgGroupPermissions['sysop']['ns1_move'] = true;
$wgGroupPermissions['professor'][ 'ns1_read' ] = true;
$wgGroupPermissions['professor']['ns1_edit'] = true;
$wgGroupPermissions['professor']['ns1_create'] = true;
$wgGroupPermissions['professor']['ns1_move'] = true;
$wgGroupPermissions['sysop'][ 'ns-1_read' ] = true; #ns-1 is Special Namespace
$wgGroupPermissions['sysop']['ns-1_edit'] = true;
$wgGroupPermissions['sysop']['ns-1_create'] = true;
$wgGroupPermissions['sysop']['ns-1_move'] = true;
$wgGroupPermissions['professor'][ 'ns-1_read' ] = true;
$wgGroupPermissions['professor']['ns-1_edit'] = true;
$wgGroupPermissions['professor']['ns-1_create'] = true;
$wgGroupPermissions['professor']['ns-1_move'] = true;
$wgGroupPermissions['sysop'][ 'ns-2_read' ] = true; #ns-2 is Media namespace
$wgGroupPermissions['sysop']['ns-2_edit'] = true;
$wgGroupPermissions['sysop']['ns-2_create'] = true;
$wgGroupPermissions['sysop']['ns-2_move'] = true;
$wgGroupPermissions['professor'][ 'ns-2_read' ] = true;
$wgGroupPermissions['professor']['ns-2_edit'] = true;
$wgGroupPermissions['professor']['ns-2_create'] = true;
$wgGroupPermissions['professor']['ns-2_move'] = true;
$wgGroupPermissions['sysop'][ 'ns4_read' ] = true; #ns4 is Eckerd Project namespace
$wgGroupPermissions['sysop']['ns4_edit'] = true; #(right now students are not allowed)
$wgGroupPermissions['sysop']['ns4_create'] = true;
$wgGroupPermissions['sysop']['ns4_move'] = true;
$wgGroupPermissions['professor'][ 'ns4_read' ] = true;
$wgGroupPermissions['professor']['ns4_edit'] = true;
$wgGroupPermissions['professor']['ns4_create'] = true;
$wgGroupPermissions['professor']['ns4_move'] = true;
$wgGroupPermissions['sysop'][ 'ns8_read' ] = true; #ns8 is MediaWiki namespace
$wgGroupPermissions['sysop']['ns8_edit'] = true; #(right now students are not allowed)
$wgGroupPermissions['sysop']['ns8_create'] = true;
$wgGroupPermissions['sysop']['ns8_move'] = true;
$wgGroupPermissions['professor'][ 'ns8_read' ] = true;
$wgGroupPermissions['professor']['ns8_edit'] = true;
$wgGroupPermissions['professor']['ns8_create'] = true;
$wgGroupPermissions['professor']['ns8_move'] = true;
$wgGroupPermissions['sysop']['edit'] = true;
$wgGroupPermissions['sysop']['createpage']= true;
$wgGroupPermissions['sysop']['createtalk']= true;
$wgGroupPermissions['sysop']['createaccount'] = true;
$wgGroupPermissions['sysop']['protectsub'] = true;
# Define Teacher -- everything a Sysop
$wgGroupPermissions['professor']['edit'] = true;
$wgGroupPermissions['professor']['createpage']= true;
$wgGroupPermissions['professor']['createtalk']= true;
$wgGroupPermissions['professor']['block'] = true;
$wgGroupPermissions['professor']['createaccount'] = true;
$wgGroupPermissions['professor']['userrights'] = true;
$wgGroupPermissions['professor']['delete'] = true;
$wgGroupPermissions['professor']['editinterface'] = true;
$wgGroupPermissions['professor']['import'] = true;
$wgGroupPermissions['professor']['importupload'] = true;
$wgGroupPermissions['professor']['move'] = true;
$wgGroupPermissions['professor']['patrol'] = true;
$wgGroupPermissions['professor']['protect'] = true;
$wgGroupPermissions['professor']['rollback'] = true;
$wgGroupPermissions['professor']['upload'] = true;
$wgGroupPermissions['professor']['reupload'] = true;
$wgGroupPermissions['professor']['reupload-shared'] = true;
$wgGroupPermissions['professor']['unwatchedpages'] = true;
$wgGroupPermissions['professor']['autoconfirmed'] = true;
$wgGroupPermissions['professor']['minoredit'] = true;
#Roll back user default only read
$wgGroupPermissions['user' ]['move'] = false;
$wgGroupPermissions['user' ]['read'] = true;
$wgGroupPermissions['user' ]['edit'] = false;
$wgGroupPermissions['user' ]['createpage'] = false;
$wgGroupPermissions['user' ]['createtalk'] = false;
$wgGroupPermissions['user' ]['upload'] = false;
$wgGroupPermissions['user' ]['reupload'] = false;
$wgGroupPermissions['user' ]['reupload-shared'] = false;
$wgGroupPermissions['user' ]['minoredit'] = false;
# PH241 Weppner Begin
$wgGroupPermissions[ '*' ][ 'ns100_read' ] = true;
$wgGroupPermissions[ '*' ][ 'ns101_read' ] = true;
$wgGroupPermissions[ 'sysop' ][ 'ns100_edit' ] = true;
$wgGroupPermissions[ 'professor' ][ 'ns100_edit' ] = true;
$wgGroupPermissions[ 'sysop' ][ 'ns100_create' ] = true;
$wgGroupPermissions[ 'professor' ][ 'ns100_create' ] = true;
$wgGroupPermissions[ 'sysop' ][ 'ns100_move' ] = true;
$wgGroupPermissions[ 'professor' ][ 'ns100_move' ] = true;
$wgGroupPermissions[ 'sysop' ][ 'ns101_edit' ] = true;
$wgGroupPermissions[ 'professor' ][ 'ns101_edit' ] = true;
$wgGroupPermissions[ 'sysop' ][ 'ns101_create' ] = true;
$wgGroupPermissions[ 'professor' ][ 'ns101_create' ] = true;
$wgGroupPermissions[ 'sysop' ][ 'ns101_move' ] = true;
$wgGroupPermissions[ 'professor' ][ 'ns101_move' ] = true;
$wgGroupPermissions['ph241-weppner' ]['read'] = true;
$wgGroupPermissions['ph241-weppner' ]['edit'] = true;
$wgGroupPermissions['ph241-weppner' ]['upload'] = true;
$wgGroupPermissions['ph241-weppner' ]['reupload'] = true;
$wgGroupPermissions['ph241-weppner' ]['reupload-shared'] = true;
$wgGroupPermissions['ph241-weppner' ]['minoredit'] = true;
$wgGroupPermissions['ph241-weppner' ][ 'ns100_edit' ] = true;
$wgGroupPermissions['ph241-weppner' ][ 'ns101_edit' ] = true;
# PH241 Weppner End
