MediaWiki

Book description

"A good book! It's a nice overview of wiki editing and administration, with pointers to handy extensions and further online documentation."-Brion Vibber, Chief Technical Officer, Wikimedia Foundation

"This book is filled with practical knowledge based on experience. It's not just spouting some party line."-Rob Church, a developer of MediaWiki

MediaWiki is the world's most popular wiki platform, the software that runs Wikipedia and thousands of other websites. Though it appears simple to use at first glance, MediaWiki has extraordinarily powerful and deep capabilities for managing and organizing knowledge. In corporate environments, MediaWiki can transform the way teams write and collaborate.

This comprehensive book covers MediaWiki's rich (and sometimes subtle) features, helping you become a wiki expert in no time. You'll learn how to:

  • Find your way around by effective searching and browsing
  • Create and edit articles, categories, and user preferences
  • Use advanced features for authors, such as templates, dynamic lists, logical parser functions, and RSS, to organize and maintain large numbers of articles
  • Install and run your own wiki, and configure its look and behavior
  • Develop custom wiki features, called extensions, with the PHP programming language and MySQL database

This book also provides special guidance for creating successful corporate wikis. For beginners who want to create or work on collaborative, community-driven websites with this platform, MediaWiki is the essential one-stop guide.

"I was a MediaWiki newbie before reading this book. Now, many aspects of the platform that were murky before are crystal clear."-JP Vossen, author of O'Reilly's Bash Cookbook

Publisher resources

View/Submit Errata

Table of contents

  1. MediaWiki
  2. A Note Regarding Supplemental Files
  3. Preface
    1. Who Should Read This Book?
    2. Roadmap
    3. Conventions Used in This Book
    4. Using Code Examples
    5. Safari® Books Online
    6. How to Contact Us
    7. Acknowledgments
  4. I. Getting Started
    1. 1. A First Look
      1. What’s MediaWiki?
      2. A Typical Day on a MediaWiki Site
      3. When to Use MediaWiki
      4. When Not to Use MediaWiki
      5. Additional Resources
    2. 2. Basic Use
      1. Quick Tour of a Wiki Page
      2. Articles
        1. Searching for Articles
        2. Browsing by Categories
        3. Namespaces
        4. User Pages
        5. Talk Pages
        6. Links
        7. History
      3. Editing Primer
        1. Wikitext
        2. Edit, Preview, Comment, Save
      4. Menu Reference
        1. Navigation Menu
        2. Toolbox Menu
        3. Language Menu
        4. User Options Menu
        5. Top Tabs
        6. Footer
      5. Getting Help
    3. 3. Your User Identity
      1. Creating an Account
      2. Logging In and Out
        1. Remember My Login on This Computer
      3. User Pages
        1. User Talk Pages
        2. User Toolbox
      4. Signatures
      5. Watchlists
        1. Viewing Your Watchlist
        2. Email Notifications
        3. Other Watchlist Preferences
        4. Changing Your Watchlist
      6. Tracking Your Contributions
      7. Preferences
        1. User Profile Preferences
        2. Change Password
        3. Email Preferences
        4. Skin Preferences
        5. Uploaded Files Preferences
        6. Date and Time Preferences
        7. Editing Preferences
        8. Recent Changes Preferences
        9. Watchlist Preferences
        10. Search Preferences
        11. Miscellaneous Preferences
      8. User CSS and JavaScript
  5. II. Writing and Editing Articles
    1. 4. Editing Articles
      1. Getting Started with Editing
        1. The Edit Box
        2. The Toolbar
        3. Summary Comment
        4. Previewing and Saving
      2. Creating an Article
      3. Paragraphs and Headings
        1. Table of Contents
        2. Indenting
      4. Typestyles and Fonts
      5. Links (Briefly)
      6. Images and Uploaded Files
        1. Working with Uploads
        2. Uploading a File
        3. Embedding an Uploaded Image
        4. Image Pages
        5. Linking to an Uploaded File
        6. External Images
      7. Lists
        1. Bulleted Lists
        2. Numbered Lists
        3. Definition Lists
        4. Combining List Types
      8. Tables
        1. Simple Table Syntax
        2. Table Headings
        3. Table Captions
        4. Table Styles
        5. Sortable Tables
      9. Mathematical Formulas
      10. Escaping Wikitext with <nowiki>
      11. Conflicts
      12. Beyond the Basics
    2. 5. Links
      1. Internal Links
        1. Links to Nonexistent Articles
        2. Alternate Text
        3. The Plural Trick
        4. Links to Other Namespaces
        5. Links to Category Pages
        6. Links to Image Pages
        7. Anchors
      2. External Links
        1. The Plain Method
        2. The Fancy Method
        3. The Reference Method
        4. Supported Protocols
        5. External Links to Yourself
      3. Interwiki Links
      4. Interlanguage Links
        1. Language Menu Links
        2. Interlanguage Links in Articles
      5. Graphical Links
        1. Graphical Links with Spans
        2. Graphical Link Extensions
      6. File Links
      7. Linking Tips
        1. Link Related Terms
        2. Link More Than Once
        3. Avoid Adjacent Links
        4. Include a “See Also” Section
    3. 6. Organizing Articles
      1. Categories
        1. Adding an Article to a Category
        2. Listing All Members of a Category
        3. Creating a Category
        4. Creating a Category Page
        5. Subcategories
        6. Renaming a Category
        7. Deleting a Category
        8. Hidden Categories
        9. Linking to a Category Page
        10. Controlling Sorting on Category Pages
      2. Namespaces
        1. Talk Namespaces
        2. Adding an Article to a Namespace
        3. Listing All Articles in a Namespace
        4. Creating a Namespace
      3. Subpages
        1. Limitations of Subpages
      4. Redirects
        1. Common Uses of Redirects
        2. Modifying a Redirect
        3. Redirecting to a Redirect
        4. Redirects and Categories
      5. Disambiguation Pages
      6. Renaming Articles
        1. Double Redirects from Multiple Moves
        2. Undoing a Rename
      7. Deleting Articles
        1. Before You Delete
        2. Undeleting
    4. 7. Advanced Article Construction
      1. Maintaining a Consistent Wiki
      2. Variables
        1. Server Variables
        2. Article Name Variables
        3. Namespace Variables
      3. Templates and Transclusion
        1. Template Parameters
        2. Nesting Templates
        3. Default Values for Parameters
        4. Conditional Transclusion
        5. Categorizing Templates
        6. Transcluding Any Article
        7. Transcluding Subpages
      4. Logical Parser Functions
      5. Dynamic Page List
        1. Basic DPL Lists
        2. Intermediate DPL: Custom Formats
        3. Advanced DPL: Metadata
      6. Recipes for Refactoring
        1. Recipe 1: Promote and Link
        2. Recipe 2: Transclude
        3. Recipe 3: Share Structure with Parameters
        4. Recipe 4: Share Structure with Subpages
        5. Recipe 5: Generate Lists of Links
        6. Recipe 6: Split and Generate
    5. 8. Special Pages
      1. Maintenance Reports
        1. Broken Redirects
        2. Dead-End Pages
        3. Double Redirects
        4. Long Pages
        5. Oldest Pages
        6. Orphaned Pages
        7. Pages with the Fewest Revisions
        8. Pages Without Language Links
        9. Protected Pages
        10. Protected Titles
        11. Short Pages
        12. Uncategorized Categories
        13. Uncategorized Files
        14. Uncategorized Pages
        15. Uncategorized Templates
        16. Unused Categories
        17. Unused Files
        18. Unused Templates
        19. Unwatched Pages
        20. Wanted Pages
        21. Wanted Categories
      2. List of Pages
        1. All Pages
        2. Categories
        3. Disambiguation Pages
        4. List Redirects
        5. Prefix Index
      3. Login/Sign Up
        1. Log In/Create Account
        2. Log Out
      4. Users and Rights
        1. Block User
        2. List of Blocked IP Addresses and Usernames
        3. Preferences
        4. User Contributions
        5. User Group Rights
        6. User List
        7. User Rights Management
        8. Your User Page
        9. Your User Talk Page
        10. Email This User
      5. Recent Changes and Logs
        1. Gallery of New Files
        2. Logs
        3. My Watchlist
        4. New Pages
        5. Recent Changes
        6. Related Changes
      6. Media Reports and Uploads
        1. File List
        2. File Path
        3. MIME Search
        4. Search for Duplicate Files
        5. Upload File
      7. Wiki Data and Tools
        1. Statistics
        2. System Messages
        3. Version
      8. Redirects and Random Pages
        1. Random Page
        2. Random Redirect
        3. Search
      9. High-Use Pages
        1. Most Linked-To Categories
        2. Most Linked-To Files
        3. Most Linked-To Pages
        4. Most Linked-To Templates
        5. Pages with the Most Categories
        6. Pages with the Most Revisions
      10. Page Tools
        1. Export Pages
        2. Import Pages
        3. View Deleted Pages
        4. What Links Here
      11. Other Special Pages
        1. Book Sources
        2. CategoryTree
        3. Expand Templates
        4. External Links
        5. Move
        6. Popular Pages
      12. Special Pages Grouped by Task
        1. Finding Content of Interest
        2. Writing
        3. People
        4. Getting the Big Picture
        5. Administration
  6. III. Running and Administering MediaWiki
    1. 9. Installing MediaWiki
      1. Before You Begin
        1. Software Prerequisites
        2. Hosting Prerequisites
        3. Early Decisions
      2. Installing the Prerequisites
        1. Linux Prerequisites
        2. Microsoft Windows Prerequisites
          1. Install Apache on Windows
          2. Install MySQL on Windows
          3. Install PHP
        3. Apple Macintosh OS X Prerequisites
          1. Enable Apache on Macintosh
          2. Enable PHP on Macintosh
          3. Install MySQL on Macintosh
      3. Installing MediaWiki
        1. If You Have Administrative Access
        2. Shared Server or No Administrative Access
        3. The Web Installer
          1. Site configuration
          2. Email setup
          3. Database setup
          4. Final installation steps
      4. Important Optional Features
        1. Enabling File Uploads
          1. Make the images directory writable
          2. Set $wgEnableUploads
        2. Enabling Email
          1. Mail software
          2. LocalSettings.php mail settings
        3. Installing Help Pages
        4. Enabling Math Mode
        5. Enabling Short URLs
          1. If you have administrative access
          2. Shared server or no administrative access
      5. A Tour of MediaWiki’s Files
        1. Important Files
        2. Less Important Files
        3. Files You Can Ignore
      6. Maintaining the Code
        1. A Minimal Solution
        2. Maintenance with Version Control
        3. Upgrading MediaWiki
        4. A Simple Release Process
        5. Protecting the Database Password in Subversion
    2. 10. Practical Wiki Design
      1. Adopting MediaWiki
      2. Planning
        1. Initial Structure
        2. Ownership
        3. Users and Access Control
          1. Access to the wiki
          2. Access control lists
        4. Motivation
      3. Establishing Standards
        1. Helpful Templates
        2. Content Standards
      4. Governance
        1. Choosing Sysops
        2. Establishing Processes
        3. Other User Groups
      5. Integrating with Other Websites
        1. Interwiki Links
        2. RSS and Atom Feeds
        3. Other Integration
    3. 11. Configuring MediaWiki: An Overview
      1. Administrative Roles
      2. Advanced Page Constructs
      3. Special Pages for Sysops and Bureaucrats
      4. System Messages
        1. Locating System Messages
          1. Viewing all system messages via the wiki
          2. Viewing all system messages via source code
          3. Viewing only changed system messages
        2. Changing a System Message
        3. System Messages with Parameters
        4. Displaying a System Message Within Another Wiki Article
        5. Creating Custom System Messages
      5. Cascading Stylesheets
      6. JavaScript
      7. Configuration Settings
      8. Extensions
      9. Skinning
      10. SQL Programming
      11. Maintenance Scripts
    4. 12. Controlling Wiki Features
      1. Users
        1. Creating Users
        2. Renaming Users
        3. Deleting and Blocking Users
      2. User Rights and Permissions
        1. Rights
        2. User Groups
          1. Assigning rights to groups
          2. Requiring logins
          3. Requiring logins except for talk pages
          4. Creating a user group
        3. Assigning Users to User Groups
          1. Assignment permission
          2. Assignment permissions for everyone
        4. User Rights Extensions
      3. Article Content
        1. Size Limits
        2. URL Protocols for External Links
        3. External Images
        4. Math Mode
        5. Disambiguation
        6. HTML Header
      4. Configuring the Editing of Articles
        1. The Edit Page
          1. New article message
          2. Adding buttons to the edit page
          3. Edit box
          4. Copyright notice
          5. Submit buttons
        2. Editing a New Article
        3. Edit Links for Sections
        4. The New Section Tab
        5. Edit Conflicts
      5. Maintaining Articles
        1. Deleting Articles
        2. Protecting Articles
          1. Protecting titles
        3. Patrolling Articles
          1. Who can patrol?
          2. Patrol log
        4. Undo and Rollback
        5. Search and Replace
      6. Configuring Namespaces
        1. Creating Namespaces
        2. Namespace Search
        3. Namespace Subpages
        4. Namespace Security
      7. File Uploads
        1. File Types
        2. Maximum File Size
        3. File Location
        4. Virus Scanning
      8. Search
        1. AJAX Search
        2. Search Database Tuning
      9. Special Page List
      10. Database Configuration
      11. Email Configuration
      12. JavaScript Configuration
      13. Logging and Debugging
        1. Where to Log?
        2. Logging Database Queries
        3. Detailed Exceptions
    5. 13. Changing Appearances
      1. The Basics
        1. Wiki Name
        2. Logos and Icons
        3. Home Page
        4. Messages for Every Page
        5. Login Messages
        6. Article Content
        7. Preformatted Text Boxes
      2. Menus
        1. General Changes
        2. Changing the Navigation Menu
        3. Changing the Toolbox Menu
        4. Changing the User Options Menu
        5. Changing the Top Tabs
        6. Changing the Footer Menu
      3. Search Box
      4. Tables of Contents
      5. External Link Appearance
      6. Page Credits
      7. Overall Look and Feel
        1. Default Skin
        2. CSS for All Pages
        3. CSS for Particular Pages
        4. CSS for Printing
      8. International Support
    6. 14. Installing Extensions
      1. Obtaining Extensions
        1. Viewing Extensions on a Wiki
        2. The MediaWiki Catalog of Extensions
      2. Installing an Extension
        1. Installation Example
      3. Recommended Extensions
        1. Extensions for Readers
          1. PDF Export
          2. CategoryTree
          3. Lucene search
        2. Extensions for Writers
          1. Cite
          2. ImageMap
          3. RSS with WikiArticleFeeds
        3. Extensions for Advanced Authors and Programmers
          1. Dynamic Page List
          2. SyntaxHighlight GeSHi
          3. Parser function extensions
          4. ExpandTemplates
          5. Web forms in wiki articles
        4. Extensions for Administrators
          1. LDAP Authentication
          2. Semantic MediaWiki
    7. 15. Creating Extensions
      1. Overview of Extension Types
        1. Follow the Standards
        2. The Three Extension Files
        3. Hooks and Callbacks
        4. Giving Credit
        5. Debugging Extensions
      2. Creating a Variable
      3. Creating a Parser Function
      4. Creating a Tag Extension
        1. Multilanguage Tag Extension
      5. Behavior Changes
      6. Creating a Special Page
        1. Starting a Special Page
        2. A Closer Look
        3. A More Interesting Special Page
      7. Useful Tasks for Extension Writers
        1. Rendering Wikitext
        2. Rendering HTML
        3. Getting the Text of an Article
        4. Accessing Query String Parameters
        5. Adding a Toolbox Link
        6. Adding a Preferences Checkbox
        7. Running JavaScript
          1. A JavaScript extension
        8. Disabling the Parser Cache
      8. Creating a Skin
        1. A Simple Skin
        2. Set the Default Skin
      9. Publishing an Extension
      10. Other Extension Topics
        1. Database Access
        2. AJAX Extensions
        3. The MediaWiki API
      11. Finding a MediaWiki Programmer
    8. 16. Wiki Administration
      1. Maintenance Scripts
        1. AdminSettings.php
      2. Backups
        1. Source Code Backups
        2. Database Backups
        3. Uploaded File Backups
      3. Upgrades
      4. Read-Only Wiki
      5. Performance and Scaling
        1. Measuring Page Times
        2. PHP Acceleration
        3. Apache and MySQL Performance
        4. Proxy Servers
        5. Scaling the Database
        6. Wiki Families
      6. Security
      7. Vandalism
      8. Common Maintenance Tasks
        1. Uploading Files
        2. Creating and Editing Articles
        3. Deleting Multiple Articles
        4. Setting User Preferences
        5. Resetting Passwords
        6. Creating Interwiki Links
        7. Enabling Interlanguage Link Support
      9. For More Information
  7. Index
  8. About the Author
  9. Colophon
  10. Copyright

Product information

  • Title: MediaWiki
  • Author(s): Daniel J. Barrett
  • Release date: October 2008
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9780596554149