CSC/ECE 517 Fall 2017/E1774 Metareview fixes and improvements.rb
Introduction
Problem Statement
In Expertiza, the metareview feature in Expertiza enables a third party to evaluate the quality of feedback that a reviewer gives to a reviewee. Metareview is an important feature that can help students become a better reviewer for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. Your task is to fix these issues so that this feature can be used again.
Team Members
The team members who worked on this particular problem are:-
Rachit Agarwal
Cherukeshi Machan
Aishwarya Sundararajan
Issues to be fixed
Issue #970
Dynamic assignment of metareviews does not work. When requesting a new metareview to perform, it shows NoMethodError undefined method ‘includes?’ in assignment.rb line 102.
Fix: This line has been fixed and now checks if response_map.reviewer == metareviewer rather than response_map.reviewer.includes?(metareviewer), which was invalid.
response_map.reviewee == metareviewer or response_map.reviewer == metareviewer
Issue #298
New Feature: Metareviewer should be able to see author feedback. Currently, the metareviewer can only see the review and doesn't have access to the author feedback.
Implementation: This feature is implemented using the "reviewed_object_id" from the "response_maps" table to fetch the authors feedback for the particular reviewed id. Below are the code changes for implementing this feature.
responses.html
<% if map.type.to_s == "MetareviewResponseMap" %> <td> <%= link_to "Author's Feedback", {controller: 'student_review', action: 'show_authors_feedback',:id => map.reviewed_object_id}%></td> <% end %>
student_review_controller.rb
def show_authors_feedback @map = FeedbackResponseMap.find_by(reviewed_object_id: params[:id]) end
show_authors_feedback.html
<% if @map and !@map.response.empty? then %> <%= @map.response.last.display_as_html %> <%else%> <h3>Feedback from author</h3> <h4> No feedback done yet.</h4> <%end%> <a href="javascript:window.history.back()">Back</a>
Issue #198
Meta-reviews do not show the review to be reviewed. When I am assigned the meta-review, the original review I'm supposed to critique is not shown, only the link to the wiki article and the review rubric.
Fix: Updated response.html.erb: Previously, this view was rendering a partial which was actually not present in the views. So we are not rendering that partial anymore. Now the actual review is displayed by calling an action of response.controller to show the original review which metareviewer is supposed to critique.
Old Code
<% if @responses_versions.empty? %> <I>No previous review was performed.</I><br/><hr/><br/> <% else %> <%= render :partial => 'review', :locals => {:versions => @responses_versions} %> <% end %>
New Code
<% if @responses_versions.empty? %> <I>No previous review was performed.</I><br/><hr/><br/> <% else %> <%= @responses_versions.each do |response| %> <%= response.display_as_html() %> <br/> <% end %> <hr/> <br/> <% end %>
Issue #162
Student selected a new meta review they get their own project to metareview
Fix:
Issue #145
Metareviews need to be fixed to work with staggered-deadline assignments
Fix:
Testing From UI
Issue #970
Issue #298
Issue #198
1)Login as Admin, create an assignment with all the necessary details like maximum no of users per team, add topics for the assignment, enroll users(students) in the assignment.
2)Login as user(Student) or impersonate a student, say student A, whom you have enrolled in the assignment. You should be able to see the assignment now in the Assignment section.