Skip to content

Instantly share code, notes, and snippets.

@namangupta01
Last active August 28, 2020 20:31
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save namangupta01/491dc35f7ffaa794e86d38afac838869 to your computer and use it in GitHub Desktop.
Save namangupta01/491dc35f7ffaa794e86d38afac838869 to your computer and use it in GitHub Desktop.

GSoC 2018 Work Product - Naman Gupta

Aim

To develop and integrate reply by email feature and reply by tweet feature with the publiclab website's posts which makes it easier for the user to comment on posts (notes/questions/answers) without opening the website. Comment is done either through replying to the email on that post that came form publiclab or by reply to tweet post's directly on twitter.

Project

Reply-by-Email Feature

Setting mail receiving server with post and user identification

Pull Request: #2669

Tasks Performed:
  • Mailman server script is written to poll for new emails in every specified period of time.
  • User and Node identification from received email content.
  • After identification of node and user, content is extracted form the email and a comment is added to a node.
  • Re-wrote tests for these changes.

Setting Mailman Server to work in docker continer

Pull Requests: #2823, #2885, #2888, #2890, #2897

Task Performed:
  • Adding mailman service to the docker compose to work in inside Docker Container in Production.
  • Minor patch added to make mailman to work inside Docker and to use the services of other containers.

Documentation for Reply-by-Email Feature

Pull Request: #2774, #3020

Task Performed:
  • Documentation for how to use this feature and how to set the configurations are added.

Feature to parse emails coming from Gmail and Yahoo to saperate the actual and trimmed content and added tests for the same

Pull request: #2993

Task Perfomed:
  • Seprerating the emails based on the email services into Gmail, Yahoo and others using domains.
  • Separating out the trimmed content and main content so that the trimmed content is not shown to the user unless he wants to, just like Github.
  • Adding tests for parsing gmail and yahoo emails.

Extended reply by email feature to reply to answers as well

Pull Request: #2982

Task Performed:
  • Added feature to add comment to answers as well through reply by comment feature.
  • Rewritten old tests for Answer's Mailers
  • Added test for receiving answer's comment through emails and adding it to proper answer.

Extended Email parsing feature from gmail to other domains using Google Email services such as (@publiclab.org)

Pull request: #3079

Task Performed:
  • Added email parsing feature for email domains using google email services to sepearate out the main content and trimmed content.

Final settings to make this feature fully functional

Pull Request: #2934, #2888

Task Performed:
  • Settings mailers and Setting mailman log file


Integrating Whenever gem to write cron jobs

Pull request: #2706, #2715, #2780

Task Performed:
  • Added whenever gem to easily write cron job which is to be used by Email Digest and Reply by Tweet features.
  • Added sample cron job for testing and commands to update cron jobs while reploying container.


Reply by Tweet Feature

Adding field to Store Omni Auth response with the corresponding tests

Pull Request: #3118

Task Performed:
  • Added field to store Omniauth Response using Serialize
  • Rewrote tests for the Omni Auth signup/login (twitter)

Reply By Tweet

Pull Request: #3175

Task Performed:
  • Added cron job to poll for new Tweets in specified interval of time.
  • Added twitter gem to use twitter apis using ruby functions.
  • Identification of user and posts to which it was posted from tweet.


Additional Work Done:

  • #2707 Added pagination to limit the revisions of a wiki page.
  • #2829 Implemented Noty Js library to show notifications on Ajax Calls.
  • #3007 Changed encoding of table to support wide variety of emojis in Comment.
  • #3221 Added feature to notify user when user is being mentioned in Node.


Additional Links

Mentors

Special thanks to the Public Lab collaborators and following mentors.

  • Jeffrey Warren
  • Stevie Lewis
  • Mayank Kashyap
@jywarren
Copy link

This is great! Did you want to perhaps also post it at PublicLab.org with the tags gsoc-2018-final and soc-2018-final so it appears alongside others' final posts? Thanks!

@namangupta01
Copy link
Author

@jywarren sure i will post it there! 😃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment