PHPackages                             smtech/canvas-ics-sync - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. smtech/canvas-ics-sync

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

smtech/canvas-ics-sync
======================

An LTI and service to sync Webcal/ICS feeds into and out of Canvas

v1.2(9y ago)001[7 issues](https://github.com/smtech/canvas-ics-sync/issues)GPL-3.0PHP

Since Jul 2Pushed 9y ago3 watchersCompare

[ Source](https://github.com/smtech/canvas-ics-sync)[ Packagist](https://packagist.org/packages/smtech/canvas-ics-sync)[ RSS](/packages/smtech-canvas-ics-sync/feed)WikiDiscussions master Synced today

READMEChangelog (2)Dependencies (6)Versions (5)Used By (0)

Canvas ICS Sync
===============

[](#canvas-ics-sync)

[![Latest Version](https://camo.githubusercontent.com/435f009b8e9bb70d8120d265855f0059a95e62d70f2b934e784fa07b2c7cf304/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f736d746563682f63616e7661732d6963732d73796e632e737667)](https://packagist.org/packages/smtech/canvas-ics-sync)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/8b7a2841ab34a4be78e5ea01263a5c4a1e46cff783b0946c0fff7c9fea1e1895/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f736d746563682f63616e7661732d6963732d73796e632f6261646765732f7175616c6974792d73636f72652e706e673f623d646576656c6f70)](https://scrutinizer-ci.com/g/smtech/canvas-ics-sync/?branch=develop)

Important Note
--------------

[](#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](https://github.com/smtech/smcanvas-ics-sync/tree/oauth) of this repository. At last check, it wasn't reliably working, but it should be fixed... soon!

The current [master fork](https://github.com/smtech/smcanvas-ics-sync/tree/master) is a throw-back to the mid-summer that does work, but requires some tech savvy to get working.

Read Me
-------

[](#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.

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity1

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 80% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~317 days

Total

3

Last Release

3381d ago

Major Versions

v0.9 → v1.1.12017-03-16

### Community

Maintainers

![](https://www.gravatar.com/avatar/d0554a28104c65004c6de4d335ada25cf2763c8a9691dc5611314486d461fa4c?d=identicon)[battis](/maintainers/battis)

---

Top Contributors

[![battis](https://avatars.githubusercontent.com/u/419619?v=4)](https://github.com/battis "battis (8 commits)")[![scrutinizer-auto-fixer](https://avatars.githubusercontent.com/u/6253494?v=4)](https://github.com/scrutinizer-auto-fixer "scrutinizer-auto-fixer (2 commits)")

### Embed Badge

![Health badge](/badges/smtech-canvas-ics-sync/health.svg)

```
[![Health](https://phpackages.com/badges/smtech-canvas-ics-sync/health.svg)](https://phpackages.com/packages/smtech-canvas-ics-sync)
```

###  Alternatives

[moodle/moodle

Moodle - the world's open source learning platform

7.2k86.6k70](/packages/moodle-moodle)[sculpin/sculpin

Static Site Generator

1.5k104.4k12](/packages/sculpin-sculpin)[pattern-lab/core

The core functionality for Pattern Lab.

421.4M36](/packages/pattern-lab-core)[koriym/app-state-diagram

An Application Diagram Generator

39235.8k3](/packages/koriym-app-state-diagram)[bomo/ical-bundle

Create ics url or file for Symfony 2, 3, 4 and 5

19291.4k](/packages/bomo-ical-bundle)[coldtrick/event_manager

Manage events, from a simple appointment to a multi day event with day programs and subscriptions

284.8k](/packages/coldtrick-event-manager)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
