MediaWiki Extension Development

The MediaWiki Extension Development course is designed to equip participants with the knowledge and skills to develop custom extensions for MediaWiki, enabling them to extend and enhance the functionality of their MediaWiki installations.

Through a combination of theoretical concepts and practical hands-on exercises, participants will learn the key principles and techniques required to create robust and effective extensions. This course covers the entire extension development process, including understanding extension architecture, utilizing MediaWiki APIs, implementing hooks, and adhering to best practices. By the end of the course, participants will have the proficiency to develop and deploy their own custom extensions for MediaWiki.

Duration: 1 day
Onsite Training: $2,000 including travel in the USA. Inquire about international training rates.
Remote Training: $700

Course Outline

Module 1

Introduction to MediaWiki Extension Development

Overview of MediaWiki extension architecture

Understanding the role and benefits of extensions

Introduction to PHP programming for MediaWiki

Setting up a development environment for extension development

Module 2

MediaWiki Extension Basics

Creating a simple MediaWiki extension from scratch

Understanding the structure of an extension

Registering and enabling extensions in MediaWiki

Testing and debugging extensions

Module 3

Utilizing MediaWiki APIs

Overview of registering handlers

Understanding the stable interface to use

Creating a SpecialPage

Creating an action API module

Adding a new parser function

Creating a new content type

Module 4

Exploring Hooks

Understanding the concept of hooks in MediaWiki

Identifying available hooks for extension integration

Writing extension code to respond to hooks

Module 5

User Interface Customization

Customizing user preferences and settings

Exploring core JavaScript libraries

Enhancing the user experience with JavaScript and CSS

Module 6

Data Manipulation and Storage

Working with MediaWiki's database structure

Creating and managing database tables for extensions

Storing and retrieving extension-specific data

Module 7

Security and Permissions

Understanding security considerations for extensions

Implementing user and group permissions

Safeguarding against common security vulnerabilities

Utilizing MediaWiki's permission system for access control

Module 8

Best Practices and Code Quality

Adhering to MediaWiki coding conventions and standards

Writing clean, maintainable, and reusable code

Implementing proper documentation and comments

Utilizing version control systems for extension development

Module 9

Testing and Deployment

Implementing unit tests for extension functionality

Packaging and distributing extensions

Deployment strategies and considerations


This course assumes a strong understanding of PHP programming and understanding of topics covered in Introduction to MediaWiki and MediaWiki administration.

The course outline can be customized and adjusted based on the specific needs and requirements of the participants in our Custom MediaWiki Training Tailored to Your Goals.