Everything is a wiki page
A core concept of MediaWiki is that everything is a wiki page, just like in UNIX everything is a file. More precisely: every publicly-visible content is ultimately controlled and sourced from the content of a wiki page, which can be in any format (thanks to ContentHandler), within some limits defined by software.
Explanation
editA wiki page could be defined as something stored in the revision table and page table (not every title is a wiki page).
All the essential features for the MediaWiki principles, as well as a number of extensions, are built around wiki pages. Anything that uses wiki pages gets the essential functionality automatically, instead of needing to reimplement them. Essential feautures include:
- basic edit form and user rights;
- history, logs, recent changes, watchlist, feeds, pagelinks, search, and other discoverability tools;
- basic interface components and legal compliance (e.g. for copyright and licenses);
- moderation (including patrolling, rollback, deletion, revision deletion, SpamBlackList, AbuseFilter, CheckUser, ConfirmEdit, rate limits) and assorted security features;
- open data interfaces like API, dumps and anything that accesses the standard database tables.
Here be dragons
editThis page only offers examples. If you decide to not use a wiki page, you're on your own. To be sure the functionality of your extension/whatever will work as your target wiki and users expect, you need to have perfect knowledge of all their users, workflows, code and extensions and how they interact between each other.
Others will try to make a list of all the things you'll need to reimplement: that's good. Be aware though, they'll probably fail.
Examples
editParticularly big examples of everything is a wiki page (by number of pages involved across all wikis) are:
- the interface (including i18n, partial wiki configuration and gadgets), controlled by the MediaWiki namespace (coding aided by CodeEditor);
- Semantic MediaWiki and Wikibase;
- Translate, which maps many l10n formats to/from the "Translations" namespace (every "translation unit", i.e. every self-contained string put up for translation, and each of its translations, gets automatically stored on its own wiki page; Meta-Wiki now has over ten million pages);
- Extension:LiquidThreads (to a degree).
Other examples are very pretty or powerful although limited in extent:
- EventLogging schemas,
- UploadWizard campaigns for Wiki Loves X and more,
- WikiEduDashboard's thousands of OAuth edits
- maps, graphs etc.
- Category:ContentHandler extensions