CSC/ECE 517 Fall 2018/E1841 Issues Related to Rubrics

From Expertiza_Wiki
Revision as of 15:15, 2 November 2018 by Akpawar (talk | contribs)
Jump to navigation Jump to search

E1553 : Issues Related to Rubrics

Introdution

Expertiza is an Peer Review Web Application System. It allows multiple students to participate in various assignments posted by the Instructor and provides a platform to all the students to conduct a peer review on the work done by their peers. Expertiza is an opensource project written in Ruby on Rails and React.js. We as a team have targeted some specific issues related to this project and Have tried Our best to fix them.

Problem Statement

What it Does

In Expertiza, instructors (also admin, super admin and TAs) can create rubrics (they are called questionnaires in DB, there are different types like review rubric, teammate review rubric, etc. Each rubric may have one or many criteria (called questions in DB). For each criterion, it may have 0 to many suggestions.

Fixes Required

  • If an instructor has created an assignment with specific review rubric and reviews have been performed using the same rubric. After that if an instructor changes the rubric to more reasonable one, the reviews performed earlier won’t work. You need to fix this issue. An instructor should be warned about changing the rubric if there are outstanding reviews. Maybe it would be better to ask the instructor whether to delete previous reviews, & if so, tell the students to redo those reviews because the rubric has changed.
  • After an instructor has created an assignment and if an assignment is rubric-varying-by-round and then mistakenly changed to be not varying by round, and then corrected to be varying-by-round again, the formative rubric is applied to all rounds. Of course this is incorrect; the summative rubric should be re-enabled for the summative round. The problem is that when you make an assignment rubric-varying-by-round, the Javascript just assumes that the summative review is the same as the formative review. AJAX should be added to fetch the summative review ID from the db (it’s still there, because we assume the assignments_questionnaires table entry hasn’t been removed). You need to fix this issue.
  • Log in as an instructor into the expertiza system. If you try to select "Manage > Questionnaires > Review rubrics", it should pull up a list of review rubrics. But actually, it just takes you to the main Questionnaires page. The exact same error is happening for "Manage > Questionnaires > Author feedback", etc. You need to figure out what causes the error and fix it.

    Current Functionality

  • Instructor able to create an Assignment with a specific rubric set for the assignment.
  • Instructor able to populate an Assignment with multiple rubrics
  • Display of the Main tabs

    Solutions

    Issue 1

    When one tries to select "Manage > Questionnaires > Review rubrics" , it just takes back to the Questionnaires Main page rather than displaying the Review rubrics page.

    Solution Description
    Tree_display.jsx File

    This File was been modified by adding a function on line 478 viz. componentDidMount: function() . This Function handles the direction of the control from Questionnaires tab to the Review Rubrics Tab when Review Rubrics tab is being clicked.

     componentDidMount: function() {
          selectedMenuItem = document.getElementById("tree_display").getAttribute("data-menu-item");
          rubricArray = ["Review", "Metareview", "Author Feedback", "Teammate Review", "Course Survey", "Assignment Survey", "Global Survey"];
          selectedMenuItemIndex = rubricArray.indexOf(selectedMenuItem);
    
          if(selectedMenuItemIndex !== -1 && rubricArray[selectedMenuItemIndex] === this.props.name) {
              this.setState({
                  expanded: true
              }, function() {
                  this.props.rowClicked(this.props.id, true,this.props.newParams)
              })
          }
        },
    
    Tree_display_controller.rb File

    In this file , there are two functions been updated viz. goto_controller() and list(). goto_controller :

  • The modification in goto_controller enables the function to keep a track of which tab was last opened by adding a new parameter viz. last_open_tab and setting its values to the integer value corresponding to the position of the tab on the web page . example , if the Questionnaires tab is opened then a value of 3 will be assigned to the last_opened_tab parameter as the position of the Questionnaires tab is 3 on the web page. list :
  • #Adding of the parameter 
    def goto_controller(name_parameter, last_open_tab)
        node_object = TreeFolder.find_by(name: name_parameter)
        session[:root] = FolderNode.find_by(node_object_id: node_object.id).id
        session[:last_open_tab] = last_open_tab unless last_open_tab.nil?
        redirect_to controller: 'tree_display', action: 'list', current_controller: name_parameter
      end
    #Setting of the Parameter
    def goto_questionnaires
        goto_controller('Questionnaires', '3')
      end
    


    Solution Screenshots

    "intial Manage Page"


    "When clicked on Review Rubric"


    "when clicked on Meta Review Rubric"