CSC/ECE 517 Fall 2017/E1758 Improve e-mail notifications
Introduction
Expertiza is a web application developed using Ruby on Rails that serves as a peer-review system. The application allows students to submit and peer-review learning objects (articles, code, web sites, etc)[1][2]. It is an open source project and it's codebase is maintained in GitHub. We are contributing to Expertiza as a part of our Object-Oriented Design and Development's Open-Source Software (OSS) Project. Our goal in this project is to fix various issues related to staggered deadlines for assignments. A staggered-deadline assignment is an assignment in which different topics have different deadlines. In this Wiki Page, we will explain the changes that we have made for the same.
Changes To Be Implemented
- What’s wrong:
- There are also other circumstances when it would be helpful to send mail.
Modified Files
- app/controllers/invitations_controller.rb
- app/controllers/submitted_content_controller.rb
- app/controllers/suggestion_controller.rb
- app/mailers/mailer.rb
- app/models/assignment.rb
- app/models/assignment_participant.rb
- app/models/course_participant.rb
- app/views/mailer/partials/_user_invite_html.html.erb
- app/views/mailer/partials/_user_invite_plain.html.erb
- app/views/mailer/partials/_user_welcome_html.html.erb
- app/views/mailer/partials/_user_welcome_plain.html.erb
- app/views/mailer/send_mail_to_instructor.html.erb
- app/views/mailer/send_mail_to_instructor.text.erb
- app/views/mailer/partials/_user_accept_html.html.erb
- app/views/mailer/partials/_user_accept_plain.html.erb
- app/views/mailer/partials/_user_decline_html.html.erb
- app/views/mailer/partials/_user_decline_plain.html.erb
Approach Taken To Implement Changes
NOTE: All the mails except the ones for the reviewer which are sent to mailinator , are sent to expertiza.development@gmail.com ,as this is already set in the default settings.This can be checked by logging in to the gmail id using password : qwer1234
1)
Initially the email were seing sent to users when they were added using a CSV file on the users page only . Now we added a method in the assignment_participant.rb model to send mails when a participant is added to an assignment on the assignment page through a CSV file. Also we added a method in the course_participant.rb file to send the mails when the user is added on the course page using a CSV file.
2)
Initially whenever a submission was being revised ,a mail was being sent to the the reviewer to revise the review. Now in the file ...... we have put a check on the condition that if it is the last round of review then mail should not be sent to the reviewer for revision of his review.
We also set this check for the condition when user upadtes the link of his work
3) Initially no mail was going to the reciever when the
Screenshots Of The Implemented Features
1) Log in as Instructor. On clicking on 'Manage Content' a screen is rendered which lists the existing assignments.
2) Click on the edit assignment button for any assignment. For the purposes of this screenshots we will select "Madeup problem".
3) For the first feature we can see that we have added a checkbox against each topic. We can also see the "New deadlines for selected topics" text box. This text box automatically fills the boxes with corresponding values of the topic with the latest Submission deadline. All these are clearly visible in the screenshot below.