User:Pubudu538/Gsoc 2014/Application

Catalogue for MediaWiki extensions

 * Public URL: (the page where the full proposal can be found)
 * Bugzilla report: Bug - 46704
 * Announcement: (link to the announcement of your proposal at the wikitech-l mailing list.

Name and contact information

 * Name: Pubudu Gunatilaka
 * Email: pubudu538@gmail.com
 * IRC: pubudu538 on Freenode
 * Skype: djpc4ever
 * Blog : http://reddragonspace.blogspot.com/
 * LinkedIn : http://www.linkedin.com/in/pubudugunatilaka
 * Git Hub : https://github.com/pubudu538/
 * Location: Colombo, Sri Lanka.
 * Typical working hours: WeekDays: 4 pm - 1 am, Weekends: Full Day

Synopsis
Currently there are more than 2000 extensions available in the MediaWiki.org. As there are lots of extensions, it is a must to have a well organized catalogue.Currently there are only wiki pages that link to extensions. It is difficult for the users to find the most suitable extension for their requirement. Basically catalogue can be designed to cover the following features.
 * Users to search for any extension
 * Categorized the currently available extensions (Documentation,Security,SEO,Media,Communication)
 * Recommend extensions for the users according to their interest,history,etc.
 * Rate extensions and give feedbacks for the extensions
 * Display Top categories, top extensions
 * Provide donation feature
 * Administrative functionality to add a new extension

Having a catalogue could have benefit the users, the developers of the extensions and Mediawiki. Users will get the opportunity to find the most suitable extension that matches for his requirements. In addition to that, users will tend to try the other extensions as well. On the other hand the developers of the extensions will be motivated to extend his extension or go for developing another extension according to the user feedback that comes with the catalogue. When both the users as well as the developers are satisfied with the support that comes from the mediawiki, they tend to use the mediawiki instead of other alternatives.


 * Possible mentors: Markus Glaser, Mark Hershberger

Deliverables
Mainly there are three pages. They are the home page, category page and the extension profile page. Basically category list and search bar are common to all the pages.The home page contains the recommendations for the user, New Releases,different charts such as top 5 categories, top 5 extensions,etc. The category page list down the all the extensions that belong to the category. The extension profile page displays the details that is relevant to a particular extension such as name, description, logo, screen shots, version, size, etc. The rating functionality is included in the extension profile page. The users can rate the extensions and also they can give feedback as comments. The donate functionality is also added to the extension profile page as well. So that users can donate to the developers. Another functionality is to add new extensions. This facility is provided to the administrators.

Participation
Communication can be done using IRC as well as the Skype. In addition to that emailing is also preferred as I have 24*7 access to the emails. During the project I prefer Git Hub to maintain the source code. I can get any help from the wikimedia developer mailing list as well as directly from the mentors.

About you
I am a 3rd year Undergraduate at the Department of Computer Science and Engineering, University of Moratuwa, Sri Lanka. Currently I am doing my internship at WSO2 which is an open source middleware software company in Sri Lanka. My internship ends on 1st week of May 2014 and I have another year to study at the university. I have involved in several software development projects at the university level. And also I have contributed to the wso2 products as well. I have programming experience in languages like Java, C, C# and Ruby. Also I have dealt with PHP, JavaScript, MySQL and Hive. I have done Android application development, XNA game development and joomla.

More Information : User: Pubudu538

I heard about this program from my university. We had a session about Google Summer of Code and how we can contribute to the open source software development. During the program, I have to attend to the university lectures which is hopefully starts on June. I can work from 4 pm to 1 am on weekdays and full day on weekends.

Actually I find Mediawiki is more user friendly and supportive for the users when compared to other wikis. When I first time went through the proposal list, I found this project more interesting as extensions are more valuable to the users in order to fulfill their different needs. This feature should be implemented in order to increase the usability of mediawiki.

Past experience
Bugs I have worked on (Mediawiki) :
 * 1) Bug - 43528

I have experience in using wso2 products such as Enterprise Service Bus(ESB), Business Activity Monitor(BAM), Complex Event Processor(CEP), Application Server(AS) and Apache Stratos. I was involved in developing net monitoing tool which uses wso2 products BAM,CEP and AS. Basic idea of the project was to gather netflow records which comes from the router and present the summarized data to the users. The netflow consists the amount of data used, source ip address and destination address,etc. For a particular user, the amount of data usage can be presented using summarized data. In addition to above capabilities, the system sends an email to the user if he uses a high bandwidth. During the project I learnt about hive, cassandra database and big data analysis.

Any other info
Currently I am working on some of the bugs in bugzilla. In addition to that I am researching for the algorithms that can be used for Rating System and also for the Recommendation feature.