CSC/ECE 517 Fall 2016/E1705. Tracking the time students look at the others' submissions: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 32: Line 32:
##User switches back to this window
##User switches back to this window
##User performs some activity after being idle
##User performs some activity after being idle
#Stop the time when the user closes the window or submits
#Time is saved into the database when the user saves, submits or closes the popped-up window
 
##If the corresponding entry already exists, the value of the time column is updated otherwise it is created
 


==='''Edge cases'''===
==='''Edge cases'''===

Revision as of 01:36, 9 November 2016

Introduction

Purpose

Expertiza provides the functionality of peer reviews. The best advantage of peer review for the students is that it allows them to learn from each other work. In order to help them to do this, we have to be able to track the time that students spend observing the other's work. Unfortunately, most peer assessment systems do not manage the content of students’ submission within the systems. They usually allow the authors submit external links to the submission, which makes it difficult for the system to track the time that the reviewers spend on the submissions. The purpose of the project is to be able to successfully track the time that each student spends on peer reviewing the work.

What needs to be done

  1. Design a database schema for logging the time a reviewer spend on a submission
  2. Design and implement a solution that handles the use case, where students’ submissions are hosted on an external website e.g.,
  3. Modify the reviewer interface in expertiza to accommodate your solution e.g., change the link that opens submitted files in views/response/_submitted_files.html.erb so that when the user clicks on the link, it opens a popup window that shows the submission, record time when it opens and closes.
  4. Design and implement a solution that handles GitHub and Youtube use cases
  5. Modify Review report (views/review_mapping/_review_report.html.erb) to show the time spent on each submission

Approach

Types of submissions

Based on each submission type, we need to handle the tracking functionalities differently. Generally, the submission links can be one of the following:

  1. GitHub project/repository link , GitHub Pull requests link or Deployment link
  2. Youtube videos
  3. Wikipages
  4. Text document/doc/pdf/ppt
  5. Images - png/jpg
  6. Downloadable contents


Steps

On clicking a submitted link, a new window will pop-up that will keep track of the time spent on that new window. This can be a link to any of the above-mentioned submissions. Another approach of using an iframe, as mentioned in the design documents, was thought of but the non-user-friendly appearance of having to scroll through it in all directions to view the page properly was the primary reason for dropping it. The following are the steps that will be followed to keep track of the time:

  1. Start the time when a user clicks on the submitted link (a new window pops-up)
  2. We'll pause the time in the following cases:
    1. User idle for more than 30sec
    2. User switched tabs
    3. User minimized the window
  3. Resume time when:
    1. User switches back to this window
    2. User performs some activity after being idle
  4. Time is saved into the database when the user saves, submits or closes the popped-up window
    1. If the corresponding entry already exists, the value of the time column is updated otherwise it is created

Edge cases

Edge cases that need to be handled :

  1. What happens when the user refreshes the window : It will set the timer back to 0 and the time spent on that page will be reset.
  2. What happens when the user downloads the submission: If the user downloads any solution and then opens it in his/her local machine, then the time spent on that can't be tracked.