I’d like to allow users to be able to share a calendar which will enable them to see what times I’m available during the day. While logged in, they can easily see what times are open then schedule an available time to meet me. It would be great if it published to an iCal RSS feed so anyone can subscribe to the data.
Anyone have any ideas on what apps can plugin to ee to accomplish this? Or how I may be able to do this a different way?
This has been requested a few times over the years for EE, but no one has yet stepped forward - to my knowledge - to make one. So you’d need to custom code it, or hire someone to.
I’ve been sorta kinda maybe thinking about getting a group of people together to work on this. But that would require the time to organize the effort, much less to actually do the coding. So although I’m not stepping forward just yet, I am thinking about sheepishly raising my hand.
iCal and most decent calendaring applications read and write files to the iCalendar format. It’s not RSS, but it’s just as simple. You’ll need to bone up on the documentation for advanced events, but all you need to do is create a regular file formatted in iCalendar just like you would with RSS. No plugin needed. Be careful of extra spaces and returns, it’s fickle about this.
I just got this working the other day for a new client, and was very surpised how smoothly it went. Here’s an example:
This deviates somewhat, but ... (puts down late-night sandwich)
I was thinking of adding a calendar function to an upcoming redesign of our main site, using something like one of the free iCal-related calendar things that have appeared recently. The project’s a few weeks away and there are other, more pressing decisions about the redesign to deal with, so I haven’t pursued that as yet.
But Google’s recently announced calendar gave me pause to think again: why can’t I use that as a calendar function for our site? I haven’t read everything on it, for reasons stated above, but for now it’s an option I intend to look at - just put a link to a Google calendar which lists all our events, etc.
I think we’re going to see all sorts of neat things revolving around Google Calendar real soon, they released a calendar API today and you can subscribe to Google Calendars from iCal.
So basically, we need to get a google Calendar module going soon. (I’ve got a need for one…so I just might bite on it.)
Whew. Just went back and read the API. This is going to be alot of work. Might be worth it though. Anyone interested in co-development or perhaps subsidizing such a project?
Yes, that’s the whole file. If you try it out in a calendaring application, you’ll see that all the events are at a specific time on a specific day. I probably exaggerated by using the term “advanced events” since all that’s required for events with duration, or todos, or meetings, or alarms, or repeating events is just tweaking the syntax. I just pored over the wikipedia entry on icalendar and opened up a few ical files in my text editor to see how things were constructed.
Oh, and I published the file as an RSS feed for the document type in EE. I think a pretty decent calendar system can be constructed with EE as it exists right now. The only thing I couldn’t figure out was how to show events that lasted more than one day on the mini calendar.
I’m curious what you’d need Google Calendar for that EE can’t do. As far as I can tell, Google’s system still requires a Google Account. Fortunately, if you did want to use Google for calendars, they do publish calendars in RSS as well as iCal. So you could do some integration right now with that. Ideally, someone will write an iCalendar parser for EE, which I could see being pretty useful.
I suspect we are talking about two different things. If an event lasts say, a weekend, setting the expiration date does work. The example above places the entry date in the expiration date field so that just has to be changed. In iCal, it’s only really visible if you are viewing by the week or when you view a detail of the event. If you want repeating events, they’d have to be entered manually or with Repeet. I haven’t tried this yet, but I will when I have more time. I have some users that are going to absolutely love this.
@seamus: were you able to use your template and import events into google calendar?
i’m using your template but google won’t accept it, it keeps telling me it can’t parse events from the file. the url is: http://www.kncsb.org/calendar/ical
Your Expression Engine calendar template is incorrect. Looks like it’s outputting linebreaks in the description field. All linebreaks need to be specified as \n in the vCal standard.
iCal.app is balking at the linebreaks and I assume other clients will as well.
I wrote a plugin today called “pi.vcal_encode.php”. The plugin cleans up formatting, html and most importantly adds proper ”/n” linebreaks to the data. The tag is wrapped around both title and body data.