[Assignments] Warn Before Publishing Assignment with Due Date in Past

Problem statement:

When an assignment with a Due Date in the past is published, Canvas silently gives a zero grade to every student. This is confusing for instructors and students. This happens after this (quite natural) sequence of events:

  1. Import assignments from a previous term
  2. Publish assignment
  3. Update the Due Date for this term

It's true that an instructor could perform the steps in order 1, 3, 2. But you'd have to know that it's important to do it that way, and the Canvas UI does not communicate that. In particular, it is natural to import an entire module, then publish the entire module. When viewing a module it is difficult to tell or remember that a subset of the items in the module need to have date changed first.

Proposed solution:

When a user attempts to Publish an assignment with a Due Date that is in the past, give them a warning message and opportunity to cancel. For example "Warning: the due date is in the past. Publishing the assignment now will give zero grades to X students. Are you sure?"

User role(s):

instructor,designer