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

From Expertiza_Wiki
Revision as of 21:59, 26 October 2017 by Proy4 (talk | contribs)
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

For users intending to view the deployed Expertiza associated with this assignment, the credentials are below:

  • Instructor login: username -> instructor6, password -> password
  • Student login: username -> student1, password -> password
  • Student login: username -> student2, password -> password
  • Reviewer login:username -> reviewer1 , password -> password
  • Reviewer login : username ->reviewer2 , password ->password

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