Name: Devi .R. Krishnan
Email : firstname.lastname@example.org
IRC : devi
Time zone: UTC +5:30(IST- India)
Location: Kerala, India
Typical working hours: 5pm to 2am (weekdays), 9am to 9pm (weekends)
IRC Nick: devi on Freenode ( Channels: #mediawiki-i18n, #wikimedia-dev )
Related Phabricator task -@T15303
Emails hold a very important part in a developer’s world. Especially for a community like Wikimedia and for its projects and developers. Since it’s used so extensively by the developers there’s scope for us to improve and enhance it. One way to accomlish that would be to add to add HTML email support feature. The two kinds of email supports are
- HTML email
- Plain-text email
It is important to know the difference between HTML and plain-text emails, and how they affect the delivery and engagement of the emails. HTML email is the use of HTML to provide formatting and semantic markup capabilities in email that are not available with plain text. Plain Text is regular text, with no formatting options such as bold, italics, underlines, or special layout options.
==Advantages of HTML email over Plain-text email are==
- In HTML format the information that we are presenting will be visually organized.
- The HTML format include the ability to include in-line links and images, set apart previous messages in block quotes, wrap naturally on any display, use emphasis such as underlines and italics, and change font styles,these are certain features that we don’t get in Plain-text format.
- And, most importantly, we can send a plain text version as well.
Currently in Mediawiki there’s no option to choose between HTML format or plain-text format. The project aims at bringing html support to the emails so that the sender and receiver has a choice to switch between html format and plain-text format.
The microtasks I’m currently working on-
If selected for the project, I’ll make sure to put the best of my efforts in completing this project. I won’t take up any other project from December 7 - March 7. I’ll make sure that I strictly follow the timeline and complete the tasks according to it.
==Minimum Viable Project(MVP)==
The minimum viable project aims at completing the following tasks before the midterm evaluation. The following are the tasks-
- To set preference option, where there is option to select between HTML email and plain-text email.
- Design templates for enotitalk, enotifwatchlist, enotifdiff and emails related to password resetting and confirmation.
- Fix bugs related to the same and further improve by adding styling etc.
==Initial homework (Nov 17 - Dec 7)==
Before the internship begins I’ll make sure that i get a much better understanding of the project and ways to improve it. I’ll do some reading and get to know the exact skill required to start with this project and work on it. My main focus would be to do as many microtasks as possible.
==Week 1 (Dec 7 - Dec 13)==
The first task would be to set up an option to select between the HTML and Plain-text emails.
As given in the task description we’ll have to ensure choice between
- Client-side , where choice is given to choose when the plain text email and the HTML email is delivered.
- Server-side , where a configuration setting is given to decide whether to have email with HTML as default or as only option.
- User-side, where the user will decide whether to send the email with HTML support or not in the user preference section.
==Week 2 (Dec 14 - Dec 20)==
The next step would be to design templates for HTML email support for standard core emails in Mediawiki, which are-
- Email concerning the password confirmation and password reset.
==Week 3 (Dec 21 - Dec 27)==
- Still continue work on implementing the template for the specified standard emails.
- Also make sure the requirements for translating the messages before it is sent are met.
==Week 4(Dec 28 -Jan 3) - Week 7(Jan 18 - Jan 24)==
- Unit testing is done to ensure proper working of the templates. If not, the bugs are fixed and taken care of.
- Weekly reports are submitted regarding improvements made in the project.
- By the end of January, Minimum Viable Product is completed and is tested.
==Week 8(Jan 25 -Jan 31) - Week 9(Feb 1- Feb 7)==
- If the minimum viable project is approved then it is further improved by adding styling and testing .
- Some of the other tasks required to be completed according to the task description are adding the option to change the default settings, augmenting content, allowing other pieces of core and extensions to reuse standard parts for their own emails or to alter existing ones. Also deprecate overlapping features in other areas of the code.
==Week 10(Feb 8 -Feb 21) - Week 12(Feb 29- March 6)==
- The next step is to continue testing the changes made. And fix the subsequent bugs encountered.
- At the end of the internship program the Final report is submitted for evaluation.
|Tasks to be completed|Timeline|
|Set up option to select between HTML/plain text format|7/12/15-13/12/15|
|Design templates for standard core emails in Mediawiki|14/12/15-20/12/15|
|Improving template and translation of messages|21/12/15-27/12/15|
|Unit testing,MVP is completed|28/12/15-24/1/16|
|Mid Term Evaluation|25/1/16-31/1/16|
|Improving the template/Add styling etc.|1/2/16-7/2/16|
|Writing unit tests|8/2/16-21/2/16|
|Final Report Submission|29/2/16-6/3/16|
It’s been over a month since I’ve started my contribution for Mediawiki. My first contribution took me more than a week.However small the contribution was,the moment it got merged gave emmense joy to me. Mediawiki is the first community that I am contributing to.The comunity is very welcoming for new contributors.We receive help in many ways one of which is the IRC channels.However trivial the question might be,we always get a reply. I’ve always felt that contributing to open source helps us in developing very valuable set of technical skills and also the discipline and way of working with many people.
I came to know about Outreachy and the Mediawiki community from my mentor at the FOSS club in my college.
==Experience with the Organisation==
- Have set-up the development and debug environment on the core.
- Basic familiarity of code and code conventions.
- Understood the process of submitting a patch and review (phabricator, gerrit and git).
==Projects worked on:==
I have designed a website for a company which runs a laundry service,this played a huge role in developing my knowledge on web development area.
- URL : www.iwash.co.in
I have fixed some bugs related to different extensions in Mediawiki
- Gerrit : Devirk
As I am in my second year of Engineering course I’ll be having classes on all weekdays except for holidays after my semester exams which will be from November 29th-December 4th.Being part of the FOSS Club enables me to be connected with the Open Source Community around after my college hours. I have decided to work with my project for a minimum of 8 hours on all weekdays and a maximum of 5 hours during my exam days. On weekends the schedule would be to work on a minimum of 11 hours.
==Courses taken (Credits):==
|Mathematical Statistics and Numerical Methods|4|
|Computer Organisation and Architecture|4|
|Structures and Interpretation Of Computer Program|4|
|Introduction to Embedded Systems|4|
|Data Structures Lab|1|
|Embedded Systems Lab|1|