LocalSettings

From Eckerd Academic Wiki

Jump to: navigation, search

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:

  1. Make regular users only have read ability (take away edit,create, and create account). This will stop anonymous users from vandalizing.
  2. add a professor user similar in power to sysop
  3. Create an extra namespace for a course (in this case PH241N-001)
    1. Let this namespace have subpages
    2. create a group ph241-weppner which can edit (but not create or move) these namespace pages. This is the student group
    3. 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


Personal tools