User:Rpothir: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:
== Expertiza==
== 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.
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 help 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.


----
----
Line 20: Line 20:
The issues/tasks that needed modifications were identified:
The issues/tasks that needed modifications were identified:


1. When students' accounts are created by importing a CSV file on the Users page, they receive e-mails with their user-ID and password. But if an account is created by adding them as participants to an assignment when they don't already have an account, e-mail is not sent. Students should receive e-mails upon account creation, regardless of how their account is created.  So this involves adding a call to the e-mailer … or, perhaps, moving an email call from the Users controller to the point where an account is actually created.
1. Notify an instructor by e-mail when a student suggests a topic.


2. Second, evidently if a submission is revised after review, the system e-mails the reviewer saying to revise the review. This is just fine ... except if the last round of review has been completed.
2. The email message telling reviewers to revise their reviews should not be sent after the last review deadline has passed.
The message telling reviewers to revise their reviews should not be sent after the last review deadline has passed.  It would also be nice to fix the message so it tells which review (Review 1, Review 2, etc.) has been revised, and gives the reviewer a link directly to it.


3.Send out an email to the invitee when a participant sends out an invitation to another participant to join a team.   
3.Send out an email to the invitee when a participant sends out an invitation to another participant to join a team.   


4. The student who issued the invitation should also be e-mailed when the invitee joins the team. And also when a student responds to a teammate advertisement. In general, all activity on ad responses and invitations should be reported to    the other party by e-mail (unless these e-mails are turned off in a (new) profile field).
4. The student who issued the invitation should also be e-mailed when the invitee joins the team.


5. Notify an instructor by e-mail when a student suggests a topic.
5. Create an option (in the instructor’s profile) to get a copy of ‘e-mails being sent to students (this is so the instructor can verify correct functioning of the system).


6. Create an option (in the instructor’s profile) to get a copy of ‘e-mails being sent to students (this is so the instructor can verify correct functioning of the system).
6.When students' accounts are created by importing a CSV file on the Users page, they receive e-mails with their user-ID and password. But if an account is created by adding them as participants to an assignment when they don't already have an account, e-mail is not sent. Students should receive e-mails upon account creation, regardless of how their account is created.  




== Implementation ==


== Files modified in current project ==
'''Topic Suggestion'''
The following controllers, helpers, views and mailers functions were modified for the project namely:
Earlier Scenario: Some of the assignments have an option to suggest a topic to the instructor. But when a student suggests a topic, this event is not notified to the instructor leaving it to go unnoticed and the student must mail the instructor regarding the suggestion.
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


'''Users_Controller'''
Updates/Changes: The suggestions controller is modified so that whenever a student suggests a topic, an email is sent to the professor. The changes made are shown below.


In Users controller, we added a mailer call in the "new" method, that sends an email to a user whenever an account is created for that user.
[[File:suggestion save.jpg]]
 
'''Submitted_Content_Controller'''
 
Here, we added a condition to ensure that on a submission being revised, an email is sent to reviewers only if it is not past the review deadline and for past the last review round.
 
'''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.
We added methods to send email notifications to users whenever they are invited to join a team by another user. Similarly, we added a method to notify the user when his invitation request has been accepted.
 
'''Suggestions_Controller'''
 
We added a mailer call to notify the Instructor whenever a new topic has been suggested by a user.
 
'''Accept_Invitation view'''
 
Here, we created a view for the mailer call when a request/invitation is sent to a user to join a team
 
'''Accepted_Invitation view'''
 
We created a view to for mailer call when a join team request is accepted by a user.
 
'''Suggested_Topics view'''
 
We created a view for the mailer that notifies an instructor when a new topic is suggested by a user.

Revision as of 15:56, 31 March 2017

This wiki page describes the work on the OSS project titled E1716-Improve email notifications for the course CSC/ECE 517, 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 help 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.

Peer Review Information

For users intending to view the deployed Expertiza associated with this assignment, the user login credentials are below: user_name: 'expertiza.development@gmail.com' password: 'qwer@1234'

The issues/tasks that needed modifications were identified:

1. Notify an instructor by e-mail when a student suggests a topic.

2. The email message telling reviewers to revise their reviews should not be sent after the last review deadline has passed.

3.Send out an email to the invitee when a participant sends out an invitation to another participant to join a team.

4. The student who issued the invitation should also be e-mailed when the invitee joins the team.

5. Create an option (in the instructor’s profile) to get a copy of ‘e-mails being sent to students (this is so the instructor can verify correct functioning of the system).

6.When students' accounts are created by importing a CSV file on the Users page, they receive e-mails with their user-ID and password. But if an account is created by adding them as participants to an assignment when they don't already have an account, e-mail is not sent. Students should receive e-mails upon account creation, regardless of how their account is created.


Implementation

Topic Suggestion Earlier Scenario: Some of the assignments have an option to suggest a topic to the instructor. But when a student suggests a topic, this event is not notified to the instructor leaving it to go unnoticed and the student must mail the instructor regarding the suggestion.

Updates/Changes: The suggestions controller is modified so that whenever a student suggests a topic, an email is sent to the professor. The changes made are shown below.