CSC/ECE 517 Fall 2017/E1780 OSS Project Teal Email Notification Enhancements

From Expertiza_Wiki
Jump to navigation Jump to search

This wiki page is for the description of changes made under E1780 OSS Project Teal Email Notification Enhancements.

About Expertiza

Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza also sends automated emails to the instructor, reviewers and participants for most of the above mentioned activities.

Problem Statement

The following tasks were accomplished in this project:

  • Instructor should get an option to create a participant if (s)he does not already exist in the system.
  • E-mails about reviews should direct the user to the page where the review is found.
  • Deadline reminders should include a link on where to go to perform the needed function.
  • Instructor notifications of where reviews disagree by more than a threshold # of points should point the instructor to the reviews that disagree.
  • Send out an email to the invitee when a participant sends out an invitation to another participant to join a team.
  • All activity on ad responses and invitations should be reported to the other party by e-mail.
  • Notify an instructor by e-mail when a student suggests a topic.
  • Instructor should get a copy of all emails sent to the student.

Peer Review Information

A self explanatory video has been uploaded for the same.

Files changed

Controllers

  • invitations_controller.rb
  • profile_controller.rb
  • suggestion_controller.rb
  • users_controller.rb

Helpers

  • mailer_helper.rb
  • login_helper.rb

Mailers

  • delayed_mailer.rb
  • mailer.rb

Models

  • response.rb
  • user.rb

Views

  • invite_message.html.erb
  • new_topic_suggested_message.html.erb
  • notify_grade_conflict_message.html.erb
  • _invitation_accepted_html.html.erb
  • _invitation_declined_html.html.erb
  • _invitation_pending_html.html.erb
  • _new_submission_html.html.erb
  • _submission_deadline_test_html.html.erb
  • _additional_links.html.erb
  • add.js.erb
  • _prefs.html.erb

Spec

  • factories.rb
  • user_spec.rb

Solutions Implemented

Providing option to instructor to create non-existent participant

A flash message was added when the instructor adds a non-existent user as a participant.A new link to redirect the instructor to the user creation page is also added.
Related code snippet

Link provided to redirect user to page where review is found

A new link was incorporated in the email to redirect the user to the corresponding review page.

Related code snippet

Incorporating a link for submission deadline reminder

Tests were done for already existing functionality as deadline reminders are not being sent as per the current functionality.

Related code snippet

Enhancing the email that the instructor receives for contradicting reviews

The email that the instructor receives for contradicting reviews was enhanced by adding the previous average score of the total reviews and the score of the new review. The readability of the email was also increased by adding bullet points wherever necessary.

Related code snippets





Sending email to the invitee to join a team

When a particular student invites another student(s) to join a team for a particular assignment, then the invitee(s) should receive an email for the same.

Related code snippet




All activity on ad responses and invitations should be reported to the other party by e-mail

Three new partials have been created to send emails to both inviter and invitee for the responses(accept, decline, pending) of invitations to join a team

Related code snippet




Emailing to the instructor when a student suggest a new topic

When a new topic is suggested by a student to the instructor , an email is sent to the instructor regarding the same for his decision to approve or decline.

Related code snippet


Instructor should receive copy of emails being sent to the student if he wishes to

Instructor can choose to receive all the emails being sent to the students to understand proper functioning of the system.

Related code snippets
















Testing Details

RSpec

There were existing test cases for the delayed_mailer.rb and the functionality is checked by running those test cases. The snapshot of running the Rspec for the deadline reminder details is given below.

Related snippet

Future Works

  1. Reviewer is receiving an email after a submission is revised.
    1. The above mentioned should also contain the Review round after which the submission has been revised.
    2. The above mentioned must contain a link that redirects the reviewer to the link where the review is found.
  2. Reviewer does not receive the above mentioned email if the last round of review has been completed.