I teach the same courses over and over.
I copy the courses from a sandbox each time I teach it.
There are many useful announcements in those courses that are copied as well.
Adjusting dates is troublesome in Canvas and takes too much time.
To adjust assignment dates we have Google doc 'Canvancements" that now save a lot of time.
We need a tool do the same with announcements.
First, thanks to James Jones for the initial 'canvancement' that started it all as well as his help in problem-solving for this one.
1 The only time-consuming part is the very first time you use the editor, you need to open every announcement and add a session date to the beginning of the description. I use the HTML editor and add something like this:
<p style="font-size:8pt;margin-top:-3px;margin-bottom:3px>Session 1</p>
That keeps it small and unobtrusive at the beginning of the announcement, but allows the editor to capture the session date you would like to attach to this announcement in the future. This will apply to EVERY future time you copy this course, so this is the big time saver.
**Side note: While I have not found a way to copy announcements and still make them look like I posted them, I HAVE found a way to attach my avatar inside each announcement after copying. Read about that at Using your avatar in other places.
2 Open the Canvas Announcement Date Editor - Google Sheets (you'll want to copy to your own google docs) and complete the initial configuration of the API settings. if you don't know how to do that, read about it at Adjust All Assignment Dates on One Page. After all, that IS the document that started all of this.
3 Under the Canvas menu, first Specify your course and then import the announcement publish dates from Canvas. The dates should import and load into the first sheet titled "Dates".
Once that finishes loading your doc should look something like this:
4 Click over to the other sheet called "sessionDates1", which looks like this in my sheet:
See that date in bold in row 3? That's the first day of the semester. All of the other dates are linked to that date, so session 6 is one week later and the formula looks like this: =B4+7. This means I ONLY HAVE TO ENTER THE FIRST DAY OF THE SEMESTER and all other dates are automatically calculated. Cool, huh?
You can have as many lists of session dates as you like, but each must be in its own sheet and have a title "sessionDates#". Each can have as many or as few dates as you like.
5 Select "Apply Session Dates to Publish Dates" in the Canvas menu. You will be presented with a choice of dates to apply, based on how many sheets you have created in step 4.
Once you hit submit, your dates will be updated on the "Dates" page.
6 Export your announcement dates back to Canvas.
From now on you only have to complete steps 3-6 when you want to copy a course and bulk edit the announcement publish dates. For me that only takes about 3 minutes now. In the past it took 20 to open every announcement and edit the date while referencing a calendar.
I created my session dates with every possible date I might want to use in the future, so If I ever want to add another permanent announcement to the course, I simply decide what day I want it to be published (Beginning of week 8?), look up that date on my google sheet, and use that session number in the beginning of my announcement. Now every time I copy the course that announcement will be set to be published that first day of week 8.
I have done error checking, but if you find anything weird happening, please let me know.
I hope you find this useful!
I also have the Canvas Bulk Date Editor, which applies session dates to all of your assignments and quizzes. You can read about it at Canvas Bulk Date Editor (Google Sheet) .