CSC/CSC 517 Fall 2017/ProjectPurple
E1778 OSS project Purple: UI fixes for assignment creation
This page provides the documentation of the UI fixes for assignment creation in Expertiza.
Problem Statement
Expertiza allows the instructor to enable and disable different features to be used in an assignment. Some of these setting e.g., allow peer review to be done in iterations, allow third party to assess the quality of the peer feedback, can be changed from manage>assignment and click on edit icon. Some of the UI to enable and disable these features were broken and the aim of this project was to fix the following issues.
The following issues were fixed in this project:
- Issue #972: While editing an assignment, changing the number of review rounds doesn't work in Expertiza.
- Issue #961: Once an assignment is duplicated from another assignment with metareview enabled, metareview deadline cannot be disabled.
- Issue #295: was already fixed before the start of this project.
Issue Fix
A working demo of the fixed issues can be found here.
The first two actions of enabling and disabling metareviews show the fixed issue #961. The action of reducing the rounds of reviews shows our fix to issue #972.
Issue #972
Initial Approach
The main problem as stated in the problem statement is that .last() does not exist for the array. This method was used to identify the last element in the array of elements. This was solved by identifying the last element as the (array.length - 1)th element of the array.
Actual problem
The issue was the instructor was not able to change the rounds of reviews for an assignment. The reason for this issue was found to be the actual rounds of reviews was overridden by the maximum of submissions and review count in the database. This constraint was introduced to restrict the instructor from resetting the rounds of reviews lesser than the submissions count. The constraint was not necessary for some scenarios which should have allowed the instructor to reset.
Solution
To solve this scenario, we introduced a warning message with a confirmation option to allow the instructor to override the rounds of reviews.
Issue #961
Problem
The problem was the need for metareview could not be disabled while editing an assignment. This was because the DueDate table was not updated with the necessary cascade actions. This was solved by implementing the cascade action manually in the update action in the assignment controller.