User:Nischayn22/Gsoc

Identity
Name:  Nischay Nahata Email: nischayn22@gmail.com Project title: Green SMW

Contact/working info
Timezone: Asia/Kolkata UTC +5:30 Typical working hours: to  ( flexible ) IRC handle(s): Nischayn22 Skype name: nischay.nahata gtalk nick: nischayn22

Project summary
This project is about increasing the performance of SMW as suggested by Markus Krötzsch. Badon is also interested in this project and has promised to help. Semantic MediaWiki is about making extensive use of the data in a wiki such that it can be processed and queried dynamically, but at present it has a few performance issues when integrated with huge projects like Wikipedia. Here are a few performance degradation issues reported with SMW My proposal is to improve the performance by making efficient use of the database and implementing caching techniques in places where it is missing now This can be achieved in steps explained in the deliverables.
 * High frequency of writes to the database ( writes occur even if nothing has changed )
 * Database design with many DataItems in mind,( Currently SMW has restricted this number to 10 )this has caused some inefficiency in design now.
 * Each time a page is viewed SMW makes lots of queries ( This can be reduced using cache )

Deliverables
Most of the deliverables mentioned may take more time because the implementations are not only made for SMW but also other Extensions of the SMW family
 * Performing a write to the database only if something has changed ( SMW properties change very rarely in a wiki page, so we perform operations only when something has changed )
 * Improve the current Database implementation
 * Query SMW Properties less frequently. ( Instead of querying on each render, we do caching using Memcache or APC )

If time permits

 * If time permits I plan to add Caching mechanisms to other SMW extensions as well.

Project schedule
This project has a lot of scope and the schedule is most likely to change a bit.
 * Till April 25 Identify the places in database design and implementation fully
 * I have my exams till May 7
 * May 8-20 : Design of the database and cron job implementations after open discussion with mentor and other developers
 * May 21 onwards : Do the coding :)

About you
Hi! My name is Nischay Nahata, an engineering student from India. In a year I will complete my B.tech in Information Technology. My code is generally written in C and PHP (also trying Python now). I am not new to FOSS anymore, my love of PHP brought me here more than a month back, and since then I have spent most time coding for MediaWiki. This serves two purpose for me, getting to work with experienced developers from different parts of the world and contributing to Wikipedia with code. In recent days I have been highly influenced by SMW's idea of a Semantic Wikipedia. Therefore, I also look forward to contribute to Wikidata in future.

Participation
I have been working for more than a month now with MediaWiki, and am familiar with the various modes of communication used here.
 * I am mostly online on IRC,Skype and Gtalk ( I usually try getting answers myself, otherwise try IRC and if this fails I try asking specific developers )
 * I plan to use github to maintain the code so that my mentor can keep track of my work and post reviews
 * I also plan to blog a gist of my daily activities

Past open source experience
My Open-Source journey started at MediaWiki itself. I have made an extension(still not usable) and added two new formats to Extension Semantic Results Format. Besides, I have also solved bugs and enhancements and have also been communicating with other developers. Here is a gist of all of my work for MW User:Nischayn22. I am good at understanding existing code and currently going through the core code of SMW Extension family