MediaWiki

From Things and Stuff Wiki
Jump to: navigation, search

Things and Stuff Wiki - an organically evolving knowledge base wiki with a totally on-the-fly taxonomy containing topic outlines, descriptions and breadcrumbs, with links to sites, systems, software, manuals, organisations, people, articles, guides, slides, papers, books, comments, screencasts, webcasts, scratchpads and more. use the Table of Contents for navigation on longer pages. see About for further information. / et / em

General

Setup

Nginx

Upgrade

Download latest, extract on-top of current. Be careful with overwriting if you have hacked a core theme.

tar xvzf mediawiki-1.19.1.tar.gz -C . --strip-components=1
php maintenance/update.php

Upgrade requires DB user grants for: select, insert, update, delete, alter, index

http://www.mediawiki.org/w/api.php?action=expandtemplates&text=http://download.wikimedia.org/mediawiki/{{MW%20stable%20branch%20number}}/mediawiki-{{MW%20stable%20release%20number}}.tar.gz

Backup

change vars;

nice -n 19 mysqldump -u $USER --password=$PASSWORD $DATABASE -c
nice -n 19 gzip -9 > wiki-$DATABASE-$(date '+%Y%m%d').sql.gz

Script

Compress

Configuration

Caching

$wgMainCacheType = CACHE_ACCEL;
  PHP acceleration, i.e., APC
php purgeList.php --all

Usage

Markup

Hotkeys

Content

Interwiki

Categories

Theming and frontend

Toolbox

A mess. Hack SkinTemplate.php

Footer links

MediaWiki:Privacy
MediaWiki:Aboutsite
MediaWiki:Disclaimers

Layout

Social

Content

WYSIWYM

Real-time

Print.css

Users

Signup

Login

Permissions

  • Special:UserRights - User rights management

Namespace protection

# Only allow autoconfirmed users to edit Project namespace
$wgNamespaceProtection[NS_PROJECT] = array( 'autoconfirmed' );
 
# Don't allow anyone to edit non-talk pages until they've confirmed their
# e-mail address (assuming we have no custom namespaces and allow edits
# from non-emailconfirmed users to start with)
# Note for 1.13: emailconfirmed group and right were removed from default
# setup, if you want to use it, you'll have to re-enable it manually
$wgNamespaceProtection[NS_MAIN]     = $wgNamespaceProtection[NS_USER]  =
$wgNamespaceProtection[NS_PROJECT]  = $wgNamespaceProtection[NS_IMAGE] =
$wgNamespaceProtection[NS_TEMPLATE] = $wgNamespaceProtection[NS_HELP]  =
 $wgNamespaceProtection[NS_CATEGORY] = array( 'emailconfirmed' );
 
# Only allow sysops to edit "Policy" namespace
$wgGroupPermissions['sysop']['editpolicy'] = true;
$wgNamespaceProtection[NS_POLICY] = array( 'editpolicy' );

Resources

Anti-spam

# Protect shit
require_once("$IP/extensions/ConfirmEdit/ConfirmEdit.php");
require_once("$IP/extensions/ConfirmEdit/QuestyCaptcha.php"); 
$wgCaptchaClass = 'QuestyCaptcha';
$wgCaptchaQuestions[] = array( 'question' => '123 + 1 =', 'answer' => '124' );
$wgCaptchaQuestions[] = array( 'question' => '321 + 2 =', 'answer' => '323' );
etc.
 
$wgGroupPermissions['*'            ]['skipcaptcha'] = false;
$wgGroupPermissions['user'         ]['skipcaptcha'] = false;
$wgGroupPermissions['autoconfirmed']['skipcaptcha'] = false;
$wgGroupPermissions['bot'          ]['skipcaptcha'] = true; // registered bots
$wgGroupPermissions['sysop'        ]['skipcaptcha'] = true;

$wgGroupPermissions['emailconfirmed']['skipcaptcha'] = true;
$ceAllowConfirmedEmail = true;

$wgCaptchaTriggers['edit']          = false; 
$wgCaptchaTriggers['create']        = false; 
$wgCaptchaTriggers['addurl']        = true; 
$wgCaptchaTriggers['createaccount'] = true;
$wgCaptchaTriggers['badlogin']      = true;

Tools

Visualization

Templates

URL

API

Archive

SEO

php maintenance/generateSitemap.php \
  --fspath sitemap \
  --server http://mydomain.org \
  --urlpath http://mydomain.org/sitemap

Semantic / Data

JSON

Flow