==Reports
Weekly reports on the progress made on T130490
====={icon calendar color=blue} Community Bonding Period | April 22 - May 22
Report can be seen at T135474
====={icon calendar color=blue} Week 1 | May 23 - May 29
[x] Implement `EmailNotification::transformContentToHTML`, that accepts string (plaintext version of `$body`) and returns `$body` with both `text` and `html` fields.
[x] Enclose hyperlinks within `<a>` tags, convert newlines to `<br/>` tags.
[x] Investigate and capture different kinds of URLs (URL protocols, ending characters, accounting for URLs with commas, etc) using regular expressions.
====={icon calendar color=blue} Week 2 | May 30 - June 5
[x] Change `EmailNotification::transformContentToHTML` to accept an i18n key, corresponding to the body of the email.
[x] Implement `$wgCoreHTMLEmail` in order to give Wiki admins an option between transforming their emails using `EmailNotification::transformContentToHTML()` or keeping the current default.
[x] Investigate `Special:Preferences` to add user preference for receiving plaintext emails only.
====={icon calendar color=blue} Week 3 | June 6 - June 13
[x] Add user preference for receiving plaintext emails only to `Special:Preference`.
[x] Incorporate user preference in `UserMailer::sendMail`.
[x] Initiate discussion on whether HTML in messages is to be supported.
[x] Investigate incorporating the transformation function into the existing code.
====={icon calendar color=blue} Week 4 | June 14 - June 20
[x] Discussion on how to incorporate the user's preference in batch emails.
[x] Incorporate user preference in `UserMailer::sendInternal`, for batch emails.
[x] Implement a getter function in `MailAddress` for the `$user` object associated with a `MailAddress` object.
[x] Investigate templating mechanisms for the conversion to HTML.
====={icon calendar color=blue} Week 5 (Midterm Evaluation) | June 21 - June 27
[x] Wrapped up pending reviews and bugs in MVP, submitted evaluation to google.
[x] Initiated discussion with mentors about what is to be done after the i18n team informed us that HTML tags are not be included in messages.
====={icon calendar color=blue} Week 6 | June 28 - July 4
[x] Discussion with mentors and i18n team with regard to an alternative approach to email formatting, after it was said that HTML tags are no longer allowed in i18n messages.
====={icon calendar color=blue} Week 7 | July 5 - July 12
[x] Researched on how semantics of the email can be preserved when converting it from wikitext or HTML to plain text.
[x] Ongoing discussion with mentors, and awaiting reply from i18n team.
====={icon calendar color=blue} Week 8 | July 13 - July 19
Inactive due to certain family commitments and health issues. Also awaiting reply from the i18n team.
====={icon calendar color=blue} Week 9 | July 20 - July 26
[x] 19th-22nd Jul : Got feedback from Nikerabbit. Worked on revamping the main function, since feedback from Nikerabbit and Siebrand (regarding i18n messages) suggested that work was already ongoing to remove existing HTML formatting from internal system messages, and that only wiki text formatting was acceptable. Found that GMail already follows a lot of HTML to plain text conversions that I thought of, and got a go ahead on it from my mentors. Finalised a workflow of sorts and breakdown of functionality to be implemented into functions to avoid clutter. Started going through the parser code to figure out how to use it.
[x] 22nd-24th Jul: started writing the functions. Realised that converting wiki text to html and then converting that to plaintext might be a better option. Finished `prepareHTMLEmail` and `transformContentToHTML`.
[x] - 25th Jul: Started work on changing `transformContentToPlainText`. Faced a little trouble with the regex for transforming links. Went through system messages to see if any other type of text formatting (other than bold, italics, underlined) was being used, but did not find any.
====={icon calendar color=blue} Week 10 | July 27 - Aug 2
[x] 27th Jul: Tested the written functions, fixed bugs. The functions were now working as expected. The sender could send multipart Emails.
[x] 28th Jul-2nd Aug: Laptop crashed, hard-disk stopped responding. The workshop took until 2nd Aug to repair it. Got the laptop back on 2nd evening.
====={icon calendar color=blue} Week 11 | Aug 3 - Aug 9
[x] 3rd Aug: Travelling.
[x] 4th - 5th: Recovered laptop memory. Integrated the rest of the MVP work in the current patch ( user preferences for single and batch Emails ). Submitted patch.
[ ] 6th: Started looking into branding and templates for the HTML Emails.