by Abhinand (@beforeone) on Sunday, 8 January 2017

+1
Vote on this proposal
Status: Submitted
Technical level
Beginner

Abstract

What are extensions ? Why is it exciting to work with it ?
Extensions enables developers to not only customize the look of MediaWiki but also to provide new features or reports. Some of the examples of extensions are Echo, Newsletter, Thanks etc. One can develop new extensions or contribute to existing extensions. The extension mostly provide new features for the MediaWiki software.

You can develop extension for
1.Changing look and feel of MediaWiki - Skins alter the color and look of MediaWiki software
2.Adding new features - such as adding new reporting feature
3.Extending markup language
4.Security enhancements

How to install ?
Download/Clone the extension from github repository. Extract the downloaded extension to the folder /mediawiki/extension folder and add a line to LocalSetting.php, forcing the php interpreter to read the extension file, as a result the it can be made available in MediaWiki. Some extension require more procedures during the installations for which the extensions documentation will be helpful.

Need to develop ?
The added feature to the software may benefit people making their work easier. It can also be added to the core mediawiki software if it helps a number of people.

How to start ?
Developing extensions goes through these steps :
1.Setup - “extension.json” file which contains the setup instructions of the extension. Here are few important things to be added to the setup file :
a.Add the classes used by the extension for auto loading
b.Define additional hooks used
c.Setup localisation file
2.Localisation - “en.json” file which is used to store messages in English. The messages with keyword are stored in a JSON file with the documentation for each message in qqq.json file.3.
3.Execution - the implementation portion of the extension

Outline

1.Introduce users to MediaWiki extensions and helps them to make a basic extension in minutes, following the BoilerPlate template.
2.Implement a hook, explaining the use and needs for Hooks. This can be as simple as showing up a message when a page is created. The talk cover how the return values affect the execution of a hook, how to find the right information from docs/hooks.txt and the user of var_dump() to debug the working.
3.Use the MW extension EditNotify to explain the usage of hooks.

Requirements

Beginners interested to start with MediaWiki contribution.

Speaker bio

I am an open source contributor at Wikimedia Foundation for the past one year. As a part of Google Summer of Code 2016, I have developed an extension for MediaWiki. I am an active member of FOSS@Amrita community. I have given talk on ‘How to contibute to MediaWiki and basics of git’ at Fedora Users and Developers Conference held at Cambodia. I was also a part of MediaWikiToLearn conference at Amrita University.