CSC/ECE 517 Fall 2016/E1654. Improve date-picker and deadlines

From Expertiza_Wiki
Jump to navigation Jump to search

This wiki page is for the description of changes made under E1654/Improve date-picker and deadlines OSS assignment for Fall 2016, CSC/ECE 517.


About Expertiza

Expertiza is a Ruby on Rails application made by the joint contribution of Professors and Students of North Carolina State University. It is used by the Professor ,Teaching Assistants and students of a particular course to manage their respective responsibilities with respect to that course. Professor can enlist a new assignment or project, set/update the deadline to submit it , grant publishing rights to a user and more. The Teaching Assistants can including other things update the review scores of the students, view the submissions etc. The students can view information about all the assignments due and submitted.Students can form teams in Expertiza to work on various projects and assignments.Students can also review other students' submissions and the performance of their teammates. Expertiza supports submissions across various document types, including the URLs and wiki pages.

Problem Statement

The Date-picker allows the instructor to set deadlines for the assignments and peer reviews.

1) The current date-picker doesn't let you change dates easily. When you try to edit a deadline, Unless you spell it out to the minute, it changes the deadline to the current time.

2) While testing, the instructors very often want to test an assignment in, say, the submission or review phase, even after the assignment is complete. In order to do this, we need to change several due dates from the User Interface. This process needs to be simplified.

Expected Resolution

1) Fix the date time picker bug in _due_dates.html.erb.

2) Find a more user-friendly JQuery date-time picker that supports time zones and allow users to define deadline by date and time (hour), if the bug is not fixed in the existing implementation.

3) Time-zone should be automatically picked from users timezone preference.

4) Allow users to set all due dates ahead by x days, and the algorithm calculates the exact date and time.

Date Picker Description

Previous Implementation and Problems

Problem 1: In the previous implementation for Expertiza, the professors observed that when they wanted to change the date for submission or review deadline for any project or assignment, the expertiza was not able to handle the date properly. As in, when the professor tries to change the date - a calendar pops out but then the calendar should point at the date already in the text box.But this was not implemented as it was picking the date of the system and the professor had to go through a cumbersome process to change the date. Reason: In the back end , the date picker used was not able to read the date properly from the text box because of date format mismatch. We observed that if we resolve the mismatch in the date formats , this problem could be solved.

Problem 2: When the requirement asks for the professor to change the due dates of assignments or projects, (s)he had to change several dates from the front end one by one which was a very time consuming and ineffective method. Reason: In the previous implementation , there was no functionality which allowed the professor to change dates for multiple projects,assignments without manually entering a new date in each text box. We observed that we need to add a functionality where the professor can simply select the assignments/projects for which (s)he wants to update the deadline and input the number of days he wants to extend the deadline and by a click of a single button (s)he can change multiple deadlines.

Changes Made and Issues Resolved

We made two major changes. Change 1 - We improved the date picker implementation. As stated, the date picker was not functioning properly,that is, while changing the date in the text box it was pointing to the system date instead of the date in text box. Reason was the mismatch in the date formats. We made corrections in the code and resolved the mismatch.Now , the date picker is working perfectly fine. It is able to read the date in the text box and there is no mismatch in the date formats.

Testing

Pull Request

References