fabriceb / gcalcron

Simple multi-platform GUI for CRON: manage your tasks scheduling with Google Calendar !
42 stars 13 forks source link

off-topic: How can we automate disabling events during a holiday? #11

Open ndbroadbent opened 12 years ago

ndbroadbent commented 12 years ago

Here's another thing that I have been thinking about for a long time. When I'm on holiday, I would love to be able to simply add the event to my 'Holidays' calendar, and have all of my alarms and work-related automation tasks automatically disabled.

So, for example, my home automation system interacts with XBMC, and turns on music in the morning. I also automate a WakeOnLan packet to my computers at the office to turn them on in the morning. I'd also like to automate the heaters and air-conditioning, so that I don't waste energy during the day while I'm at work.

So instead of manually cancelling all these events, it would be great if all we had to do was create a 'holiday' event that automatically disabled them. I already subscribe to a calendar of public holidays, so it would amazing if my alarm automatically turned itself off when I don't need to go to work. You mentioned that a cancelled task woke up your sister during a holiday, so I guess you know what I mean...

I don't think Google Calendar itself can handle these kinds of rules, but please let me know if it can.

I would love to also write a translation layer between the 'at' command, and the alarm app of my (jailbroken) iPhone, so that I can use GCalCron2 to manage my iPhone alarms. (I don't want to use the default calendar alerts because they're too quiet, can't customize ringtone, don't have snooze, etc.)

So, you can see why I'm excited about this feature :)

Maybe this idea is out of the scope of GCalCron2, but I was wondering what you think?

fabriceb commented 12 years ago

I love the iPhone-sync idea, unfortunately I have the last 4S which cannot be jailbroken yet and I am really sad about this!

I see two use-cases to disabling events:

Somebody pointing the same problem as you http://blog.jonudell.net/2008/08/28/specifying-exceptions-to-recurring-calendar-events/ was given this link as a possible answer: http://code.google.com/apis/gdata/docs/2.0/elements.html#gdRecurrence

Which would mean that although you cannot set recurrent exceptions using the Google Calendar standard GUI, you could add EXRULE and EXDATE properties.

What bothers me is that during exceptions I would not want to remove all events. What could be a simple way to specify in your events that they are subject to a certain type of exceptions?

My idea in gcalcron2 is to avoid complexity at all costs. Your idea is really good, but we need to be smart enough find a dumb way to implement it :-)

So for the moment I see two paths:

ndbroadbent commented 12 years ago

Oh, I hope the 4S jailbreak comes soon. That must be really annoying.

Disabling events for a period of time in advance would be the main benefit for me. I also delete them manually, and it's fine for now, but it would be cool if it could be automatic :) However, I don't really see a simple implementation either.

Thanks for the links, they are really helpful! I guess GCal's UI won't let me set my complex holiday rules, but I might be tempted to write a script to automate it. This would have the benefit of being able to apply to all work-related events, and not just automation tasks. i.e. all alerts for meetings would be automatically disabled as well. Ideally I would want to be able to change my holiday dates, and have events automatically re-enabled too.

I guess gcalcron2 could handle this a simple way if we add the line except: holiday to the description of the event. It would then also sync the holiday calendars, and ignore those events on holidays. I think this would be easier than scripting the update of EXDATE and EXRULE properties, but it still might be a bit too complex.

Well, thanks a lot for your time!