Page MenuHomePhabricator

Weekly Reports for Implementing HTML Email support for MediaWiki
Closed, ResolvedPublic

Description

Reports

Weekly reports on the progress made on T130490

Community Bonding Period | April 22 - May 22

Report can be seen at T135474

Week 1 | May 23 - May 29
  • Implement EmailNotification::transformContentToHTML, that accepts string (plaintext version of $body) and returns $body with both text and html fields.
  • Enclose hyperlinks within <a> tags, convert newlines to <br/> tags.
  • Investigate and capture different kinds of URLs (URL protocols, ending characters, accounting for URLs with commas, etc) using regular expressions.
Week 2 | May 30 - June 5
  • Change EmailNotification::transformContentToHTML to accept an i18n key, corresponding to the body of the email.
  • Implement $wgCoreHTMLEmail in order to give Wiki admins an option between transforming their emails using EmailNotification::transformContentToHTML() or keeping the current default.
  • Investigate Special:Preferences to add user preference for receiving plaintext emails only.
Week 3 | June 6 - June 13
  • Add user preference for receiving plaintext emails only to Special:Preference.
  • Incorporate user preference in UserMailer::sendMail.
  • Initiate discussion on whether HTML in messages is to be supported.
  • Investigate incorporating the transformation function into the existing code.
Week 4 | June 14 - June 20
  • Discussion on how to incorporate the user's preference in batch emails.
  • Incorporate user preference in UserMailer::sendInternal, for batch emails.
  • Implement a getter function in MailAddress for the $user object associated with a MailAddress object.
  • Investigate templating mechanisms for the conversion to HTML.
Week 5 (Midterm Evaluation) | June 21 - June 27
  • Wrapped up pending reviews and bugs in MVP, submitted evaluation to google.
  • 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.
Week 6 | June 28 - July 4
  • 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.
Week 7 | July 5 - July 12
  • Researched on how semantics of the email can be preserved when converting it from wikitext or HTML to plain text.
  • Ongoing discussion with mentors, and awaiting reply from i18n team.
Week 8 | July 13 - July 19

Inactive due to certain family commitments and health issues. Also awaiting reply from the i18n team.

Week 9 | July 20 - July 26
  • 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.
  • 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.
  • - 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.
Week 10 | July 27 - Aug 2
  • 27th Jul: Tested the written functions, fixed bugs. The functions were now working as expected. The sender could send multipart Emails.
  • 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.
Week 11 | Aug 3 - Aug 9
  • 3rd Aug: Travelling.
  • 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.
  • 7th-9th: Looked at Mustache for using templates in HTML Emails, went through the different zurb email templates, to see which one could be used. Awaiting response from mentors and community on whether to use mustache for templating.
Week 12 | Aug 10 - Aug 17
  • 10th-12th: Looked at other templates from sendwithus as well. Awaiting response from mentors and community on whether to use mustache for templating.
  • 13th-15th: After looking through and comparing templates from zurb and sendwithus, decided that sendwithus templates might be better to work with. Edited sendwithus templates to see which one worked best.
  • 15th-17th: Looked into adding images to the templates. Tested different methods to see which one worked on most clients. Realised it would require adding new email headers. Spoke to mentor and decided that a separate patch on it upon further review on the HTML template might be a good idea.
Week 13 | Aug 18 - Aug 23
  • 18th: Finalised and edited a sendwithus HTML Email template, tested it on multiple clients. Submitted patch.
  • 19th-20th: Looking into email headers for embedded images. Pinged community members and mentor for review. Awaiting response.

Event Timeline

Danny_B renamed this task from [GSoC] Weekly Reports for Implementing HTML Email support fro MediaWiki to Weekly Reports for Implementing HTML Email support fro MediaWiki.May 17 2016, 8:09 AM
Galorefitz renamed this task from Weekly Reports for Implementing HTML Email support fro MediaWiki to Weekly Reports for Implementing HTML Email support for MediaWiki.May 17 2016, 8:17 AM
Galorefitz added a subscriber: Danny_B.

@Danny_B, I can't add the Google-Summer-of-Code-2016 tag as the org admins are using it for the main tracking tasks only, i.e, tasks like T134721. Hence the [GSoC] in the title :P

Galorefitz renamed this task from Weekly Reports for Implementing HTML Email support for MediaWiki to [GSoC] Weekly Reports for Implementing HTML Email support for MediaWiki.May 17 2016, 8:21 AM

We wont need the Google-Summer-of-Code (2016) tag here, as we got hold of it in the tracking bug, and this would end up in the Backlog.

MediaWiki-Email suits well.

We wont need the Google-Summer-of-Code (2016) tag here, as we got hold of it in the tracking bug, and this would end up in the Backlog.

MediaWiki-Email suits well.

Tracking bugs are actually generally discouraged in favour of creating appropriate projects.

Anyway,

  • Including tags in task title isn't scalable
  • Including tags in task title influences (well, clutters) search results (ie. false positives)
  • Tags exist exactly because of not adding them to task titles... ;-)

In fact there should be GSOC2016 project (to tag all relevant tasks) and GSOC2016-timeline timeline (for organizing purposes), currently both are mixed in Google-Summer-of-Code (2016) ...

offtopic:
While tracking bug are discouraged, people are free to use them if tracking tasks work for their project organization.
(If a high-level discussion on tags in task titles is wanted there are probably a better place than this task. :)

Galorefitz renamed this task from [GSoC] Weekly Reports for Implementing HTML Email support for MediaWiki to [GSoC] Weekly Reports and Meeting Minutes for Implementing HTML Email support for MediaWiki.May 17 2016, 3:11 PM
Galorefitz updated the task description. (Show Details)
Danny_B renamed this task from [GSoC] Weekly Reports and Meeting Minutes for Implementing HTML Email support for MediaWiki to Weekly Reports and Meeting Minutes for Implementing HTML Email support for MediaWiki.May 27 2016, 1:03 PM
Galorefitz renamed this task from Weekly Reports and Meeting Minutes for Implementing HTML Email support for MediaWiki to Weekly Reports for Implementing HTML Email support for MediaWiki.Jun 19 2016, 4:53 PM
Galorefitz updated the task description. (Show Details)

@Galorefitz : Please add in updates from this week.

@Galorefitz : Please make sure you are updating your weekly reports

@Galorefitz : Please update your status report for the week! Its better to not to keep it to the end of the week, and do it on a daily basis :)

@Galorefitz : PLease keep your weekly reports in sync. If not, I would strongly recommend filling in them daily.

@Galorefitz : Please update your weekly status reports for the week of 32.

Thank you for the weekly reports. Feel free to close this down, as the program just got over.