Skip to content
This repository has been archived by the owner on May 29, 2024. It is now read-only.
/ canvas-ics-sync Public archive

Synchronize ICS and webcal feeds into Canvas (per course, user or group)

License

Notifications You must be signed in to change notification settings

smtech/canvas-ics-sync

Repository files navigation

Canvas ICS Sync

Latest Version Scrutinizer Code Quality

Important Note

Due to the time crunch of the start of school, all of the code currently moving towards a self-service, OAuth-authenticated calendar syncing system has been put into the oauth fork of this repository. At last check, it wasn't reliably working, but it should be fixed... soon!

The current master fork is a throw-back to the mid-summer that does work, but requires some tech savvy to get working.

Read Me

A pair (trio?) of tools for working with Canvas and ICS feeds. There is an export tool that exposes the pre-existing ICS feed for course calendars and there is an import tool that pairs an ICS feed with (theoretically) a course, group or user in Canvas and imports all of the ICS events into that calendar, deleting any residual events created by prior imports of that pairing. The quasi-third tool, a sync tool, is really just a wrapper for using crontab to trigger regular re-imports of an ICS feed pairing.

Some care has been taken to protect privacy by not caching the actual calendar events in our MySQL database cache of ICS/Canvas pairings, but, of course, potentially private information is passing through third party hands, etc., etc.

This would benefit from an OAuth setup, so that individual users could set up their own pairings. However, at the moment, it requires administrative intervention and relies on a single API user, Calendar API Process, to handle all imports. The API user is an admin on our main account.

About

Synchronize ICS and webcal feeds into Canvas (per course, user or group)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages