E1877 Sort instructor reports by name, ID, score, etc: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
Line 4: Line 4:
The following credentials are recommended for testing the changes:
The following credentials are recommended for testing the changes:


* Instructor Login: username: super_administrator2 password: password
* Instructor Login: Username: super_administrator2 Password: password
* Youtube link:  
* Youtube link: (Will be uploaded after the complete implementation)
*Github Pull Request Link: https://github.com/expertiza/expertiza/pull/1287
* Github Pull-Request Link: https://github.com/expertiza/expertiza/pull/1287


== Introduction ==
== Introduction ==
Line 13: Line 13:


=== Problem Statement ===
=== Problem Statement ===
Expertiza allows instructors to view kinds of reports of assignments in their courses such as submissions, scores, and review reports. To improve the report views, some table columns such as team name, score, average should be made sortable by using the same existing sort library.
Expertiza allows instructors to view kinds of reports of assignments in their courses such as submissions, scores, and review reports. To improve the report views, some table columns such as team name, score, the average should be made sortable by using the same existing sort library.


===== What needs to be done?: =====
===== What needs to be done? =====


* For “view submissions” table, sort “Topic name”, “Team name”, “Team member(s)”, “Links” alphabetically.
* For “view submissions” table, sort “Topic name”, “Team name”, “Team member(s)”, “Links” alphabetically.
Line 21: Line 21:
* For “View scores” table, sort “Team” alphabetically, sort “Average” and “Range” (the first percentage) in both ascending or descending order.
* For “View scores” table, sort “Team” alphabetically, sort “Average” and “Range” (the first percentage) in both ascending or descending order.


* For “View review report” table, “Reviewer” and “Metric” are already sortable, so we need to make other columns sortable: sort “Review done” by the first number then the second number (e.g., 0/1, 0/2, 0/3, 1/1, 1/5, 2/2...), sort “Team reviewed” alphabetically and sort “Score awarded / Avg. score” (the first percentage) in both ascending or descending order.
* For “View review report” table, “Reviewer” and “Metric” are already sortable, so we need to make other columns sortable: sort “Review done” by the first number than the second number (e.g., 0/1, 0/2, 0/3, 1/1, 1/5, 2/2...), sort “Team reviewed” alphabetically and sort “Score awarded / Avg. score” (the first percentage) in both ascending or descending order.


* For “Author feedback report” table, change the header name “Review response rejoined” to “Review responded to” and “Last rejoined at” to “Last responded at”. Then, sort “Rejoinder” and “Review “Review responded to” as string (alphabetically), sort “# author feedbacks done” by the first number then the second number (same as “Review done” in the “View review report” table) and sort “Last responded at” as date.
* For “Author feedback report” table, change the header name “Review response rejoined” to “Review responded to” and “Last rejoined at” to “Last responded at”. Then, sort “Rejoinder” and “Review “Review responded to” as string (alphabetically), sort “# author feedbacks done” by the first number than the second number (same as “Review done” in the “View review report” table) and sort “Last responded at” as date.


* For “Teammate review report” table, sort the first 3 columns as string and sort the last column as date.
* For “Teammate review report” table, sort the first 3 columns as a string and sort the last column as a date.


== Our understanding from the problem statement ==
== Solution ==
We will be using tablesorter jQuery to sort the table. For table columns which have constraints on them for sorting, we will be creating custom scripts which tablesorter library supports to sort those columns.
We will be using tablesorter jQuery to sort the table. For table columns which have constraints on them for sorting, we will be creating custom scripts which tablesorter library supports to sort those columns. According to the problem type, we are supposed to perform three kinds of sorting.
1. Sorting by columns alphabetically
2. Sorting by the first number followed by the second number
3. Sorting by date.


== Files modified ==
== Modification of Files ==
The following files were modified
The following files were modified:
* app/views/assignments/list_submissions.html.erb
* views/assignments/list_submissions.html.erb
*
The following files require modification:
 
* app/views/grades/view.html.erb
== Files Added ==
* app/views/grades/_teams.html.erb
The following files were added
* app/views/grades/_team_title.html.erb
*  
* app/views/grades/_team.html.erb


== Solutions Implemented ==
== Solutions Implemented ==
=== For “view submissions” table, sort “Topic name”, “Team name”, “Team member(s)”, “Links” alphabetically. ===
=== For “view submissions” table, sort “Topic name”, “Team name”, “Team member(s)”, “Links” alphabetically. ===
*
* We have modified the views/assignments/list_submissions.html.erb by adding the tablesorter class in the table tag. Then with the table head, we added suitable classes and added scripts at the top of the file to sort the table contents within the file.


== Testing Plan ==
== Testing Plan ==
Line 47: Line 50:


===== For “view submissions” table, sort “Topic name”, “Team name”, “Team member(s)”, “Links” alphabetically. =====
===== For “view submissions” table, sort “Topic name”, “Team name”, “Team member(s)”, “Links” alphabetically. =====
# Login as an super_admininstrator2.
# Login as a super_admininstrator2.
# Click Assignments tab next to Courses
# Click Assignments tab next to Courses
# Select the "View submissions" icon for the assignment for which you want to see the report of
# Select the "View submissions" icon for the assignment for which you want to see the report of
# Sort the table by clicking on headers
# Sort the table by clicking on headers
== Team Information ==
#Ayush Arnav (aarnav@ncsu.edu)
#Rayan Dasoriya (rdasori@ncsu.edu)
#Rashik Bhasin (rbhasin@ncsu.edu)
#Prakshatkumar Shah (pmshah2@ncsu.edu)
#'''Mentor:''' Xiao Ma (xma21@ncsu.edu)
==References==
#[https://github.com/expertiza/expertiza Expertiza on GitHub]
#[https://github.com/expertiza/expertiza/pull/1287 GitHub Pull Request]
#[http://expertiza.ncsu.edu/ The Live Expertiza Website]
#[https://mottie.github.io/tablesorter/docs/ tablesorter jQuery]
#Clean Code: A handbook of agile software craftsmanship. Author: Robert C Martin

Revision as of 23:21, 13 November 2018

This wiki page describes the changes made according to the specification of E1877 OSS final project for Fall 2018.


Peer Review Information

The following credentials are recommended for testing the changes:

Introduction

Background

Expertiza is a web portal which can be used to manage assignments related to a course. It provides a platform to view assignments, manage teams, select topics and work on improvement through anonymous peer reviews.

Problem Statement

Expertiza allows instructors to view kinds of reports of assignments in their courses such as submissions, scores, and review reports. To improve the report views, some table columns such as team name, score, the average should be made sortable by using the same existing sort library.

What needs to be done?
  • For “view submissions” table, sort “Topic name”, “Team name”, “Team member(s)”, “Links” alphabetically.
  • For “View scores” table, sort “Team” alphabetically, sort “Average” and “Range” (the first percentage) in both ascending or descending order.
  • For “View review report” table, “Reviewer” and “Metric” are already sortable, so we need to make other columns sortable: sort “Review done” by the first number than the second number (e.g., 0/1, 0/2, 0/3, 1/1, 1/5, 2/2...), sort “Team reviewed” alphabetically and sort “Score awarded / Avg. score” (the first percentage) in both ascending or descending order.
  • For “Author feedback report” table, change the header name “Review response rejoined” to “Review responded to” and “Last rejoined at” to “Last responded at”. Then, sort “Rejoinder” and “Review “Review responded to” as string (alphabetically), sort “# author feedbacks done” by the first number than the second number (same as “Review done” in the “View review report” table) and sort “Last responded at” as date.
  • For “Teammate review report” table, sort the first 3 columns as a string and sort the last column as a date.

Solution

We will be using tablesorter jQuery to sort the table. For table columns which have constraints on them for sorting, we will be creating custom scripts which tablesorter library supports to sort those columns. According to the problem type, we are supposed to perform three kinds of sorting. 1. Sorting by columns alphabetically 2. Sorting by the first number followed by the second number 3. Sorting by date.

Modification of Files

The following files were modified:

  • views/assignments/list_submissions.html.erb

The following files require modification:

  • app/views/grades/view.html.erb
  • app/views/grades/_teams.html.erb
  • app/views/grades/_team_title.html.erb
  • app/views/grades/_team.html.erb

Solutions Implemented

For “view submissions” table, sort “Topic name”, “Team name”, “Team member(s)”, “Links” alphabetically.

  • We have modified the views/assignments/list_submissions.html.erb by adding the tablesorter class in the table tag. Then with the table head, we added suitable classes and added scripts at the top of the file to sort the table contents within the file.

Testing Plan

Functional Testing

For “view submissions” table, sort “Topic name”, “Team name”, “Team member(s)”, “Links” alphabetically.
  1. Login as a super_admininstrator2.
  2. Click Assignments tab next to Courses
  3. Select the "View submissions" icon for the assignment for which you want to see the report of
  4. Sort the table by clicking on headers

Team Information

  1. Ayush Arnav (aarnav@ncsu.edu)
  2. Rayan Dasoriya (rdasori@ncsu.edu)
  3. Rashik Bhasin (rbhasin@ncsu.edu)
  4. Prakshatkumar Shah (pmshah2@ncsu.edu)
  5. Mentor: Xiao Ma (xma21@ncsu.edu)

References

  1. Expertiza on GitHub
  2. GitHub Pull Request
  3. The Live Expertiza Website
  4. tablesorter jQuery
  5. Clean Code: A handbook of agile software craftsmanship. Author: Robert C Martin