CSC/ECE 517 Fall 2013/oss vna
Introduction
Project Requirements
1. Topics tab is non-functional, but should do what the popup menu item “Add/edit signup sheet” does.
2. Rubrics tab should show “Teammate Review:” option if “Has Teams?” is selected and “Maximum number of members per team” is greater than 0 in General Tab.
3. The code should retrieve timezonepref of current user in Due dates tab. Also, time/date picker asks a user to specify the hours, minutes, and seconds of a due date.
- 3.1 Use a time/date picker that doesn’t show seconds.
- 3.2 Minutes should be in the step size 5.
4. Refactoring
5. Tests for all the functionality mentioned above
Implementation
This section gives brief details of all the implementations done for project E801.
Topics Tab
The requirement of this implementation was to make topics tab functional. This tab is mainly responsible to display a page where user can create a topic for a assignment and can see already created topics for that assignment.
Initial Design
Ideally, when we click on topics tab, it should display what the popup menu item “Add/edit signup sheet” does.
1.Go to Manage->Assignments 2.For a assignment, click on edit signup sheet
However, in main expertiza project, topics tab was non-functional as shown below. To check Topics tab, follow below mentioned steps:
1.Go to Manage-> Assignments 2.Click on “edit assignment” image for any of the assignments 3.Go to “Topics” tab (You will not be able to view existing topics and create new ones)
Modified Design
In our implemented project, Topics tab shows already existing topics for an assignment and link to create a new topic where a user can create a new topic. This is similar to popup menu item “Add/edit signup sheet”. One can follow the same steps as mentioned above to view the functionality:
1.Go to Manage-> Assignments 2.Click on “edit assignment” image for any of the assignments 3.Go to “Topics” tab (You should be able to view existing topics and create new ones)
Teammate Review Rubric
Initial Design
While editing or creating an assignment the Teammate Review rubric shows up irrespective of whether the assignment is a team assignment or not. It should ideally only show up if the assignment under consideration has teams.
Modified Design
Now, the Teammate Review rubric shows up under the Rubrics tab, only if “Has Teams?” is selected and “Maximum number of members per team” is greater than 0 in General Tab.
One can follow the below mentioned steps to view the functionality:
1.Go to Manage-> Assignments 2.Click on “edit assignment” image for any of the assignments 3.Click on “General” tab 4.Check “Has teams?” and give “Maximum number of members per team” greater than 0. 5.Save assignment 6.Go to “Rubrics” tab. Check if “Teammate Review:” is present. 7.Repeat the same process with “Has Teams?” unchecked and “Maximum number of members” equal to 0. This will not display “Teammate Review:” in
the Rubrics tab.
Refactoring
Requirements for this section were centered around the following points:
1. Renaming set_up method. It does not indicate its functionality.
2. Refactoring copy method
3. Fixing spell check issue for "Maximum number of review per team"
Initial Design
1. set_up method is badly named. It does not indicate what functionality it implements. This method is present in assignments controller.
2. "Maximum number of review" under rubrics tab is not spelled correctly. This can be found under :
Manage->Assignments->Edit Assignment->Rubrics
3. "copy" method in assignments controller is too long.
Modified Design
1. set_up has been renamed to set_up_assignment_review to better reflect what it actually implements.
2. "Maximum number of review" has been renamed to "Maximum number of reviews".
3. "copy" method has been refactored by moving some of its functionality into its respective method copy_assignment_questionnaire.
Timezone Issue
Initial Design
Time zones are not handled properly in the code. The code should retrieve the Preferred Time Zone of the current user and pre-select it in the time/date picker. Also, the time/date picker asks a user to specify the hours, minutes, and seconds of a due date. Obviously we don’t care about seconds, so it would be nice to use a time/date picker that doesn’t show seconds and minutes are in steps of 5. Also daylight savings time needs to be taken care of.
Modified Design
The above mentioned issues are addressed and can be viewed by following the below mentioned steps:
1.Go to Profile. Set timezone to any new timezone and save it. 2.Go to Manage-> Assignments 3.Click on “Edit Assignment” image for any of the assignments 4.Go to “Due dates” tab. Click on the textfield for “Round 1: Submission”. You can find that it doesn’t show seconds and minutes are in
the step size 5, also, in “Time Zone”, it shows the timezone set in the earlier step.
Testing
The testing was limited to the changes made as part of this project.
Following test
Future work
In order to further refactor the assignments_controller.rb
- 1. No usages for the following methods were found:
- - copy_participants_from_course
- - define_instructor_notification_limit
- 2. Following methods can be moved to Model classes but are non-functional(throwing errors) in the existing code itself.
- -associate_assignment_with_course
- -remove_assignment_from_course
- 3. Methods that add to and delete from delayed_queue should be in the delayed_queue class.(Part of different project)