Wikipedia Phase III Features
Back to main page
You may wonder if you should use the Wikipedia Phase III software for your own wiki. This depends on what kind of wiki you want to run. Wikipedia's software has many, many useful features that grew out of the needs of the users and the ideas of the developers -- but features also mean complexity. The functionality can be overwhelming, even though we try to do everything we can to keep things easy to use. Complexity also means that there are lots of places where you may have to customize the script for your own use.
Before you decide to use the Wikipedia script, please do take a look at other Wiki Engines and see if one of them might meet your requirements better. For small wikis, UseMod is always a safe bet -- it supports [[free links]] (as opposed to CamelCase) and does not need (or support) a database. This is, of course, also a bottleneck in terms of functionality.
The main Wikipedia software currently has the following functionality (basic wiki features not listed):
- Database-driven (MySQL, no other databases currently supported), persistent connections
- Smart caching: rendered pages are saved as static HTML files and served as such unless modified
- Translated into many languages (see Multilingual coordination on Wikipedia for details)
- Editing syntax based on UseMod, with support for mixing wiki-syntax and HTML. Only free links are supported for linking, not CamelCase (deliberate design decision).
- Support for mathematical formulas using LaTeX. These are rendered as HTML, PNG or LaTeX source depending on user preferences.
- "Pipe trick" 1: [[foo (bar)|]] becomes a link to "foo (bar)" displayed as "foo" (the text in parentheses is not shown)
- "Pipe trick" 2: [[User:Foo|]] becomes a link to "User:Foo" displayed as "Foo".
- Full text search; "Go" button allows direct viewing of a specified article's contents (tries near match if no exact hit)
- Edit preview (can be shown before or after edit box)
- Basic support for handling edit conflicts (page being saved by a user while still being edited by another one, then saved again)
- Cookie-based account and login system, but anonymous users can also edit pages.
- "Skins": Using object-oriented programming, the main design can be inherited into other classes, and different themes can be designed relatively easily. Currently three skins are part of the default distribution.
- Basic privilege scheme: sysops can protect and delete pages, edit protected pages, ban users, run SQL queries on the database.
- All revisions of an article are stored (currently uncompressed). Diffs between two revisions can be generated.
- Pages can be deleted and undeleted.
- Pages can be moved (renamed) by signed in users.
- Every signed in user can add articles to their "watchlist". This watchlist then shows changes made to these articles recently. Users can have all their edits watched by default.
- Edits can be marked as minor; users can decide to hide such edits from the Recent Changes list. Only signed in users can mark edits as minor.
- "What links here": View pages that link to the current page (backlinks)
- "Related changes": View a filtered version of Recent Changes to the pages linked from the current page.
- Contribution lists show the edits made by a user. From there, sysops can also easily rollback (revert) edits by an individual user.
- Message notification (user gets a "You have new messages" notice if someone else has edited his user discussion page); this also works for anonymous users
- Support for subpages (link to "Foo/Bar" from "Foo" by just typing "/Foo", "Foo/Bar" contains a backlink to "Foo"), these can be enabled or disabled by namespace (e.g., Wikipedia currently supports subpages on discussion pages, to make archiving easy, and on user pages, to give users space for personal pages)
- Namespaces allow content separation (to address the namespace, use the [[Namespace:Page title]] syntax). Discussion pages are separate from article pages, "meta" project pages can be separated from content pages, image pages are used for image descriptions.
- Uploading and embedding of any file type is possible.
- "Stub" threshold: Users can see links to articles below a certain size rendered in a different color
- Users can enable an enhanced version of the "Recent changes" page (essential to every wiki) that uses JavaScript to dynamically collapse/expand a set of edits to a single page.
- Users can enable an option that allows them to edit individual sections of an article (separated by headlines) instead of loading the entire article.
- Users can enable an option that allows them to edit articles by double clicking them.
- Random article function
- Support for automagically turning ISBN numbers into links to an editable list of booksellers
- Special report pages:
- New pages: List of newly created articles
- Ancient pages: Articles sorted by timestamp, ascending
- List of images
- List of users
- Site statistics
- Orphaned articles (articles that have no links pointing to them)
- Orphaned images
- Popular articles (articles by number of visitss, works only if counters are enabled)
- Most wanted articles (non-existent articles sorted by number of links pointing to them)
- Short articles
- Long articles
- List of all pages by title
- Support for signing comments on discussing pages
- Support for auto-numbering headings in an article, and/or generating a table of contents for long articles
- Support for linking to individual sections of an article
- Users can configure their timezone, which is used on all report timestamps
- The attributes of many report pages (number of results etc.) can be set in the user preferences
- Support for emailing users through the wiki (email address not shown to the user)
- Printable versions of articles can be generated
- InterWiki link support (e.g. MeatBall:SoftSecurity becomes http://www.usemod.com/cgi-bin/mb.pl?SoftSecurity)
- Interlanguage link support (only if multiple wikis are set up)
Coming soon:
- Better interlanguage link handling through a single table for all wikis
- Article category support
- Improved image handling
- More granular user privileges
- Improved banning