CSC/ECE 517 Fall 2021 - E2164. Heatgrid fixes and improvements

From Expertiza_Wiki
Jump to navigation Jump to search

Project Background

Heatgrid is the page where instructor can visit and view the work done by participant using Reviews, Author Feedbacks and Meta Reviews. This one web page displays all the evaluations done by peers of the participant for his project. The page is displayed in the format of table with colors. The columns in the table can be sorted with the requirement of the project. Heatgrid shows scores assigned by reviewers on individual rubric items for participant.

What is wrong with it

It is called from Instructor's "Assign Grades" function and student's view scores functions. But , there are issues that students are reviews themselves. Question is about Are reviews getting assigned correctly? Assignment of metric is also wrong at some places

Issue 1

Problem Definition

Issue #2019

Questions whether the reviewers are correctly identified. In one case, a student was shown as reviewing his/her team, which is impossible. Also write tests so that if this bug occurs again, we will be informed.

Current Implementation

Overview

In the current review system implementation, the instructor has the ability to select or deselect the "Allow Self Reviews?" checkbox from the "Review Strategy" tab of the Edit Assignment page. On deselecting this checkbox, a student will not be able to review his/her own work.

UI Screenshots

The following images show how this functionality works currently:

The instructor will get the error "You cannot assign this student to review his/her own artifact." when an attempt to add a student as a reviewer to his/her own assignment is made.

Control Flow

Observations

Test Plan

  • If the "Allow Self Review?" checkbox is disabled, then the reviewer should not be able to review their own assignment.
  • If the "Allow Self Review?" checkbox is enabled, then the reviewer should be able to review their own assignment.
  • Files to be Targeted

  • app/controllers/grades_controller.rb:- Focussing on self-review and grades section.
  • app/views/_review_strategy.html.erb:- Here, the checkbox of "Allow Self Review?" is written.
  • app/helpers/grades_helper.rb:- Grades helper file.
  • spec/controllers/review_mapping_controller.rb:- Adding test cases for checking whether the reviewer can self-review if the "Allow Self Review?" checkkbox is disabled and the vice-versa too.
  • Issue 2

    Problem Definition

    Issue#1869

    Notes that there is a “metric-1” column in the review report, but it doesn’t say what the metric is. Please figure out what the metric is, and change the column header accordingly. However, the intent was that eventually an instructor would be allowed to select a metric to be shown on the heatgrid. So, somewhere in the UI for creating/editing an assignment, there should be a way for the instructor to select a metric from a dropdown list. You don’t have to add any more metrics to this list other than the one that is currently displayed, just create a mechanism for adding metrics in the future.

    Current Implementation

    Overview

    In the current implementation, the columns in the heatgrid table are static. The "metric-1" column in the table represents the count of comments for the respective question which have a word count greater than 10. On hovering over the column name, the correct information is displayed but the name itself does not make the information apparent at first glance.

    UI Screenshots

    The following image captures how the heatgrid is currently being displayed:

    Refactoring

    Files to be Targeted

  • app/views/grades/_view_heatgrid.html.erb:- View file for the Heat Grid.
  • app/views/grades/view_team.html.erb:- View file for the Team.
  • app/helpers/grades_helper.rb:- Focussing on the view_heatgrid function and of the helper file.
  • app/controllers/grades_controller.rb:- Focussing on the populate_view_model function of the controller file.
  • app/models/vm_question_response.rb:- Focussing on the number_of_comments_greater_than_10_words function of the model file.
  • Test Plan

  • Capybara Test cases for the heat grid view and team view should be added to check if the dropdown is visible as expected.
  • Spec test cases should be added for the grades controller should be added to verify the responses returned from the controller.
  • Unit test cases will be added to verify the logic of the number_of_comments_greater_than_10_words method of the vm_question_response model.
  • Important Links

    Team

    • Shlok Sayani (sdsayani)
    • Hardik Udeshi (hvudeshi)
    • Isha Gupta (igupta)
    • Manish Shinde (msshinde)