User:Rpothir

From Expertiza_Wiki
Revision as of 23:35, 21 March 2017 by Skkulkar (talk | contribs)
Jump to navigation Jump to search

The wiki page describes the work on OSS project titled E1716-Improve email notifications for Spring 2017

Expertiza

Expertiza is an online collaboration tool for the students and instructors. It is an open source project developed on Ruby on Rails platform. It has several features that helps the users to contribute jointly by creating the list of users by importing csv file, assigning work, share the work, giving reviews, forming teams and finally notifying every action using email notifications.


Motivation

Though expertiza is a great platform, there are quite a few enhancements in sending emails to users on the reviews, deadlines and accounts creations. So this contribution helps in learning to contribute to open source projects.

Description of the current project

The existing functionality implements the email notifications' feature in response to certain events. However, there are cases where email notifications are sent which are redundant as well as cases where email notifications need to be sent but are not sent. The current project aims at improving this email-notification functionality. For example, Expertiza uses a peer review system wherein, after the first round of submission, submitted work is peer reviewed. Using the recommendations made and the improvements suggested in the peer reviews, an assignment participant can then proceed to improve his work. Thus, a participant is notified via email whenever a review for his/her submitted work is provided. Similarly, a reviewer is notified via email when a new submission is made for the work that he/she reviewed. Now, if the participant makes an improvement in his/her submission after the last round of reviews has been done, sending an email to the reviewer regarding this is redundant. However, in the current state of application, a reviewer is notified in this case too. Thus, there are similar cases, where the email notification needs to be enabled/disabled and that is the objective of our project.



Files modified in current project

The following controllers, helpers, views and mailers functions were modified for the project namely:

1. Invitation Controller
2. Suggestion Controller
3. Users Controller
4. Mailer Helper
5. Suggested_topic_approved_message
6. Mailer functions
   a. suggested_topic
   b. suggested_topic_approved_message
   c. accept_invitation
   d. accepted_invitation

Invitation Controller

This is a controller that deals with inviting the students for teaming up for various assignments. It sends the invitation requests and also confirms if the student on the other end accepts the invitation.