Showing results for 
Show  only  | Search instead for 
Did you mean: 

Adjust all assignment and quiz dates on a single page

Adjust all assignment and quiz dates on a single page

The Problem:

Managing dates one item at a time is tedious when you are planning an entire semester. This is true for new classes, but also for existing classes since the ability to globally adjust imported dates never works for the way my institution designs new semesters.


I would like a spreadsheet format that shows all date related events on one page. I could then set up all events and synchronize them where necessary. This could be an online form, or the ability to download a csv template and reupload the dates.


I have attached a simplified snapshot of this kind of spreadsheet.

This idea has been developed and deployed to Canvas

Please read through the Ready Release Notes (2020-04-18) 

Community Champion

Deactivated user​,

I think you may be right about people wanting a larger tool. I've been monitoring this since writing my Google Spreadsheet to modify the dates. It seemed that delete (easy to implement), mute (easy to implement), and copy (probably not so easy to implement) were frequent requests. My tool ignores differentiated assignments because they would have over complicated things and the API was still in beta when I was writing it.

Muting when an assignment is created should probably be done on a global default per course rather than through this tool, although some will say it's necessary here because when I copy a course, they will all be unmuted. But better yet would be for the import to honor the "automatic mute" setting.

In essence, people want every option for every assignment and quiz on one page. Designing that page would be a nightmare from a user perspective.  @jblumberg ​ has a tool that already displays most of that information (not sure if it supported differentiated assignments), but it is read-only and has different pages for quizzes than it does for other assignments. The differentiated assignments option will probably never fit with the same page as everything else.

For one, I've never imported an entire class, recreating much of it every semester, so I don't mess with date changes. I did try importing from a master course that  @kona ​ and I were developing this semester without dates, but I did use my tool to set the dates. I knew that each discussion was due on Friday at 5:00 and using a spreadsheet to programmatically set that was much easier than typing each one separately.

A spreadsheet approach, by that I mean one that allows calculations, is probably more powerful than anything you're going to be able to come up with as a web-based application within Canvas because I say "all discussions are available for 14 days after they close" or "all quizzes close 5 days after they open and should show answers 1 minute after they close and remain open for 5 days afterwards". One thing that's harder with the spreadsheet approach is using times as you can't say "Make it close at 11:59 pm", you have to use a formula that subtracts (1/24/60 = 1/1440) from the next date.

So people think they want an assignment kitchen sink, but it is so varied that it would have to come with an inch-thick instruction manual to be used. A web-based interface can give people what they're used to from other LMSes and even allow deletion, copying, muting, etc.. Unfortunately, it gives them mediocre, not awesome.

Community Coach
Community Coach

Deactivated user​, in response to your question, "How does date adjustment during the course import process not meet these needs?" - probably the biggest thing is that you can often get close in terms of updated dates, but if you need to adjust or tweak dates/times and you have until dates then you have to manually go into EVERY assignment and make this change. This is extremely time consuming and pretty frustrating.

As for what would people want this to do, the biggest thing that people have been requesting lately, and that isn't easy to do, is copy assignments. Otherwise, deleting and muting are things that yes, would be great to have, but in all actuality aren't that difficult or time consuming to do.

Community Contributor

We use master course sites to update the courses each term, then copy (import) into all the live sections. We need to make sure all dates are correct BEFORE the information is put in live courses. And be able to weak them based on different vacations in spring/fall.

Community Contributor

 @annmarie_johnso ​ If you organize your course into weeks you can use the Course Analysis Tool to check your dates.  It a little work to setup, but the payoff is definately there.  You do need to either:

   Start your assignments with - "Week #"


   Start your Modules - "Week #"

You may need to do a bit of testing to get the whole thing to work.... it is probably the piece of the tool that is most specific to our College's way of doing things.

Community Contributor

 @kona ​  One under used feature in Canvas is that you can import content from the same course you are in... this effectively allows you to copy assignments.

It is more clicks than it should be...

The simplest solution would be for Instructure to add a "duplicate assignment" to the gear menu in Canvas.  It could then pop a modal window and ask for the name of the new assignment (same concept could be used for other things like pages).  This is actually not hard to add....  an enterprising JavaScript programmer could add this as a custom add-on through the Global JavaScript.

Community Coach
Community Coach

 @jblumberg ​, I'm well aware of the ability to copy content back into a course to duplicate it. The issue is that if you want multiple copies of the same thing you have to do this same process again and again. In addition, in recent testing I've done with this it doesn't always work that well if you need multiple copies of the same assignment. There seems to be a break down where things stop copying after a certain point. So yes, it is possible, but overall in helping answer questions in the community one of the #1 things people have been asking for lately is an easy way to copy things. I'm actually hoping  @James ​ will get a chance to add this functionality to his change all due dates google sheet he programmed.

Community Contributor

Deactivated user​ in response to your question: "How does date adjustment during the course import process not meet these needs?" I can offer several scenarios.

1) Importing my spring course into a six week summer course.

2) Importing spring or summer into fall. During the fall I have a labor day holiday and class the first Monday of Thanksgiving. This requires me to shift dates forward. Furthermore, I don't just move everything forward by one session. For example, the Monday of Thanksgiving will be low attendance so I want to be careful what I schedule for that day.

3) Snow days or other problems may mean that I need reconfigure many of the days for part of the semester.

4) Once I have rescheduled a bunch of snow or other days, the calendar can no longer be copied to future semesters because it is all a mess.

5) I am constantly tweaking course design. Each section has a series of mini-tests followed by an exam. I had each minitest due date and until date the same. Then I tried making the until date two days after the due date. I am now testing another change.

6) I usually change content between semesters. If I introduce a new assignment I want it to fit a specific point within the other assignments/quizzes. Even if I am only making one addition it is useful to see this in context of all of the other dates of the course.

7) I have many settings I want to make: due dates, until dates, hide answers until due date, hide answers after a certain date. With many assignments it is easy for me to overlook one of the settings. If I can see it all on the same page, it is easier for me to do a final review and make sure that dates are set.

Further, these will all have ripple effects. A little change on one item or a single snow day may change the entire semester.

Bottom line is that each semester is never a duplicate of a previous semester. As it is I can adjust a single entry, but I have no facility to manage the overall course.


p.s. This isn't the only area that I could use bulk editing tools. It's just the most obvious. Here are two more examples:

1) As another example, it would be useful to have one screen that shows a tree structure with the categories and the assignments in each category and the weights for each category and the points for each assignment. Then I could drag and drop between categories and change weighting and points for all assignments in one place. Again this gives me the ability to manage in the context of the entire course. Like this:

Category 1: 45%

     Assign1: 20pts

     Assign2: 25pts

Category 2: 55%

     Assign3: 50pts

     Assign4: 5pts

2) As a quicker way of entering quiz questions support markup. In my previous system, I could create an entire set of questions in the following format and import all of the at once -- its a lot quicker than going through fields for each question/answer. Example:

1. (1 points) This is the first question

a. This is a wrong answer

*b. This is a right answer

c. Another wrong answer

2. (1 points) This is the second question

*a. The right answer

b. Not this answer


We are looking at bulk editing tools for quizzes, but that conversation is taking place in a different part of the Community, please join that conversation at ​.  A bulk date management tool is a larger project through the entire platform and something we may consider for a larger project at a later date. I do understand the need, so know this is know falling on deaf ears. 

Community Participant

I have zero issue importing content, all 1400 class section I manage import fine. The time eater is setting due dates for 4 separate quarters in all those courses.

Many of my teachers are juggling 16 sections opening on the same day.

Assign Module would be an awesome feature. Typically, out modules are due each Saturday and include 2-4 assignments, at least 2 quizzes, and 2 discussions. If it all could be assigned at once, it free's up an amazing amount of time and Teachers are more likely to investigate other Canvas features and differentiate their instructions to meet their student's needs.

Community Member

What about adjusting times on a single page?  When I copy a course for the same semester, the due dates are the same, but the due times need changed manually.  Did I miss the solution in previous comments?

Community Champion

 @tls7 ​,

There is a working solution on this page for some people using Google Sheets. The comments are so voluminous that they're sometimes easy to miss.

It starts with but there are several posts about it as we worked through things. It might be easiest to just use your browser's Ctrl-F and look for "James Jones"

I used it last week to adjust for spring break week, which was different this term than last year.

This post specifically talks about adjusting times, although it assumes that you're basing the availability and other times off the due date:

If you need to change the times on a date without changing the date itself, then you need to skip over to the unused portion of the spreadsheet.

Let's say this is what it looks like after you load the dates:


What I want to do is change the times on "CH1 Q1" in row 3 (the quiz not the assignment in row 4) to be 3:40 pm.

I would go over to a blank column (J is where they start) and in cell J3, I would type: =FLOOR(B3)+(15+40/60)/24

The 15 is 3 pm on a 24 hour clock, the 40/60 is 40 minutes out of 60, so 15+40/60 is 3:40 pm. The /24 is to because the spreadsheets store dates as integers and times as the decimal portion of the number. The FLOOR(B3) grabs just the date portion and then the rest adds the 3:40 pm to it.

It returns the value 42391.65278

If you don't trust that value, you can to Format > Number > Date Time and it will display as (in my US locale) "1/22/2016 15:40:00"

Anyway, copy those formulas around as needed on the right side (column J or later). Do not mess with the original values in columns B-F

Finally, when you have everything looking like you want it, it's time to replace the existing values with the new ones.

Highlight the cells from the right (in this case J3) and choose Edit > Copy (or I just press Ctrl-C)

Then go to the cell you want to replace (in this case B3). Choose Edit > Paste Special > Paste values only. This is also available with a right click of the mouse.

Here's what it looks like now (I hid columns C-I)


Because you pasted special as values, it kept the date format that it started with.

Although I've only shown changing one number, you could do the entire course at one time.

When you're done fixing the dates, then you go back to the Canvas API menu and choose Save Due Dates.

It's not polished, but if you know a little about spreadsheets, it can be a huge timesaver over going in and modifying each date separately.

Community Coach
Community Coach

Hey  @James ​! In your copious free time it would be AMAZING if you could create a document for this work around! I'd love to direct faculty to this information and it would be much easier to direct them to a document with everything on it versus a few different posts in a decent size feature idea discussion. Smiley Happy

Community Member

Thank you so much. I will give it a try!

Tiffany MacQuarrie

English Instructor

Penn State Beaver


James Jones wrote:

It might be easiest to just use your browser's Ctrl-F and look for "James Jones"

This quote could be applied to so many things!

Community Coach
Community Coach

Wish I could have a recording (with transcript) of everything he's ever said... I'm sure at some point he's solved just about all of life's mysteries... Smiley Wink

Community Champion

No document and no new video yet, but I did spend all night going through and updating the spreadsheet. There are some changes coming down the line where Google is deprecating features in June and this one should continue to work past then.

The main difference is the removal of the setup page -- everything is now menu driven. The other major change is that quizzes that are also assignments are not duplicated, they only show up as quizzes.

The URL is the same, so it's possible that Google will remember your settings even if you make a new copy. If you run into trouble, then you may want to choose the Forget API Settings from the menu.

Community Team
Community Team

How does date adjustment during the course import process not meet these needs?

One issue that immediately comes to mind is how difficult it is to adjust for breaks, as we have some kind of anomaly in our schedule every semester. See:   Our semester lengths also vary: sometimes they're 14 weeks long, sometimes 16 (or 15 1/2), or 15. The date adjuster is simultaneously nifty and overly basic.

Are there other options required in this tool: mute, publish/unpublish, copy, delete, rename, differentiated assignment, attempts limits, grading settings, etc.?

The original poster of this idea provided a screenshot of a spreadsheet that captures the use case beautifully.

Community Participant

Looks, from the description, like an amazing tool!  I've gone to the Google URL, and what's there now is a blank spreadsheet. If the sheet is still available, please let me know!

Community Member

If you follow the instructions in the original post, you’ll find how to make it load with your data! You might need to get a token, which is also described in a post on the page!

Community Champion

 @lbouthillier ​,

 @smithr2 ​ is correct, it comes blank until you put in your information and run it. The post she's talking about is the one mixed in with all the other stuff on the page, but it's now kind of identifiable because it has a big red "January 9, 2016 Update" at the top. Here's the direct link.

Several people are after me to write a document about it, but finding time to do it right has been the challenge.