CSC/ECE 517 Fall 2018 E1864: Issues related to Reviewing
Project Introduction & Motivation
Expertiza is an open source web-based peer review system developed and maintained by students and faculty members at North Carolina State University. It has been developed as Open Source Software using Ruby on Rails framework. Expertiza allows students to form teams, review each other's work such as assignments and projects. It provides the role based access so that instructor can impose restriction what students can view/edit.
The primary motivation behind this project is to give the students to review the projects of their peers effortlessly and fix all the issues of the previous implementation.
Description of Project
The project numbered E1864 and titled ‘Issues Related to Reviewing' is intended to fix five known issues related to reviewing, so that whenever your peers review your work, or an instructor try to configure number of reviews that should be performed by each student for each round, it will work properly in all situation. The project has been divided into five problem requirements and each of them is addressing an individual issue we need to fix. The description and the proposed approaches to meet the requirements are explained below as the project requirement.
Files Modified
Upon discovery of problem origin, files modified will be inserted into this section
- views/review_mapping/_calibration_report.html.erb - this file must be altered to handle the bug fix for problem #5.
Problem Statements & Descriptions
For this project, we have been asked to fix the follow bugs that have been found in the current Expertiza system :
Problem 1 : Issue #1093
- When a student requests a project to review, duplicate reviews appear in the list of available projects.
- -Example : The project name for which the review was performed earlier should not appear for the next list of reviews when a student requests a review to perform. This could lead to students reviewing the same project more than once and the requirement is to review different projects each time.
Pictures and further explanation of the problem will be included for the final submission of this document
Problem 2 : Issue # 1097
- When a project author resubmits their assignment, the reviewers should be able to update, not edit, their reviews. This should hold even if those reviews have already been submitted. The current system does not allow reviewers to update their reviews.
- -Example : further explanation of problem to be included in the final submission
[Pictures of the problem will be included for the final submission of this document]
Problem 3 : Issue # 1029
- When a reviewer tries to review a project, sometimes he/she is shown that the project has not yet been submitted when in fact it has.
- -Example : An author of a project has submitted his/her assignment to Expertiza. When a reviewer tries to review the work, sometimes it happens that the system shows the reviewer that the work has not been submitted yet. The reviewer should have been shown the work of the author to review.
[Pictures of the problem will be included for the final submission of this document]
Problem 4 : Issue # 972
- When updating the number of review rounds for an existing project, and error is generated and this action fails.
- -Example : An instructor attempts to edit an existing assignment and change the number of review rounds. The reassignment causes an error in the system and this prevents the project update to occur.
[Pictures of the problem will be included for the final submission of this document]
Problem 5 : Issue # 1142
- “Show calibration results” page shows raw HTML when it should displayed as processed HTML.
- -Example : The Calibration Results page has several instances of raw HTML. The intended result was for the raw HTML to be rendered properly while displaying on the page.
[Pictures of the problem will be included for the final submission of this document]
Solution Design
Problem 1 : Issue # 1093
- [An appropriate solution design and implementation will be suggested in the final design document submission]
Problem 2 : Issue # 1097
- [An appropriate solution design and implementation will be suggested in the final design document submission]
Problem 3 : Issue # 1029
- [An appropriate solution design and implementation will be suggested in the final design document submission]
Problem 4 : Issue # 972
- [An appropriate solution design and implementation will be suggested in the final design document submission]
Problem 5 : Issue # 1142
- [An appropriate solution design and implementation will be suggested in the final design document submission]
Testing Plan
Testing Plan will be implemented upon the discovery of fixed bugs described in the project document as a means of verifying the fix.
To ensure correctness of bug fixes following test plan was implemented:
- Obtain the appropriate testing environment via a provided virtual box image and RSPEC testing framework.
- Acquire a deeper understanding of the necessary models and views, their functionalities and dependencies.
- Create factories and doubles to assist in the testing of these models and views methods.
- Mock message passing and expected outcomes.
- Apply generated helper objects and mocks to achieve high test coverage of methods within the models and views that were updated.