I found a few questions asked before regarding recurring events but I have not gone into one that get's close to my need. I am struggling to understand how to deal with recurring events for a notification system.
I know of two options so far:
Store a single event that has a pattern in it and calculate on the fly any future event (for something like repeat forever, etc). Use cron patterns or even better RRULE stuff.
Store all future events as single events until a certain date.
My problem with Option 1 is that I need my events to hold some other data like confirmations and if I have a repeating event I might need to hold multiple confirmations for each recurring event. This transforms into a nasty hack to make things work and I don't even want to think how to deal with displaying past and future events that have other data associated with them.
Option 2 is better since I can store all the extra data associated with each even in the single event. The problem comes with dealing with future events. First, if the event repeats forever than how much should I go for storing events. Do I just do chunks and generate on the fly if the user wants to display future event that was not already generated? This option also feels like a hack.
So far I have read a bit about RRULE and found that I can use rrule.js for frontend and a few other packages for backend.
Edit 1: to better clarify, i am not completely set to use full iCal format standards and am thinking to only make use of RRules. But, I might change my mind since I am still looking for options.
How are iCal Vevents and rrules supposed to be stored in the DB?