Manual:Using MediaWiki as a content management system

From MediaWiki.org
Jump to navigation Jump to search

MediaWiki can be used as a "CMS" content management system, e.g. if you want to create a bliki (combination blog/wiki). Before going this route, you may want to consider factors involved in deciding whether to use a wiki as your website type.

Advantages and disadvantages[edit]

Using MediaWiki as a CMS might be an appealing option if you are familiar with the ins and outs of editing MediaWiki and administering MediaWiki installations, but lack the time or inclination to learn how to use other CMS software (such as Wordpress, Joomla or Drupal). It might also be beneficial if you already have some pages written in MediaWiki markup that you want to import into your site.

MediaWiki was designed for openness and mass collaboration, though, rather than for single-user blogging. There are fewer MediaWiki installations than there are other CMS installations, because one MediaWiki installation can often serve hundreds or thousands of users, while typically there is one Wordpress installation per person or several persons. Therefore, arguably not as much attention has been paid to making MediaWiki easy for the non-technically-savvy to administer. For example, MediaWiki lacks the sort of advanced extension management platform offered by Wordpress. If you primarily just need a CMS, and only have limited need for wiki-style collaborative tools, an alternative is to get a CMS and install an extension that will provide those capabilities. See for example the DokuWiki extension to Joomla. There are also some wiki software packages, such as Confluence, Foswiki, SharePoint, Tiki Wiki CMS Groupware, TWiki, and XWiki, that have blogging functionality either built into their cores or available through plugins.

One possibility, if you like Visual Basic, is to combine MediaWiki with vbadvanced, vbulletin, mediawiki, and vbwikipro. Vbulletin allows you to have forums and blogs, along with e-commerce possibilities and social networking. VBAdvanced handles all your CMS issues, add modules, and allow you to integrate all types of pages (such as flash, php, and html apps). Then you can add MediaWiki and the vbulletin bridge, which would be vbwikipro.

Extensions[edit]

Extensions can be used to automatically add new article descriptions to glossary, quote list, etc. special pages that look similar to MediaWiki's Manual:Glossary (see example screenshot) and to "New articles" feeds that look similar to Wikipedia's "In the news" template. This saves time that would otherwise have had to be spent updating centralized templates.

Some extensions you might want to use are:

Settings[edit]

LocalSettings.php[edit]

Here are some configuration settings you may want to adjust if you're interested in using MediaWiki as a content management system (particularly a single-user CMS).

#Stricter than normal settings:

#prevent anonymous users from registering
$wgGroupPermissions['*']['createaccount'] = false;
	 
#prevent anonymous users from editing
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createpage'] = false;
 
#disable section edit links for anonymous viewers
$wgDefaultUserOptions['editsection'] = false;
	 
#remove userpage & usertalk links for anonymous
$wgShowIPinHeader = false;
	 
#disable bot API
$wgEnableAPI = false;
$wgEnableWriteAPI = false;
	 
#disable RSS/atom change feeds
$wgFeed = false;
	 
#Looser than normal settings:
	 
#disable 'nofollow' on external links
$wgNoFollowLinks = false;
	 
#allow uploading of non-images
$wgStrictFileExtensions = false;
$wgCheckFileExtensions = false;
$wgVerifyMimeType = false;
	 
#disable copyright checks on upload
$wgCheckCopyrightUpload = false;
	 
#disable anti-vandalism patrols
$wgUseNPPatrol = false;
$wgUseRCPatrol = false;
	 
#allow raw HTML in <html>...</html> blocks
$wgRawHtml = true;
	 
#allow more liberal redirecting
$wgMaxRedirects = 42;
$wgFixDoubleRedirects = true;
	 
#Other:
	 
#unless your site is multilingual..
$wgHideInterlanguageLinks = true;
	 
#unless you use the Universal Edit Button..
$wgUniversalEditButton = false;

robots.txt[edit]

You may also want to disable certain pages in your robots.txt file for search engine optimization purposes:

User-agent: *
Disallow: /wiki/Special:Random
Disallow: /wiki/Special%3ARandom
Disallow: /wiki/Special:Search
Disallow: /wiki/Special%3ASearch

MediaWiki:Common.css[edit]

Some settings for your MediaWiki:Common.css

#mw-head-base,
#mw-page-base,
#mw-head,
#p-namespaces,
#footer,
.portal h5,
#p-tb,
#searchGoButton,
#mw-searchButton {
display: none; /* remove all tools and wikistuff */
}

/* start customizing */
body {
background-color: #c3dee9; /* example for a new color */
padding: 260px 0 0 60px; /* example for a new proportion */
}
#p-logo {
top: -180px;
}

MediaWiki:Common.js[edit]

Some settings for your MediaWiki:Common.js

$(document).ready(function() {
 if ( wgUserName != null ) { // reappearance wikistuff like editbutton for your website staff
  $('#mw-head').css({ "display": "block" });
 }
});

See also[edit]