Brianna Laugher
Linux Users of Victoria
November 2008 meeting
Hacking MediaWiki
(For Users)
http://www.mediawiki.org/
Slide 2
Slide 2 text
●
Me: 2005—now Wikimedia editor,
Wikimedia Commons administrator
~ 2 years, frustrated wannabe hacker
●
You: Use MediaWiki outside of
Wikimedia, comfortable
with basic editing
Who are we?
Slide 3
Slide 3 text
●
MediaWiki/Wikimedia
●
Wiki structure
●
Magic words, access levels
●
User JS/CSS – Gadgets
●
“Uselang” hack
Outline
Slide 4
Slide 4 text
Opensource (GPL) wiki engine
software (uses LAMP)
MediaWiki
Wikimedia
MediaWiki
Name of a social movement;
also US charity
(Wikimedia
Foundation)
Slide 5
Slide 5 text
●
Subpages
Wiki structure
Slide 6
Slide 6 text
By default only in
talk, user pages
Subpages
Help:Subpages
Special:RecentChanges
Special:SpecialPages
Special pages
Help:Special pages
Slide 21
Slide 21 text
Special:Upload
Image namespace > File (soon!)
[[Image:foo.jpg]]
to embed
[[:Image:foo.jpg]]
to link to image page,
not embed
[[Media:foo.jpg]]
to link to file directly
Images (uploaded files)
Slide 22
Slide 22 text
“System [interface] messages”
Edit MediaWiki: pages to overrride
defaults (sysops only)
Search on Special:Allmessages to
find the right message/page
MediaWiki namespace
Manual:System message
Modify an existing one:
User:Foo/monobook.css,js
Myskin – empty to start with
Skins – roll your own
Your
user
page
Name of skin.
Must start with
lowercase
Slide 31
Slide 31 text
“Behaviour switches”:
__NOTOC__,__TOC__
#REDIRECT [[Foo]]
__HIDDENCAT__ (on category pages)
Magic words
Help:Magic words
Slide 32
Slide 32 text
__HIDDENCAT__
Help:Magic words
Slide 33
Slide 33 text
Look like {{CAPS TEMPLATES}}
Especially used in templates context.
●
Time, revision related
●
Stats!
{{NUMBEROFARTICLES}}
{{NUMBEROFEDITS}}
{{NUMBEROFUSERS}}
{{PAGESINCATEGORY:Foo}}
Variables
Help:Magic words
Slide 34
Slide 34 text
Special:ListGroupRights
●
“Anonymous”/IP editor
●
(registered) User
●
> Autoconfirmed!
●
Sysop (==”admin”)
●
Bureaucrat
●
Bot
User access levels
Manual:User rights
Slide 35
Slide 35 text
Time $wgAutoConfirmAge
Edit count $wgAutoConfirmCount
After passing both, User automatically
graduates to Autoconfirmed
(On Wikipedia thought to
be ~ 4 days)
Autoconfirmed?
Slide 36
Slide 36 text
Semi/protection
Manual:Administrators
Slide 37
Slide 37 text
Semi/protection
Manual:Administrators
AND
non-
autoconfirmed
users!
Slide 38
Slide 38 text
Massively simplify user JS/CSS sharing:
no more copying user subpages
MediaWiki:Gadgetsdefinition
> New Preferences tab
JS/CSS Gadgets
Extension:Gadgets
Slide 39
Slide 39 text
MediaWiki:Gadgetsdefinition
MediaWiki:Gadget-section-browsing-gadgets
MediaWiki:Gadget-Navigation popups
List of file names
MediaWiki:Gadget-foo.js/css
Make your edit box less scary:
Gadget rec: wikEd
http://enwp.org/WP:WIKED
Slide 43
Slide 43 text
(This is not really recommended...)
Use it to make different versions of special pages,
eg upload form
Uselang parameter overrides user language prefs
Special:Upload?uselang=fr – I can see the
French version of the form without changing
my prefs
“Uselang” hack
http://commons.wikimedia.org/wiki/
Commons:Redesigning_the_upload_form
Slide 44
Slide 44 text
What if I make a link to
Special:Upload?uselang=blah ?
For each message 'Foo', MW checks
●
MediaWiki:Foo/blah (localised message)
●
MediaWiki:Foo (localised default wiki lang
message)
●
MessagesBlah.php file (MW defaults)
“Uselang” hack
http://commons.wikimedia.org/wiki/
Commons:Redesigning_the_upload_form
Slide 45
Slide 45 text
●
http://mediawiki.org is halfdecent now
●
Still lots of info on http://meta.wikimedia.org/
●
IRC is popular: irc://irc.freenode.net/mediawiki
●
MLs: mediawiki-l
●
Forum: http://mwusers.com/ (unofficial)
Support
Slide 46
Slide 46 text
Questions?
Brianna Laugher
[email protected]
These slides are duallicensed GFDL1.2+,
CCBYSA3.0.
Screenshots are GFDL/GPL, WMF logo is all rights reserved,
MediaWiki logo is public domain.
Thankyou!
http://brianna.modernthings.org/