User:Aigerim

Identity
Name: Aigerim Karabekova Email: akarabekova [at] gmail.com Project title: Extension Release Management

Contact/working info
Timezone: UTC-4:00 (EDT) Typical working hours: 1 PM - 10 PM Contact Information:
 * Google Talk: akarabekova [at] gmail.com
 * Skype: aigerim_ka
 * IRC: aigerim

Project summary
The project is based on Jeroen De Dauw’s GSoC 2010 work on implementing an extension management platform for MediaWiki. In the long run this project is supposed to result in an administration panel would automate installation, update and removal of extensions.

The project addresses the first part of extension management problem, and involves further development of extension/MediaWiki core release tracking, based on Distribution and Chad Horohoe's suggestions for release management. The project has to be able to track releases of extensions and MediaWiki core, check compatibility of extensions with current MediaWiki core, and show this information through special pages and the API.

About me
I am a Computer Science and Economics junior at Smith College, Northampton, Massachusetts. I am originally from Osh, Kyrgyzstan, where there are currently no opportunities to study computer science. An introductory programming class during my first year at college blew my mind and made me change my career plans. I believe that in the long run I will be able to contribute more to my country’s development through studying technology instead of government.

The main reason I want to do this GSoC project is because I want to get more involved in programming for open source. I find the idea of open source exciting, and now that I have experience with PHP, MySQL, JavaScript and other languages, I want to contribute to the projects that I personally use. GSoC provides guidance, structure, and time to explore MediaWiki, so I would be able to contribute to its growth in the future. Finally, I believe that this project would be truly beneficial in the future if implemented successfully, so it would not be a waste of time and resources.

Deliverables
The project requires a mechanism that gathers data about extensions and displays it.
 * Tracking of extension/MW releases and their compatibility
 * Parser functions to retrieve extension information and to check compatibility
 * Release management database table(s) to store that information
 * Display information about extensions, release dates, compatibility, authors, etc.
 * Special:Extensions special page

If time permits

 * Displaying infoboxes on extension pages that are autopopulated with information about release, etc.

Project schedule
A tentative schedule outline:
 * Apr 27 - May 7: Community bonding period | Finals - I will be taking exams during this period, so I will not be able to do much besides getting to know the community.
 * May 8 - May 22: Getting to know the API, MW extension code.
 * May 23 - Jun 23: Official coding period. Focus on release tracking (will be divided into various subproblems depending on complexity).
 * Distribution has database setup and API modules. To make it work, first of all there has to be a script that would gather all current release data. I will have to research how this could be efficiently automated.
 * Jun 24 - Jul 31: Compatibility and special page(s). The problem will be refined after release tracking is implemented.
 * Aug 1 - Aug 15: Testing. Documentation.

Participation
As I have yet to explore MediaWiki more thoroughly, I would want to communicate with mentors and other knowledgeable people through the mailing list and instant messaging channels as often as possible. Frequent source code uploads through any medium of choice would allow me to progress steadily without wasting time being stuck or resting on laurels.