I was wondering if anyone has played around with creating an iCal feed from CMSB. I have a client who has an app for their church that they use to input event information. However, they would have to duplicate efforts to get it up on their website because the app developer (Subsplash) does not allow access to their data. They can, though, read iCal feeds from calendar systems that output it (like Google and iCloud). So, I was considering the option of simply exporting an iCal feed with the necessary info supplied from CMSB (similar to how I've generated RSS feeds from CMSB in the past).
The only downside is that we won't be able to define a primary image for each event (as they do in the app and as I would do on the website) since iCal feeds aren't meant to handle this. Some people have developed workarounds, but you have to have control of both the sending and receiving systems so the receiving app (in this case) will understand what it's supposed to do with the image URL it's being fed. Since the app developer isn't interested in getting involved with that aspect of things, my client would still have to go in and upload images for both the app and the website separately. (But, at least some of the duplication was eliminated.)
Anyway, before I go any further down this road (if I even do so at all), I thought I'd ask if anyone had messed around with iCal feeds generated from CMSB before? :-)
I'm pretty sure we've done this before but wasn't able to find any reusable code references. Essentially what you want to do is:
- Find or create a minimal example of an iCal export file with a few entries and confirm this can be imported by the system you're using
- Create a viewer with the code generator (perhaps starting with the RSS viewer) and modify it until it outputs content that exactly matches the working static version you created
- One way to compare the two files is to save the output of the PHP script and compare it to your static version with a program such as winmerge.
We've created lots of custom export scripts, it's just a matter of matching the export format exactly.
Hope that helps!
Dave Edis - Senior Developer
Thanks for the great advice! I'm feeling just crazy enough to give it a shot! :-) I'll report back if I come up with a working example.
Thanks again! I really appreciate it!