CSC/ECE 517 Spring 2019 - Project E1931. Conflict notification

From Expertiza_Wiki
Revision as of 21:48, 6 April 2019 by Rkaur (talk | contribs)
Jump to navigation Jump to search

This wiki page is for the description of changes made under ECE517 SPRING 2019 PROJECT E1931 CONFLICT NOTIFICATIONS

Problem Statement

Current conflict notification sends an email to the instructor whenever two reviews for the same submission differ "significantly" on their scoring (the threshold is specified in the "Notification limit" on the Rubrics tab of assignment creation). Right now an email is sent at any such time one of these conflicts happen, however, it does not link to the particular review or submission which initiated the notification.

Existing Feature Description

Currently, this feature works as follows:

Whenever a new review is submitted, it is compared with the average of the previously submitted reviews. If the difference between the new submission and existing average is more than the threshold limit set, then a mail is sent to the instructor. With every review submitted for an assignment of a particular student, the average is updated.

Flaws with the existing Implementation

Inefficient calculation of conflicts

The existing method calculates the average of the review scores and then uses it to check if the difference between the new review score and the existing average is more than the threshold limit set. This implementation is inefficient. For example, consider two reviews with scores 0 and 5, the average score will be 2.5. Now, if the new submission is made with score 2.5, the implementation will not consider this as a conflict where it should have considered it as a conflict.

Incorrect email message links

The existing email body uses hardcoded URLs mentioned in models/response.rb file in the method notify_instructor_on_difference. Being hardcoded, these links wouldn't work on other servers where Expertiza is running. For Example, if the setup is done on localhost, the links will not be functional.

No separate view exist to show conflicts

The existing implementation shows the conflicts in the same view of the response. Ideally, it should be rendered in a separate view.

  • Conflicting Review which triggered the mail
  • Summary of all the reviews

What needs to be done

The scope of this project is to send an email notification to instructor which contains links to two reviews. One of which is the newly submitted review that differs by more than the notification limit where such a conflict has occurred. The email should state that a new conflicting review has been made.

Files to be changed in this Project

Implementation

[to be populated after coding is complete]

Test Plan

To test code implementation and correctness of the modified feature, we plan to do the following tests:-

  • Run and pass existing RSpec Tests
  • Develop New RSpec Tests for the new code
  • UI testing on the deployed project

Rspec Testing

[to be populated after coding is complete]

UI Testing

[to be populated after coding is complete]

References