CSC/ECE 517 Fall 2017/E1774 Metareview fixes and improvements.rb: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 103: Line 103:


==='''Issue #970 '''===
==='''Issue #970 '''===
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) Select checkbox "add metareview deadlines", select dates and add metareview rubric for the same.
3) Go back to manage assignment and add select Assign reviewers.
4) Add meta-reviewer to a particular review submitted by students.
5) Impersonate the meta-reviewer assigned above and go to others work for the same assignment.
6) Select the option "request a new metareview" and a new review will be dynamically assigned for meta-review.
==='''Issue #298'''===
==='''Issue #298'''===
==='''Issue #198'''===
==='''Issue #198'''===

Revision as of 00:02, 27 October 2017

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

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) Select checkbox "add metareview deadlines", select dates and add metareview rubric for the same. 3) Go back to manage assignment and add select Assign reviewers. 4) Add meta-reviewer to a particular review submitted by students. 5) Impersonate the meta-reviewer assigned above and go to others work for the same assignment. 6) Select the option "request a new metareview" and a new review will be dynamically assigned for meta-review.

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.

Issue #162

Issue #145