Project: JMediawiki Package
It is great to see that Joomla is accepted as a mentoring organization on this year’s Google summer of code. Joomla accepted eight amazing projects this year. I am really excited to work with Joomla this summer and my project is JMediawiki package.
Mediawiki is a free and open source web based wiki software which is popularly know for running wikipeida and all other sites by Wikimedia foundation. It offers a RESTful web service to access and modify the contents hosted in mediawiki. This project intend to build a library to interact with mediawiki based websites.
My name is Prasath Nadarajah, a final year undergraduate at the department of computer science and engineering, University of Moratuwa. I am an active contributor to many opensource projects including WordPress, Joomla, Apache. I live in Colombo, Sri Lanka.
I have played with most the opensource CMS systems out there and that’s how i discovered Joomla. Although I haven’t developed much extensions to Joomla I have deployed and maintained a couple of Joomla sites. I am very much interested in working the Joomla platform.
The main goal of this project is to integrate a mediawiki client to access any mediawiki sites. There are some existing php clients to acess mediawiki based websites. The existing php clients are either feature incomplete or stopped active development. A fully featured client within the Joomla Platform will not only benefit the popular Joomla CMS but also attract other developers to the platform who want to create web applications in php that involves interacting with Wikipedia or any other mediawiki sites.
Although there are a lot of actions that can perfmormed through mediawiki APIs, the scope of the project is to cover a subgroup of actions and some sample applications that uses the new JMediawiki package. The following are to be developed in the initial phase of this project
- Site management – actions related to the site
- Page management – actions related to creating/modifying individual pages and helper functions for pages.
- Links management – actions related to managing links in the site and individual pages.
- Image management – actions related to managing images in the site and pages.
- Category management – actions related to managing categories, grouping pages into categories etc.
- User management – actions for managing users in the site.
- Search – a generic search for accessing mediawiki content.
In addition to the API’s two sample applications will be developed to show the users on the usage of the new package.
- A content plugin – pull all the pages in a wiki category into Joomla as articles. Push articles in a category as wikipages in a category.
- A tool for blocking a user and reverting all their edits in one click
Although only a subgroup of functions are covered during the project, the long term objective is to have a fully featured mediawiki API for accessing and modifying mediawiki sites.
The project is developed in a github  branch throughout the summer (May 21 – August 23). Feel free to review the progress and add your suggestions. Looking forward to hear you from all very soon