Difference between revisions of "MediaWiki"

From Things and Stuff Wiki
Jump to navigation Jump to search
 
(95 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{techy}}
+
{{menu}}
  
 +
== General ==
 
* https://www.mediawiki.org/wiki/MediaWiki
 
* https://www.mediawiki.org/wiki/MediaWiki
 +
 +
* https://www.mediawiki.org/wiki/Future/The_big_picture
 +
 +
 +
* [https://secluded.site/documenting-with-mediawiki/ Documenting With MediaWiki] - [https://lobste.rs/s/wlqu3t/documenting_with_mediawiki]
 +
 +
== Setup ==
 +
* http://www.mediawiki.org/wiki/Manual:$wgServer
 +
 +
* [http://www.mediawiki.org/wiki/Manual:Interface/Sidebar MediaWiki:Sidebar]
 +
* http://www.mediawiki.org/wiki/Manual:Tagline_(Site_Subtitle)
 +
 +
=== Nginx ===
 +
* [http://www.mediawiki.org/wiki/Manual:Short_URL/wiki/Page_title_--_nginx_rewrite--root_access Manual:Short URL/wiki/Page title -- nginx rewrite--root access]
 +
* [http://www.mediawiki.org/wiki/Manual:Short_URL/Page_title_-_nginx,_Root_Access,_PHP_as_a_CGI_module  Manual:Short URL/Page title - nginx, Root Access, PHP as a CGI module]
 +
 +
* http://blog.bigdinosaur.org/mediawiki-on-nginx/
 +
 +
=== Upgrade ===
 +
* http://www.mediawiki.org/wiki/News - release info
 +
* http://www.mediawiki.org/wiki/Manual:Upgrading
 +
* http://www.mediawiki.org/wiki/Manual:Update.php
 +
 +
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 ===
 +
* http://www.mediawiki.org/wiki/Manual:Backing_up_a_wiki
 +
 +
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
 +
 +
* http://www.mediawiki.org/wiki/User:Megam0rf/WikiBackup
 +
* http://www.mediawiki.org/wiki/Mw_tools
 +
 +
* http://www.mediawiki.org/wiki/Manual:Restoring_a_wiki_from_backup
 +
 +
* http://will.thestranathans.com/post/1697306231/git-for-backups
 +
 +
==== Script ====
 +
* http://serom.no-ip.org/index.php/Backup_du_SeRoM_Wiki - bash script, send backup to remote
 +
 +
* https://github.com/milkmiruku/backup-mediawiki
 +
* https://github.com/milkmiruku/backup-mediawiki-remote
 +
 +
=== Compress ===
 +
* https://www.mediawiki.org/wiki/Manual:Reduce_size_of_the_database
 +
 +
== Configuration ==
 +
* http://www.mediawiki.org/wiki/Manual:Configuration
 +
* http://www.mediawiki.org/wiki/Manual:System_administration
 +
 +
* https://en.wikipedia.org/wiki/MediaWiki_extension
 +
* http://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker
 +
 +
* http://www.mediawiki.org/wiki/Manual:Robots.txt
 +
 +
=== Caching ===
 +
* https://www.mediawiki.org/wiki/Manual:Cache
 +
 +
$wgMainCacheType = CACHE_ACCEL;
 +
  PHP acceleration, i.e., APC
 +
 +
* https://www.mediawiki.org/wiki/Manual:Varnish_caching
 +
 +
* https://www.mediawiki.org/wiki/Manual:Purge
 +
 +
* https://www.mediawiki.org/wiki/Manual:PurgeList.php
 +
 +
php purgeList.php --all
 +
 +
* https://www.mediawiki.org/wiki/Extension:Purge - extension adds a purge tab on all normal pages, allowing for quick purging of the cache.
  
 
== Usage ==
 
== Usage ==
 
=== Markup ===
 
=== Markup ===
 
* http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet
 
* http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet
 +
 +
 
* http://en.wikipedia.org/wiki/Help:Table
 
* http://en.wikipedia.org/wiki/Help:Table
 +
** https://en.wikipedia.org/wiki/Help:Basic_table_markup
 +
 +
<pre>{| class="wikitable"
 +
|-
 +
! Header 1
 +
! Header 2
 +
! Header 3
 +
|-
 +
| row 1, cell 1
 +
| row 1, cell 2
 +
| row 1, cell 3
 +
|-
 +
| row 2, cell 1
 +
| row 2, cell 2
 +
| row 2, cell 3
 +
|}</pre>
 +
 +
 +
* https://en.wikipedia.org/wiki/Help:HTML_in_wikitext
 +
 +
* https://wincent.com/products/wikitext
 +
 +
=== ToC ===
 +
* https://www.mediawiki.org/wiki/Manual:Table_of_contents
 +
 +
<pre>__TOC__</pre>
 +
 +
 +
* https://www.mediawiki.org/wiki/Extension:TocTree - Extension for the expansion and collapsing of the table of contents
  
 
=== Hotkeys ===
 
=== Hotkeys ===
 
* http://meta.wikimedia.org/wiki/Help:Keyboard_shortcuts#Default_Shortcuts
 
* http://meta.wikimedia.org/wiki/Help:Keyboard_shortcuts#Default_Shortcuts
  
== Config ==
+
=== Content ===
* http://www.mediawiki.org/wiki/Manual:Configuration
+
* https://www.mediawiki.org/wiki/Extension:Replace_Text
* http://www.mediawiki.org/wiki/Manual:System_administration
+
 
* http://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker
+
 
 +
* https://www.mediawiki.org/wiki/Manual:Collapsible_elements - Add the class mw-collapsible to any element (div, table, list, anything) to trigger it.
 +
 
 +
=== Interwiki ===
 +
* http://www.mediawiki.org/wiki/Manual:Interwiki
 +
 
 +
* http://www.mediawiki.org/wiki/Extension:Interwiki
 +
 
 +
=== Categories ===
 +
* http://www.mediawiki.org/wiki/Extension:SelectCategory
 +
 
 +
== Theming and frontend ==
 +
* http://www.mediawiki.org/wiki/Manual:Skinning/Tutorial
 +
 
 +
* http://blog.redwerks.org/2012/02/28/mediawiki-subskin-tutorial/
 +
 
 +
 
 +
* http://www.mediawiki.org/wiki/Manual:Skinning/Vector
 +
** http://www.mediawiki.org/wiki/Extension:Vector
 +
 
 +
 
 +
* http://www.mediawiki.org/wiki/Extension:WebFonts
 +
 
 +
 
 +
=== Bootstrap ===
 +
 
 +
* https://github.com/armadillica/mediawiki-bootstrap - Minimal Mediawiki skin with Bootstrap 4
 +
 
 +
 
 +
* https://github.com/answeropedia/BootSkin - A MediaWiki skin using Bootstrap 4 for project AnswersWiki.org
 +
 
 +
 
 +
* https://github.com/cmln/chameleon/tree/2.0-devel
  
=== Setup ===
 
* http://www.mediawiki.org/wiki/Manual:$wgServer
 
  
 +
=== Print.css ===
 +
* [[MediaWiki:Print.css]]
  
* [http://www.mediawiki.org/wiki/Manual:Interface/Sidebar MediaWiki:Sidebar]
 
* http://www.mediawiki.org/wiki/Manual:Tagline_(Site_Subtitle)
 
  
 
=== Footer links ===
 
=== Footer links ===
Line 28: Line 169:
 
  MediaWiki:Disclaimers
 
  MediaWiki:Disclaimers
  
== Tools ==
 
* http://en.wikipedia.org/wiki/Wikipedia:Tools
 
* http://www.mediawiki.org/wiki/Manual:Maintenance_scripts
 
  
== Content ==
+
=== Layout ===
 +
* http://www.mediawiki.org/wiki/Extension:HideSidebar
 +
 
 +
* http://www.mediawiki.org/wiki/Manual:Skinning
 +
 
 +
* http://www.mediawiki.org/wiki/Extension:PCR_GUI_Inserts
 +
 
 +
 
 +
=== Social ===
 +
* http://www.mediawiki.org/wiki/Extension:OpenID
 +
 
 +
 
 +
* http://www.mediawiki.org/wiki/Extension:AddThis
 +
 
 +
 
 +
* https://www.mediawiki.org/wiki/Extension:OpenGraphMeta - provides OpenGraph protocol metadata for articles on the wiki for 3rd parties like Facebook to extract. The primary use for this extension is for any wiki that provides its users a button to "Like" pages on the wiki, especially if the wiki uses a custom default skin. As sometimes Facebook can extract undesirable parts from the page (known on some custom skins to potentially extract random images irrelevant to the content) providing this data gives Facebook clean data to display in likes, and cleans up the long title into a pair of clean site and page titles.
 +
 
 +
 
 +
=== Content ===
 +
* http://www.mediawiki.org/wiki/Extension:NoTitle
 +
** https://git.wikimedia.org/summary/mediawiki%2Fextensions%2FNoTitle
 +
 
 
* http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi
 
* http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi
  
== Users and permissions ==
+
 
 +
=== WYSIWYM ===
 +
* http://www.mediawiki.org/wiki/Extension:WikiEditor
 +
 
 +
* https://www.mediawiki.org/wiki/Extension:VisualEditor
 +
** https://www.mediawiki.org/wiki/VisualEditor - for WikiText markup based RDFa, linked with [https://www.mediawiki.org/wiki/Parsoid Parsoid] wikitext parer project
 +
 
 +
 
 +
=== Real-time ===
 +
* http://www.mediawiki.org/wiki/Extension:EtherEditor
 +
 
 +
* http://canidu.com/etherwiki-howto.html
 +
 
 +
* http://www.mediawiki.org/wiki/Future/Real-time_collaboration
 +
 
 +
 
 +
=== Upload ===
 +
* https://www.mediawiki.org/wiki/Extension:UploadWizard
 +
 
 +
* https://www.mediawiki.org/wiki/Extension:MsUpload
 +
 
 +
== Users ==
 +
=== Signup ===
 +
* https://www.mediawiki.org/wiki/Extension:AntiSpoof
 +
 
 +
* https://www.mediawiki.org/wiki/Extension:ConfirmAccount
 +
* https://www.mediawiki.org/wiki/Extension:InviteSignup
 +
 
 +
=== Login ===
 +
* http://www.mediawiki.org/wiki/AuthPlugin
 +
 
 +
* https://www.mediawiki.org/wiki/Extension:OpenID
 +
 
 +
* https://www.mediawiki.org/wiki/Extension:SocialLogin
 +
 
 +
* http://www.mediawiki.org/wiki/Extension:WPMW - wordpress auth bridge
 +
 
 +
* http://www.mediawiki.org/wiki/Extension:PwAuthPlugin
 +
 
 +
* https://github.com/aaronpk/IndieAuth-MediaWiki
 +
 
 +
* http://www.mediawiki.org/wiki/Extension:Persona
 +
** https://github.com/wikimedia/mediawiki-extensions-Persona
 +
** https://bugzilla.mozilla.org/show_bug.cgi?id=879460
 +
 
 +
* https://www.mediawiki.org/wiki/Extension:SecureSessions
 +
* https://www.mediawiki.org/wiki/Extension:SSLClientAuthentication
 +
 
 +
=== Permissions ===
 
* Special:UserRights - User rights management
 
* Special:UserRights - User rights management
  
Line 45: Line 252:
 
* [http://www.mediawiki.org/wiki/Manual:$wgGroupPermissions Manual:$wgGroupPermissions]
 
* [http://www.mediawiki.org/wiki/Manual:$wgGroupPermissions Manual:$wgGroupPermissions]
  
== Namespace protection ==
+
* https://www.mediawiki.org/wiki/Security_issues_with_authorization_extensions
 +
 
 +
* https://www.mediawiki.org/wiki/Extension:Page_access_restriction
 +
* https://www.mediawiki.org/wiki/Extension:Restrict_access_by_category_and_group
 +
* https://www.mediawiki.org/wiki/Extension:EditSubpages
 +
 
 +
==== Namespace protection ====
 
* http://www.mediawiki.org/wiki/Manual:$wgNamespaceProtection
 
* http://www.mediawiki.org/wiki/Manual:$wgNamespaceProtection
  
Line 64: Line 277:
 
  $wgGroupPermissions['sysop']['editpolicy'] = true;
 
  $wgGroupPermissions['sysop']['editpolicy'] = true;
 
  $wgNamespaceProtection[NS_POLICY] = array( 'editpolicy' );
 
  $wgNamespaceProtection[NS_POLICY] = array( 'editpolicy' );
 +
 +
== Resources ==
 +
* http://www.mediawiki.org/wiki/ResourceLoader
 +
 +
 +
* [https://wikimediafoundation.org/news/2023/12/05/introducing-wikifunctions-first-wikimedia-project-to-launch-in-a-decade-creates-new-forms-of-knowledge/ Introducing Wikifunctions: first Wikimedia project to launch in a decade creates new forms of knowledge – Wikimedia Foundation] [https://news.ycombinator.com/item?id=38548130]
  
 
== Anti-spam ==
 
== Anti-spam ==
Line 70: Line 289:
 
* http://www.mediawiki.org/wiki/Extension:ConfirmEdit
 
* http://www.mediawiki.org/wiki/Extension:ConfirmEdit
 
** https://gerrit.wikimedia.org/r/gitweb?p=mediawiki/extensions/ConfirmEdit.git;a=snapshot;h=refs/heads/master;sf=tgz
 
** https://gerrit.wikimedia.org/r/gitweb?p=mediawiki/extensions/ConfirmEdit.git;a=snapshot;h=refs/heads/master;sf=tgz
** http://research.microsoft.com/en-us/um/redmond/projects/asirra/
+
** questy is very easy to set up
 +
** can't get asirra to work, either through confirmedit or standalone extrension
 +
 
 +
# 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;
 +
 
  
 
* http://www.mediawiki.org/wiki/Extension:SpamBlacklist
 
* http://www.mediawiki.org/wiki/Extension:SpamBlacklist
 +
** not tried
 +
 +
 +
* https://www.mediawiki.org/wiki/Extension:BlockAndNuke
 +
** https://github.com/wikimedia/mediawiki-extensions-BlockAndNuke
 +
 +
 +
* https://www.mediawiki.org/wiki/Extension:SmiteSpam - provides a special page "Special:SmiteSpam" helping administrators identify and delete spam pages.
 +
 +
 +
* https://superuser.com/questions/100452/mass-rollback-on-mediawiki
 +
 +
 +
* https://github.com/wikimedia/mediawiki-extensions-DeleteBatch
 +
 +
== Tools ==
 +
* http://www.nozicaa.com/fr/page.content/T%C3%A9l%C3%A9chargements#Mediawiki
 +
 +
 +
* http://en.wikipedia.org/wiki/Wikipedia:Tools
 +
 +
* http://www.mediawiki.org/wiki/Manual:Maintenance_scripts
 +
 +
 +
* http://robertelwell.info/blog/mediawiki-more-than-wikipedia/
 +
 +
* http://wikiapiary.com/
 +
 +
 +
=== Visualization ===
 +
* http://wikipapers.referata.com/wiki/List_of_visualization_tools
 +
 +
* http://viskoda.viktor-dite.de/tools/ibms-history-flow-wiki-visualisation/
 +
 +
* http://www.youtube.com/watch?v=baVQ5MPcXaI
 +
 +
* https://www.dokuwiki.org/tips:gource_analysis
 +
 +
 +
=== IRC bots ===
 +
* https://www.mediawiki.org/wiki/Manual:IRC_RC_Bot
 +
 +
 +
== Templates ==
 +
* http://en.wikipedia.org/wiki/Template:Col-begin-small
 +
 +
 +
== URL ==
 +
* https://www.mediawiki.org/wiki/Extension:ShortUrl
 +
 +
 +
== API ==
 +
* http://www.mediawiki.org/wiki/API:Data_formats
 +
 +
 +
== Archive ==
 +
* https://www.mediawiki.org/wiki/Extension:Memento
 +
 +
* http://mementoweb.org/depot/
 +
 +
 +
== SEO ==
 +
* http://www.mediawiki.org/wiki/Manual:GenerateSitemap.php
 +
 +
php maintenance/generateSitemap.php \
 +
  --fspath sitemap \
 +
  --server http://mydomain.org \
 +
  --urlpath http://mydomain.org/sitemap
  
== Layout ==
 
* http://www.mediawiki.org/wiki/Extension:HideSidebar
 
  
* http://www.mediawiki.org/wiki/Manual:Skinning
+
=== Tags ===
 +
* https://www.mediawiki.org/wiki/Extension:WikiSEO - allows you to replace, append or prepend the html title tag content, and allows you to add common SEO meta keywords and a meta description.
 +
 
 +
* https://www.mediawiki.org/wiki/Extension:GoogleRichCards - Automatically generates Google Rich Cards in JSON+LD format for mediawiki article pages.
 +
 
 +
* https://www.mediawiki.org/wiki/Extension:AdvancedMeta - extension allows setting the robots, keywords and description meta tags for MediaWiki, for SEO purposes
 +
 
 +
 
 +
 
 +
== Data / semantic ==
 +
 
 +
* https://www.mediawiki.org/wiki/Extension:Page_Schemas - a MediaWiki extension that allows for defining all the schema information about a "class", or data type - for naming, display, data input, and browsing - within a single piece of XML contained within a category page. This XML then is used to generate all the necessary additional pages needed to put the schema into effect, such as template pages and, for instance, if Page Forms is installed, form pages. The XML can be created and edited via a helper form, preventing users from having to generate or modify it manually.Page Schemas allows other extensions to define their own fields to add to the XML, using hooks.
 +
 
 +
Currently, the following extensions hook into Page Schemas:
 +
* Cargo
 +
* Page Forms
 +
* Semantic MediaWiki
 +
* Semantic Drilldown
 +
* Semantic Internal Objects
 +
 
 +
 
 +
 
 +
* http://semantic-mediawiki.org
 +
** http://semantic-mediawiki.org/wiki/Data_visualization
 +
** http://www.mediawiki.org/wiki/Extension:Semantic_MediaWiki
 +
** http://semantic-mediawiki.org/wiki/WikiNode
 +
 
 +
* http://semantic-mediawiki.org/wiki/Help:Inline_queries
 +
 
 +
 
 +
* http://en.wikipedia.org/wiki/Wikidata
 +
 
 +
* http://en.wikipedia.org/wiki/DBpedia
 +
 
 +
* http://semanticweb.org/wiki/Semantic_MediaWiki
  
* http://www.mediawiki.org/wiki/Extension:PCR_GUI_Inserts
 
  
== Resources ==
 
* http://www.mediawiki.org/wiki/ResourceLoader
 
  
== Social ==
+
* http://www.kennel17.co.uk/testwiki/WikiDB/Tutorial
* http://www.mediawiki.org/wiki/Extension:AddThis
 
  
== Nginx ==
 
* [http://www.mediawiki.org/wiki/Manual:Short_URL/wiki/Page_title_--_nginx_rewrite--root_access Manual:Short URL/wiki/Page title -- nginx rewrite--root access]
 
* [http://www.mediawiki.org/wiki/Manual:Short_URL/Page_title_-_nginx,_Root_Access,_PHP_as_a_CGI_module  Manual:Short URL/Page title - nginx, Root Access, PHP as a CGI module]
 
  
== Upgrade ==
+
* http://discoursedb.org/wiki/Main_Page
* http://www.mediawiki.org/wiki/Manual:Upgrading
 
  
Download latest, extract on-top of current;
 
tar xvzf mediawiki-1.19.1.tar.gz -C . --strip-components=1
 
php maintenance/update.php
 
  
Upgrade required DB grants for: select, insert, update, delete, alter, index
+
* http://aksw.org/Projects/OntoWiki.html
  
== Backup ==
 
* http://www.mediawiki.org/wiki/Manual:Backing_up_a_wiki
 
  
change vars;
+
=== JSON ===
nice -n 19 mysqldump -u $USER --password=$PASSWORD $DATABASE -c
+
* http://www.mediawiki.org/wiki/Extension:JSON
nice -n 19 gzip -9 > wiki-$DATABASE-$(date '+%Y%m%d').sql.gz
 
  
* http://www.mediawiki.org/wiki/User:Megam0rf/WikiBackup
+
* http://semantic-mediawiki.org/wiki/Serialization_(JSON)
* http://www.mediawiki.org/wiki/Mw_tools
 
  
* http://www.mediawiki.org/wiki/Manual:Restoring_a_wiki_from_backup
+
* http://jsonwidget.org/wiki/JsonData
 +
** https://github.com/robla/mediawiki-jsondata
 +
** https://github.com/atdt/mediawiki-jsondata - newer fork
  
* http://serom.no-ip.org/index.php/Backup_du_SeRoM_Wiki - bash script, send backup to remote
+
== Flow ==
 +
* http://www.mediawiki.org/wiki/Flow_Portal
  
* https://github.com/milkmiruku/backup-mediawiki
+
* http://unicorn.wmflabs.org/flow

Latest revision as of 11:44, 5 February 2024

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


{| class="wikitable"
|-
! Header 1
! Header 2
! Header 3
|-
| row 1, cell 1
| row 1, cell 2
| row 1, cell 3
|-
| row 2, cell 1
| row 2, cell 2
| row 2, cell 3
|}


ToC

__TOC__


Hotkeys

Content


Interwiki

Categories

Theming and frontend




Bootstrap




Print.css


Footer links

MediaWiki:Privacy
MediaWiki:Aboutsite
MediaWiki:Disclaimers


Layout


Social



  • https://www.mediawiki.org/wiki/Extension:OpenGraphMeta - provides OpenGraph protocol metadata for articles on the wiki for 3rd parties like Facebook to extract. The primary use for this extension is for any wiki that provides its users a button to "Like" pages on the wiki, especially if the wiki uses a custom default skin. As sometimes Facebook can extract undesirable parts from the page (known on some custom skins to potentially extract random images irrelevant to the content) providing this data gives Facebook clean data to display in likes, and cleans up the long title into a pair of clean site and page titles.


Content


WYSIWYM


Real-time


Upload

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


IRC bots


Templates


URL


API


Archive


SEO

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


Tags


Data / semantic

  • https://www.mediawiki.org/wiki/Extension:Page_Schemas - a MediaWiki extension that allows for defining all the schema information about a "class", or data type - for naming, display, data input, and browsing - within a single piece of XML contained within a category page. This XML then is used to generate all the necessary additional pages needed to put the schema into effect, such as template pages and, for instance, if Page Forms is installed, form pages. The XML can be created and edited via a helper form, preventing users from having to generate or modify it manually.Page Schemas allows other extensions to define their own fields to add to the XML, using hooks.

Currently, the following extensions hook into Page Schemas:

  • Cargo
  • Page Forms
  • Semantic MediaWiki
  • Semantic Drilldown
  • Semantic Internal Objects







JSON

Flow