CSC/ECE 517 Spring 2016 E1631 Team-based reviewing
Purpose
- Currently all reviews in Expertiza are done by individuals. This is true regardless of whether the assignment is done by individuals or teams .
- There are occasions when it's advantageous to review projects as a team .
- It helps foster discussion and thereby improves the process of learning.
Task Description
This project comprises of the following steps :
- Add fields to the ResponseMap model to record who reviews whom. The field reviewee_id refers to the team who is being reviewed. The field reviewer_id refers to the individual/team performing the review.
- Add a boolean field reviewer_is_team to identify if the review is performed by a team or an individual.
- If reviewer_is_team is true, the reviewer_id will be a reference to the Teams table. Else, it will be a reference to the Participants table.
- For an Instructor to specify whether the review is a Team/Individual based review, provide a checkbox on the Review Strategy tab of assignment creation.
Design
Use Case Diagram
Name: Specify review type on Review Strategy tab.
Actor: Instructor.
Description: The instructor specifies whether this review is an individual review or a team based review on the Review Strategy tab.
Name: Perform Review.
Actor: Individual Student/Team.
Description: The individual/team will perform a review for the Assignment.
Database Design
ResponseMap in essence, records who reviews whom. Schema of ResponseMap:
Field | Data type |
---|---|
id | int(11) |
reviewed_object_id | int(11) |
reviewer_id | int(11) |
reviewee_id | int(11) |
type | varchar(255) |
created_at | datetime |
updated_at | datetime |
caliberate_to | boolean |
reviewer_is_team | boolean |
The description of the fields of the database for ResponseMap:
1. id: The unique record identifier.
2. reviewed_object_id: The id of the object that is reviewed. Assignments or ReviewMaps could be reviewed.
3. reviewer_id: The reviewer can either be an “AssignmentTeam” or “AssignmentParticipant”, which is indicated by the field reviwer_is_team.
4. reviewee_id: The id “AssignmentTeam” who is getting the “Response” i.e., the one whose work is being reviewed.
5. type : Indicates the type of the ResponseMap.
6. created_at: The timestamp when the Response was created.
7. updated_at: The timestamp when the Response was updated.
8. calibrate_to: A field of boolean data type.
9. reviwer_is_team: If this field is ‘true’, the reviewer_id refers to the id of the “AssignmentTeam” to which the participant belongs. Else, it refers to the id of the “Participant” itself.
Key files to be modified
Models
- review_response_map.rb
- participant.rb
- response_map.rb
- response.rb
- assignment_team.rb
- assignment_participant.rb
- assignment.rb
Views
- review_mapping/_review_report.html.erb
Controllers
- review_mapping_controller.rb
- participants_controller.rb