I'm trying to help out with a client that manages its own in-house web server, where iCal and BusyCal are used to maintain a dozen or so calendars. These calendars are displayed for members in a portal facilitated by ExpressionEngine.
The previous developer, who is frustratingly unavailable, hacked together an add-on that parses .ics files with SG-iCalendar, turns events into a JSON feed, and uses loads of JavaScript to render them in this portal. The result is a poorly-performing calendar that's now incorrectly rendering some recurring events depending on how they're defined in the ICS format.
Is there a better way to reliably display calendar events in the portal without requiring the client to change the way they currently manage events? iCal, BusyCal, and Outlook all do just fine rendering these calendars accurately – but I'm not sure what to advise to help the client away from this hack and not waste money having me re-invent the wheel with a new parser.