Aspen, our flagship student information system, uses many calendars. In the school ecosystem calendars are used to show when assignments are due, District or School events, sporting events, etc. We set off to create the ability for Aspen users to sync their devices (phone or tablet) calendar with any of their Aspen calendars. Our goal was to add a link to the Aspen Mobile calendar user interface that would allow you to “subscribe” to that particular calendar. When a user would subscribe, we would generate an ics (iCal) file, flag that user as a subscriber and show a webcal link. We quickly found out that it would be more challenging that initially expected. We’ve listed some of our challenges here, feel free to comment.
We won’t know when to clear out the subscriber flag, since we won’t be notified if a user deletes the calendar from their device. Do we make it a end of year rollover task?
Our original intention was that there would be one file per user, and it would contain everything the user would want on a calendar: assignments, group events, and so on. Do we want to have groups with their own separate calendar files to which group members or public page viewers can subscribe?
Calendar events that have a meaningful time makes them more valuable. How are we doing to handle timezone differences?
The largest use case had was around assignments. If the assignment is due on a day that the class meets, and the school has a bell schedule, we schedule the calendar time for the time and duration of the first meeting period of that class on that day (noting that some classes could span multiple periods). If the assignment is due on a day that the class doesn’t meet, or we couldn’t get a bell period for whatever reason, should we show it at noon server time and give it no duration? If the teacher updates the due date of the assignment, users expect their device calendar to update as well. We can’t easily get each user’s time zone when updating an assignment, so we can’t easily schedule the item for noon local time. We use the organization time zone, but that may not be the user’s time zone.
The end result of our efforts was a document listing all of the challenges and risks associated with iCal integration in Aspen. We did create a demo which cut many corners, only handled the assignment use case and made very strict assumptions. It is possible to build in this integration into a future release, but our efforts have proven there are a lot of questions to be answered first. Would you like to have iCal integration with Aspen?