Page MenuHomePhabricator

Outreachy Proposal for Implement HTML e-mail support in MediaWiki
Closed, DeclinedPublic

Description

Profile

Name: Devi .R. Krishnan
Email : devikrishnan67@gmail.com
IRC : devi
Internet presence:
Blog: devikrishnan.wordpress.com
Github: www.github.io/devikrishnan
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-Internationalization, #wikimedia-dev )
Related Phabricator task - T15303

Project Summary

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.

Possible Mentors

Microtasks

The microtasks I’m currently working on-

Project Schedule

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.
  • enotiftalk
  • enotifwatchlist

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 completedTimeline
Set up option to select between HTML/plain text format7/12/15-13/12/15
Design templates for standard core emails in Mediawiki14/12/15-20/12/15
Improving template and translation of messages21/12/15-27/12/15
Unit testing,MVP is completed28/12/15-24/1/16
Mid Term Evaluation25/1/16-31/1/16
Improving the template/Add styling etc.1/2/16-7/2/16
Writing unit tests8/2/16-21/2/16
Deployment22/2/16-28/2/16
Final Report Submission29/2/16-6/3/16

About Me

I am a 19 year old second year Computer Science Engineering undergraduate student from Amrita University, Kerala. I am an active and enthusiastic member of the FOSS Club in my college. I have good knowledge about on PHP, HTML, CSS, JavaScript. I also know C, C++ .

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

Participation

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):

CourseCredits
Mathematical Statistics and Numerical Methods4
Computer Organisation and Architecture4
Structures and Interpretation Of Computer Program4
Data Structures4
Introduction to Embedded Systems4
Data Structures Lab1
Embedded Systems Lab1
Soft Skills1

Event Timeline

Devirk claimed this task.
Devirk raised the priority of this task from to Medium.
Devirk updated the task description. (Show Details)
Devirk added subscribers: Glaisher, rosalieper, Parent5446 and 23 others.
Devirk set Security to None.

Good job for an initial draft! Please also mention the main project task in your proposal (Phab task of project : <task id> .. or anything similar to that).

Devirk renamed this task from Outreachy Proposal for Implement HTML e-mail support in MediaWiki to Outreachy Proposal for Implement HTML e-mail support in MediaWiki-T15303.Oct 22 2015, 7:27 PM

Please also mention the main project task in your proposal (Phab task of project : <task id> .. or anything similar to that).

I meant to add in the body of the proposal, not the title.

Devirk renamed this task from Outreachy Proposal for Implement HTML e-mail support in MediaWiki-T15303 to Outreachy Proposal for Implement HTML e-mail support in MediaWiki.Oct 23 2015, 8:03 AM
Devirk updated the task description. (Show Details)
Devirk updated the task description. (Show Details)

Oh sorry I didn't get it the first time! I've made the changes. Hope it's alright now. @Tinaj1234 More suggestions are welcome!

Hi! We noticed you're a student. How much time do you think you can commit to the project per week? And would you be taking time off for exams or other commitments? A rough estimate of hours per week you can put in would be good.

@NiharikaKohli As mentioned in the proposal on weekdays I'll be able to work from 5pm to 2 am IST so that'll be roughly more than 50 hrs a week.And during weekends I'll able to work to work for around 12 hrs from 9am to 9pm IST . I'll be having my semester end exams for a week in December . But I'll make sure that I'll be able to work for more than 35 hrs that week.

@NiharikaKohli As mentioned in the proposal on weekdays I'll be able to work from 5pm to 2 am IST so that'll be roughly more than 50 hrs a week.

Which time spans on weekdays would you have other commitments, such as university?

@Aklapper I'll be having my classes from 9 am to 3 pm IST.

We are approaching the Outreachy'11 application deadline, and if you want to have your proposal considered to be part of this round, do sign up and add your proposal at https://outreachy.gnome.org/ before November 02 2015, 07:00 pm UTC. You can copy-paste the above proposal to the Outreachy application system, and keep on polishing it over here. Keep in mind that your mentors and the organization team will be evaluating your proposal here in Phabricator, and you are free to ask and get more reviews complying https://www.mediawiki.org/wiki/Outreach_programs/Life_of_a_successful_project#Answering_your_questions

Thank you for your proposal. Sadly, the Outreachy administration team made it strict that candidates with any kind of academic/other commitments are not approved for this round. Please consider talking with your mentors about further steps, and we hope to see your application ( the same too, if the consensus still exist ) in the next round of GSoC/Outreachy. Closing the same as declined, and all the very best for the next round!