User:Jainalisha/Extensive and robust localisation file format coverage
Contact Information
editName: Alisha Jain
E-mail Address: jain.alisha14@gmail.com
IRC Handle: alisha
Blog: jainalisha14.wordpress.com
Github Account: https://github.com/alishajain
Location: Ludhiana, Punjab, India
Typical Working Hours:-GMT+5.30, Typical working hours will be 6PM to 2AM on working days and full time on weekends. I can devote 40 hours per week and more if required. My semester will end by the mid of November. I will have vacation till mid-January. I can spare ample time from my college timings for my project. My working hours for the internship will be flexible and subject to the requirements of the project.
About me
editI am an undergraduate 4th year Computer Science student at Guru Nanak Dev Engineering College, Ludhiana. I have formidable learning in C++, PHP and MySQL. I have a strong affinity for System Programming which keeps my inquisitiveness alive for learning more about Parsers. I am also passionate for mathematics and geometry.
Heard about this program
editI got to know about this program from the word of mouth from my friends who too were participants in GSOC 2014.
Experiences with the organisation's products
editAs a user I have experienced Wikipedia and Wikibooks for gaining knowledge about various topics of my curriculum. As a contributor I have done a microtask(and submitted a patch too) to produce JSON using its standard functions for its production which was earlier done manually using php functions and caused mistakes while its production.
Below is the gerrit link of my patch:-
Experiences with other FOSS projects
editAs a user I have experienced many other FOSS projects like Linux, OpenScad and Flex & Bison.
Previous projects
editI have worked upon writing DXF files using C++. Below is the link to it:-
https://github.com/alishajain/dxfwentities
I have been also working on parser using Flex & Bison. You can check it here:-
https://github.com/alishajain/Xcad-Ecad-Converter
https://github.com/alishajain/Converter
From working on these projects I got to know about the work of converters and its various parts. To convert a file format we have to read the given input file, scan it and understand the information stored into it. Then the next step is to write that information in the same format as given output file format.
Interested project
editBecause of my experience in working with parsers I have my keen interest in 'Extensive and robust localisation file format coverage' project. I want to explore myself more in the field of parsers and file conversions.
Preferred mentors
editFor this project, I would like to complete my internship under the guidance of mentors Niklas Laxström, Federico Leva and Siebrand Mazelan.
Project Details
editIntroduction to Project
editThis project deals with the file conversion of various file formats. The Translate extension has been developed for this purpose. The extension is made supportive for various file formats but the work for only specific format of the input files. The data is read from the input file and stored in the arrays (in the form of key-value pair for JSON file format) and then written in the output file following the file format specifications of the output file format.
Synopsis
editThis project will make the extension robust so that it can handle even the exceptional cases of the input file format. Moreover, a proper documentation will be maintained for the different file formats. I will be mainly focusing on AndroidXML, Qt ts and JSON file formats.
Present state of project
editAfter carrying out the scrutiny of present working code I found the following limitations:- Lack of proper documentations, unable to handle abnormal cases, only specific format of input file is translated, lack of robust programming and code is not secure.
Project partition
editBased on the different file formats I will be working on my project will be partioned in the following three parts:- AndroidXML QT ts JSON
Timeline - December 9, 2014 to March 9, 2015
editNovember 1 to December 9
edit- Setup the extension
- Communicate with the community members and get involved in it
- Work on a micro-task to get familiar with the extension
- Study the file format specifications
- Study the corner cases
December 10 to December 20
edit- Work on reading the AndroidXML file
- Examine the corner cases while reading the file
December 21 to December 31
edit- Work on writing the AndroidXML file
January 1 to January 10
edit- Testing on AndroidXML files for abnormalities
- Proceed with the decoding of the JSON files
January 11 to January 20
edit- Proceed with the decoding of the JSON files
- Robust the code
January 20 to January 31
edit- Testing on JSON files for the accuracy
- Study on the specifications of QT ts file format
February 1 to February 10
edit- Work on reading the QT files
- Examine the exceptional cases while reading the file
February 11 to February 20
edit- Work on writing the QT files
- Testing the code with aberrant cases of the file format
February 21 to february 28
edit- Testing and enhancing the code
- Fixing all the bugs
March 1 to March 9
edit- Documentation
- Mediawiki coding conventions
Other Commitments
editDuring the internship period, I would be having a vacation till mid-January. But after that I would be attending college for about 20 hours per week. So I will be comfortably able to manage to fulfill my tasks within the specified time.
I am also planning to apply for Google summer of code 2015 with Wikimedia.
Objective of joining Mediawiki
editAs I loved the very concept of open source development from the moment I learned about it, it would be a matter of honour for me to be a part of such a splendid crew. Also I have a firm belief that I will excel tremendously in my area of interest and nurture my skills by working ardently. Mediawiki being an paradigm of its field enticed me to work with it and learn manifold new things.
Why me?
editBeing highly assiduous and fervent for my work I would love to contribute to the open source development since it is like a holy grail to me. I had been into coding environment from quite a time and I wish to apply my whole coding-impetus to a point. I have joined the #mediawiki and #mediawiki-i18n channels on IRC a few days ago and I am feeling good to interact there and I have already got some valuable suggestions . This is the real blessing for the young saplings in the garden of programming to grow in the guidance of the sublime mentors. I am so much self-obliged and excited to work with dexterous developers across the globe and be a part of the legacy.