CSC/ECE 517 Fall 2017/E1786 OSS Project Juniper: Bookmark enhancements
Peer Review Information
For users intending to view the deployed Expertiza associated with this assignment, the credentials are below: Instructor login: username -> instructor6, password -> password
Expertiza Background
Expertiza is an open-source educational web application developed on Ruby on Rails platform. Students and Instructors use this app though their credentials. Instructors can add new projects, assignments etc as well edit the previous ones and at a later stage can see the student submission and grade them. Students can form teams for the projects, submit their work through handles (Wiki page, link to a video etc). Students can even review their teammates and other peers, as well give them any suggestions if required.
Description of the current project
This project is intended to make Bookmarks user-friendly. If the instructor allows the students to create bookmarks, the student has access to create and view them provided he gives a valid bookmark.
Files modified in current project
A controller and a helper file were modified for this project namely: 1. GradesController 2. GradesHelper
GradesController
This is a controller that helps students and instructors view grades and reviews, update scores, check for grading conflicts and calculate penalties. A couple of long and complex methods were refactored from this controller along with removal of some non-functional code and a few language changes to make it Ruby style. Three methods in particular, namely conflict_notification ,calculate_all_penalties and edit were found to be too long and were in need of refactoring into smaller, easier to manage methods. Few more compact methods were created for this purpose. There were no existing test cases for the controller. We have added a spec file named 'grades_spec.rb' under the spec folder. As no changes were done for the model, no tests for the model were included.
GradesHelper
This is a helper class which contains methods for constructing a table(construct_table) and to check whether an assignment has a team and metareveiw(has_team_and_metareview)
List of changes
We worked on the following work items :
</nowiki>