CSC/ECE 517 Spring 2015 E1529 GLDS: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
Line 33: Line 33:


==System Design==
==System Design==
*In each Assignment, each deadline type (E.g review, submit, metareview) should                                       
has its own Email reminder time in the database. New postponed deadline of one type can only replace the same deadline type in the same assignment id category.
*In the UI module, we are going to display the scheduled time for reminder emails of submit, review and final review. And when reminder or due date are modified, the displayed content will also be changed.
*We can convert current time to the same time zone as the deadline stored in database. Then the result of comparison will be right so that it can be used for further usage.
*support more schedule tasks: <br>
In the Assignment Edit page->Due dates:
**When we set the review’s due date, create a “delayed job”  at the same time. When the review is due, it will automatically find all the outstanding reviews(reviews which has not been started) in the database then delete them.
**Add a new teamup deadline, set up a reminder and create a “delayed job” at the same time. When “delayed job” is triggered, it will automatically find all the assignment participants who are still not in any team in the database, and send Emails to them to find teammate.
**When teamup time is due, the system will find all the topics which are held by 1 person teams in the database, then the professor can drop those topics.
=='''References'''==
=='''References'''==
<references/>
<references/>

Revision as of 19:19, 31 March 2015

E1529. Extend the Email notification feature to scheduled tasks

Overview

Introduction to Expertiza

Expertiza is a web application developed by Ruby on Rails framework. It serves as a peer review system for professors and students at NC State and some other colleges and universities<ref>Expertiza. Github</ref>. Students can submit different assignments and peer-review reusable learning objects (articles, code, web sites, etc). It is also a powerful tool for professor to manage courses and assignments and so on. The latest "Rails 4" branch of Expertiza, although combined with various enhancements from the past two years, is seriously broken, from data migration to key feature implementation. Part of the reason has been the design strategy and code changes by various teams.

Email notification feature to scheduled tasks

This is a feature that has already been partially implemented in Expertiza E1451 implemented both sychronous and asychoronous mailers. Sychronous Emails refer to the Emails sent immediatly after an event (e.g. when student receive a peer-review). Asychoronous Email we implemented by the Gem "delayed job” and when a task (asychronous Email) is added to the delayed queue, a count-down number of minutes needs to be specified.
Our team aim to extend this project. This wiki page documents the changes our team has made and provided a guideline for future development and enhancement.

Documentation

E1451. ​Create Mailers for All Email Messages github wiki report (Merged in E1483)

Scope

The new system should be capable of

  • If one task is added to the delayed job queue, the asychronous Email should be updated or deleted automatically.
  • Add UI to visualize for the task in delayed job queue, instructors should be able to view tasks related to the assignments they have created.
  • Keep log of the scheduled tasks when they are scheduled and done, record events in the same log as project E​1478.
  • [optional] support more scheduled task:
    • instructors are able to schedule the time to drop all the outstanding reviews (reviews which has not been started)
    • instructors are able to schedule a specific time to send Emails to all the assignment participants who are still not in any team to find or form one.
    • (new) instructor should be able to schedule a time to drop all the topics which are held by 1 person teams.

Problem Description

  • Wrong display of time: In the “Assignment Edit” -> “Due dates”, when we modify the “Date & time” of the deadline, the displayed time will be 4 hours ahead of the time we saved. Because Rails’ default timezone is UTC.
  • In the previous version, when the instructor postpone the review deadline then postpone the submit deadline, the submit deadline’s modification will replace the the review deadline’s modification in database. In this case, if both of them need Email reminder, there will be no Email about the former modified deadline.
  • In the previous version, there is no UI to display the reminders of assignments. There is no way for instructors to view their delayed tasks related to an assignment.
  • In the previous version, when current is compared with the time stored in database, they may apply to different time zones so that the result of comparison may be wrong.

System Design

  • In each Assignment, each deadline type (E.g review, submit, metareview) should

has its own Email reminder time in the database. New postponed deadline of one type can only replace the same deadline type in the same assignment id category.

  • In the UI module, we are going to display the scheduled time for reminder emails of submit, review and final review. And when reminder or due date are modified, the displayed content will also be changed.
  • We can convert current time to the same time zone as the deadline stored in database. Then the result of comparison will be right so that it can be used for further usage.
  • support more schedule tasks:

In the Assignment Edit page->Due dates:

    • When we set the review’s due date, create a “delayed job” at the same time. When the review is due, it will automatically find all the outstanding reviews(reviews which has not been started) in the database then delete them.
    • Add a new teamup deadline, set up a reminder and create a “delayed job” at the same time. When “delayed job” is triggered, it will automatically find all the assignment participants who are still not in any team in the database, and send Emails to them to find teammate.
    • When teamup time is due, the system will find all the topics which are held by 1 person teams in the database, then the professor can drop those topics.

References

<references/>