Found this content helpful? Log in or sign up to leave a like!

End of term procedures?

Jump to solution
SethBattis
Community Contributor

I'm wrestling with how Canvas classifies courses as "available" to different audiences. My measure of availability is that the course shows up in the list of courses returned by a call to:

GET https://instance.instructure.com/api/v1/courses/state=available

This particular API matters to me because we use a planner tool in-house to help students develop real plans around their homework assignments that, well… it works better when it can ask for a list of courses that the student is currently in.

What I've determined empirically so far is:

  • If the course is unpublished, it's not available to either teachers or students
  • If the course is published an in a term that is current or past but has not been "hard concluded" (either by clicking the "Conclude Course" button before the end of term or making a DELETE call to the course endpoint later on), it is available to teachers and students.
  • If the course is hard concluded, it is not available to teachers or students.
  • If the account-level "Restrict students from accessing courses after end date" is set, it has no impact on availability of courses (at least in sub-accounts). I have not experimented with locking that setting, because… why bother?
  • If the course-level "Restrict students from accessing course after end date" is set, it is available to teachers and students receive a truncated version of the course that is just the id and "access_restricted_by_date": true, which is progress of a sort.

I've seen a number of work-arounds mentioned (e.g. moving all courses from past terms to an admin-only sub-account), which kind of defeats the purpose of faculty having access to their old courses both for archival and re-use purposes.

I'm leaning towards just writing a (not very complicated) script to hard-conclude all courses in a term that I can run the day after the term ends, but… I'm doing it with very ill grace.

Do others have perspective?

Labels (1)
1 Solution
SethBattis
Community Contributor
Author

So, I think it's worth winding back to _why_ I was asking this question: because I was pulling "available" courses from the API and a bunch of old courses were showing up. Turns out that the _core_ issue was that those old courses had, apparently, been create _before_ I had set "Restrict students from accessing courses after end date" at the account level, so those old courses didn't inherit that setting.

To be honest, I'm a little skeptical about that assessment since, a) I went through and set a bunch of reasonable settings (including, IIRC, _that one_) before creating _any_ courses in our instance. But whatevs: it's clearly water under the bridge now. And new courses seem to be created with that setting (regardless of my course template setting: if the restriction is turned on at the account level, it _does_ apply to newly create courses, whether or not the template has the restriction set).

Which means, in theory, that this is now a "set it and forget it" situation: the old courses become wholly inaccessible to students when the term ends (barring any individual configuration of courses) and while faculty can still access them, they are no longer "available".

Which means that there should be _no_ end of term procedure.

View solution in original post

0 Likes