User:Pubudu538/Gsoc 2014/Application

From mediawiki.org

Catalogue for MediaWiki extensions[edit]

Public URL
http://www.google-melange.com/gsoc/proposal/public/google/gsoc2014/pubudu538/5629499534213120
Bugzilla report
Bug - 46704
Announcement
Wikitech Mailing List - [[1]]

Name and contact information[edit]

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[edit]

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[edit]

Week Number Week Milestone
1 19th May - 25th May Coming up with a database design and populate database with existing extension data
2 26th May - 1st June Implement Extension Profile page which shows the extension and its related details
3 2nd June- 8th June Implement Category pages which shows extensions in that category
4 9th June - 15th June Implement Home page with recommendations
5 16th June - 22nd June Implement Home page with charts
6 23rd June- 29th June Mid term Evaluation : Discuss and improve the completed work
7 30th June - 06th July Implement the search functionality
8 07th July - 13th July Implement Rating feature and the feedback feature
9 14th July- 20th July Implement the Donate feature
10 21st July - 27th July Implement Administrative functionality to add a new extension
11 28th July-3rd August Write Test cases for the functionalities
12 4th August-10th August Write Test cases for the functionalities
13 11th August-18th August Documentation (Manual and Blog Maintain), check for coding standards(conventions, variable names etc), clean-ups
14 After 18th August Maintain and fix bugs related to the new feature

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[edit]

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[edit]

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[edit]

Bugs I have worked on (Mediawiki) :

  1. Bug - 43528 [2]

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[edit]

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.