E1867 allow reviewer to say review can be shown to class as an example
Introduction
Expertiza is a web based open source peer reviewing tool developed and maintained by current and past students of North Carolina State University. Peer review is a great way for a student to learn how to approach a project and get ideas for their own projects. Currently, there is no way for a student to view another student's work, unless they are reviewing the other student's work.
Problem Statement
The objective of this project is to:
- Add a feature for students to make their reviews 'public', that is, allow other students to view them.
- Add a feature for TA to select a subset of 'public' reviews, and make those reviews visible as sample reviews of the particular assignment.
- Add a feature for Instructor to select a subset of 'public' reviews and make those reviews visible as sample reviews of any of his/her assignments in the course.
- Create a view where the student can see a list of sample reviews of the assignment and have a detailed view of each.
- Allow the student to toggle the visibility of a review he/she has submitted.
Expected Flow
As a TA / Instructor
- Log in
- Click on Manage->Assignments
- Displays list of Assignments
- Click View Report/Review for a particular assignment.
- Displays a list of reviews submitted by students.
- Click on any review in "team reviewed" column for a particular student.
- Displays the summary of reviews submitted by that student.
- Click on "Make as sample" for the intended reviews, which opens a popup that displays a list of all assignments that are a part of the instructor's courses.
- From this list select all assignments for which the review has to be shown as a sample.
- Click on 'Submit' after selection (this closes the popup).
- Navigate to view reviews of that particular assignment and click on "Sample Reviews".
- A new page is opened that lists out all the sample reviews of the assignment.
As a Student
- Log in.
- Click on Assignments
- List of assignments is displayed.
- Click on any assignment for which the review has to be submitted.
- Assignment description is displayed.
- Click on "Other's work" to submit review for other's work.
- At this point student can click on "Show sample reviews" to view all sample reviews for that assignment.
- On clicking this, it will display all the sample reviews.
- Student can click on back to go back to Assignment description page.
- Student can chose to review any of the team's assignment that is displayed.
- Student selects a team for review and fills in the review.
- Before submitting the review, student can select the check box that says "I agree to share this review anonymously as an example to the entire class".
Project Tasks
- Consent to make the review public - add a checkbox and an oncheck event handlers (JS) that sets a new field 'visibility' to public of Response object
- Change the schema of Responses table (add the new column) and write db migrations.
- Create new table, model, view, controller for similar_assignments and validate CRUD operations that access the table.
- Add HTML (checkbox) to uncheck the consent such that the reviews becomes private.
- On the "popup/team_users_popup" page (where instructor/TA can view all reviews), for all reviews with public visibility set, add a button to mark a review as a sample.
- Write HTML for a popup that contains a list (of assignments) with checkboxes against each, and a submit button. Add validations for non-selection.
- Modify view for the instructor/TA to include this popup to make the review available as sample. On submit of popup, update the similar_assignments table.
- At the top of student_reviews/list page, add a link to a new page.
- Create new route, model, view, controller for this new page at 'student_reviews/samples?id=<assignment_id>'. Write HTML to display the list
of sample reviews.
Implementation Details
To be updated
Test Plan
To be updated
Additional Links and References
- Link to the Git Pull Request
- Expertiza on GitHub
- GitHub Project Repository Fork
- The Live Expertiza Website
Team
Amogh Agnihotri Subbanna
Chinmai Kaidabettu Srinivas
Siddu Madhure Jayanna
Suhas Naramballi Gururaja