TeamDesk Knowledge Base & Support

   Home      FAQ      Forum      Idea Exchange      Ask a Question      My Stuff      Help   
  
Support for iCalendar file format
Calendars' popularity grows.

You may import specially prepared calendar data (in a format called iCalendar) to Microsoft Outlook, Mozilla Sunbird, Windows Vista Calendar applications or to online services like Google Calendar. Moreover some applications support calendar subscriptions, querying and synchronizing local calendars with online calendar providers.

The idea is to extend TeamDesk's calendar views with an ability to export the data in iCalendar format and provide subscription feature (similar to RSS support for table views).
ID
79
Category
Integration/API
Author

Kirill Bondar  Staff 
Date Created
2/28/2007 3:25:23 PM
Date Updated
2/29/2016 5:14:11 AM
Status
Implemented
Score
220
Promoted By
Stephen Weltygerardo garciaDale Mallett
Gii SystemsRick CogleyFlavia Calhelha
Sven HoferChristof SulzerFabio Cardillo
Alfredo BravoRonald SarazinDal Ben, David
Michael RennertJosé de Alencar Pereira NetoMatthew Porter
Ben FatchenbasenineAndrew Winters
That Computer GuyAnthony CarterKevin Bishop
Kirill Bondar  Staff 
Comments
Andrew Winters 12/9/2008 10:43:25 AM
Any word on whether this will be implemented? The ability to sync teamdesk calendar without outlook and/or a pda would be great.
basenine 3/25/2009 10:20:17 PM
This is a great idea - will it be going ahead?
Andrew Winters 4/5/2009 3:18:51 PM
For people following this thread, here is a thought. Does anyone know of an email solution that will automatically create calendar entries based on the content of the email. If so, then the teamdesk subscription function could be used to duplicate the teamdesk calendar in an icalendar environment. From there, the calendar could be synced to anywhere else that supports icalendar, such as a blackberry or iphone.

For example, I could subscribe to my teamdesk calendar in gmail. When I create or modify a teamdesk calendar entry, I would get notified by an email to my gmail account. The email would then auto create a calendar entry using the data in the email. The teamdesk subscription service seems fairly malleable so that data could hopefully be placed in just the right to place to correctly trigger an entry.

The problem is I can't find any hack or tool within gmail to allow such auto creation of calendar events. It could be any calendar though. Is anyone familiar with any application or hack that can do this?
basenine 4/14/2009 5:20:35 PM
_**For people following this thread, here is a thought. Does anyone know of an email solution that will automatically create calendar entries based on the content of the email. If so, then the teamdesk subscription function could be used to duplicate the teamdesk calendar in an icalendar environment. From there, the calendar could be synced to anywhere else that supports icalendar, such as a blackberry or iphone.**_

On a Mac, the new OS X (Leopard) the Mail App does the above.

**## Data, detected.**
_Say you get an email invitation to dinner. What if Mail recognised the address of the restaurant and let you map directions on the web? Or let you click once to add the date to your iCal calendar? With Leopard, it does. Mail even recognises relative dates (“let’s meet next Tuesday”) and keywords (“dinner tomorrow”), so you can act on information rather than enter it._

http://www.apple.com/au/macosx/features/mail.html

Cheers

basenine 5/18/2009 11:59:44 PM
Now that Google Calendar has Tasks, maybe integration with TeamDesk will be easier. Just a thought....
Michael Rennert 6/9/2009 7:00:51 PM
Google has just announced the Google Apps Sync plug-in for outlook (obviating the need for MS Exchange) for Google Apps PREMIUM and education subscribers (presumably including synchronization of email, calendars, contacts, and tasks).

I suggested providing an Outlook connector in a post, elsewhere on the TeamDesk Idea Exchange, but this announcement might tip the balance toward Google Apps supportyn.

Google Apps Sync plug-in support would be a killer feature, if integrated with TeamDesk.
Michael Rennert 6/9/2009 8:31:13 PM
This is also relevant to the suggestion for Google Apps support by Ingmar Groppe.
Gii Systems 7/30/2010 2:36:59 AM
Hi Kirill - Any idea how close we are to this? It would be awsome to update outlook calendars etc.
basenine 10/6/2010 6:28:14 PM
Maybe link this in with server side wget?
basenine 11/28/2010 6:03:11 PM
Hello Kirill,

Has anymore thought been put into this idea? If so, what will be the likely outcome for syncing with iCal applications/subscriptions?

Kind regards
Kirill Bondar  Staff  1/20/2011 10:43:37 AM
Calendar and Timeline views now feature "Enable Calendar feed" option. When checked, the Clock icon is displayed beside the view name. By clicking the icon you can download the content of the view in iCalendar format for further import into your favorite calendar application. Alternatively, you can copy the link and subscribe your calendar application to the live feed, if supported.

Both import and subscription were tested with Outlook 2007/2010, Mozilla Lightning and Apple iCal.

---

Also, we tested it online calendars: Hotmail and Google.

Importing of an ICS file works fine in both tools. With subscription the situation is a bit worse.

Both tools work fine over non-secure channel. The data in TeamDesk however is accessible only via https protocol - this is the requirement that can't be turned off.

GCal simply hangs on subscription. Some people reported that the problem is in secure protocol and the workaround is to shorten the URL via online services like bit.ly. We tried, however in this case GCal complains about robots.txt preventing feed from reading. Funny thing is that bit.ly, while having robots.txt allows to crawl the site and teamdesk.net does not have robots.txt at all.

Hotmail simply complains about "https://" prefix, while explicitly claiming to support subscriptions over https protocol :)

Have fun. Comments are welcome :)
gerardo garcia 1/20/2011 1:06:50 PM
I´m new in this iCal stuff but very interested in the function.
Im trying to use lightning since I couldnt make it work in google calendar directly.

The feed subscription is read only? Or can I do something to be able to update it from lightning?
Kirill Bondar  Staff  1/20/2011 3:01:34 PM
If you import the .ics file you can update events (BTW import to Google works), but subscriptions are read-only.

iCalendar file has very specific structure oriented (not surprisingly) for use in calendar software.

We use few fields from few dozen: Start Date, End Date (Timeline views only), Summary, Description and the URL. Those five maps more or less to the structure of Calendar/Timeline views. Given flexible TeamDesk table structure, the rest of the fields is almost impossible to map - your table have to have very specific structure.

Also, sync'ing back to TeamDesk (if it would be possible) would apply additional constraints: you should have no required fields beside those mapped, date columns should not be formulas, etc - it's more the task for specialized software like CRM systems than for general purpose database.
Kirill Bondar  Staff  1/20/2011 3:11:55 PM
About Google: below is a link to google forums, our problem is exactly the same. Obviously, no reply...
http://www.google.com/support/forum/p/Calendar/thread?tid=48594276b37ccba9&hl=en
basenine 1/20/2011 5:12:33 PM
Great - I subscribed to an iCal view in Lightning... All good. As noted, is Read Only - but that's OK.

Is there anything in calDav that may enable live feeds?
basenine 1/20/2011 5:18:45 PM
I mean Two-Way (sync) live feeds....
gerardo garcia 1/20/2011 5:25:57 PM
Finished testing in lightning. Works good.
Unfortunatedly all my personal uses google calendar directly with chrome.
I appreciate teamdesk work to have this feature available. :-)
Too bad google cal is not working with https :-(
Rick Cogley 1/20/2011 5:28:13 PM
Works great in iCal on Mac - thanks! What a nice improvement!
Andrew Winters 1/20/2011 8:45:27 PM
Hi Guys, I hate to be the dim one but I'm missing how to configure this. I checked "enable calendar" view but I don't find an hourglass by the view name (either in the setup or the application itself). Can anyone clue me in on what I'm not picking up on? Thanks!
basenine 1/20/2011 9:11:18 PM
Yep - you need to "Show Sidebar" and it will be a small icon next to the View
Andrew Winters 1/20/2011 9:28:04 PM
Oh, I got it now. Thanks, Brett!
Gii Systems 1/21/2011 2:18:58 AM
Great work! Works well with Outlook 2010 and 2007.
Kirill Bondar  Staff  1/21/2011 9:17:44 AM
On the sychronization from calendar back to TeamDesk topic.

Let's see how it works...

As I mentioned above iCalendar file has specific structure. It has objects like TODO, EVENT, FREEBUSY. Some fields in these objects are optional, some are required.

EVENT has start time, optionally end time or duration, summary, description and an URL. There are lot of other fields but it is impossible to fill them in without specifying the mapping between the field and TeamDesk table column.

TeamDesk's Calendar view's concept maps directly to iCalendar's TODO (when, what). The problem is that Outlook, as of v2010 ignores TODO's when importing .ics file. So we have choosen EVENT to represent calendar record.

From the calendar view we map date column specified in "Based On" property to event's start time. If the calendar is based on a date column, the event created is a all-day event. If calendar is based on a timestamp column both date and time is reported. In this case end time or duration is required - we fill duration with 15 minutes default.

URL is filled as a link to record's view or edit page or to none, depending on "Display Record As" calendar's property.

Summary is filled as a dash separated list of values for columns specified for the view and stripped not to exceed the length set in "Characters to display" property.

Description is a "full version" of summary - each column reported on a separate line as name-colon-value. URL is appended to the description as it turns out Outlook and Google do not display URL field.

Timeline view handled in similar manner - there is a direct mapping to event's start and end dates/times.
Label goes to a summary and description.
For URL we prefer view URL, if allowed by view's actions, falling back to Edit if not.

As you can see the mapping is quite limited.

Now, suppose we have CalDAV enabled on the server. What will happen if calendar syncs back to TeamDesk?

Calendar view: summary and description is a text composed from many values - it's not updateable. URL is not updateable either. Practically the only thing we can update is the date field and only if it is a "real" column and not a lookup or summary.

Timeline view: same questions. Label maps to both summary and description, and even the label is updateable, what if summary and description is different? In 50% timelines end date is defined as a formula calculating start+duration and is not updateable.

And if new event is created in the calendar, its synchronization to TeamDesk will fail as long as table has required columns beside the mapped columns.

--

Having quite limited amount of scenarios the synchronization back to TeamDesk will work makes whole thing questionable.
Kirill Bondar  Staff  1/27/2011 2:18:55 AM
Merged with:
269 - Google Calendar now has tasks...
Andrew Winters 5/28/2011 9:40:20 PM
Has anyone come up with any ideas on how to get around the https problem with google calendar?


Andrew Winters 5/28/2011 10:16:40 PM
Strangely, I tried shortening the URL as Kirill had suggested and it worked! The events are now showing in my google calendar. My only problem now is that the events are all showing in my google calendar as 24 hour events starting the day before. I changed the "based on" setting in the view to the timestamp and it made no difference. Any thoughts?
Andrew Winters 5/28/2011 10:30:34 PM
Fixed that last problem by adding an "All Day" column of the checkbox type, defaulting it to unchecked, and then adding it to my calendar view that is being synchronized. This maps to the google calendar "All Day" checkbox.
Kirill Bondar  Staff  6/7/2011 8:45:21 AM
@Andrew - what is the URL shortening service you used? bit.ly does not seem to work with gCal.
Kirill Bondar  Staff  6/7/2011 8:55:54 AM
Update: Hotmail now seem to support subscription over https
Andrew Winters 6/7/2011 3:03:24 PM
Hi Kirill, I was tinyurl.com to shorten the http. However, I noticed that it didn't seem to update changes like a subscription should. So it wasn't very helpful.

Also, I just tried the subscription in hotmail. Unlike before, when it wouldn't let me subscribe to the calendar at all, it lets the subscription go through. But it doesn't show any of the events from the calendar.
Kirill Bondar  Staff  6/8/2011 6:34:56 AM
@Andrew: In my case, Hotmail works perfectly. No need to tinyurl, simply subscribe to a direct link from TeamDesk. After some delay events are shown. Please note that calendar subscriptions are updated approximately once per hour, so changes in TeamDesk might not be visible immediately in the calendar.

BTW, Goggle works with bit.ly too.
Andrew Winters 6/8/2011 7:05:33 PM
You are right about hotmail calendar. I had been impatient before but now I see it syncing within an hour or so of a change being made.

The google calendar works well but so far the event changes don't update very often. From what I've read onlint this is a universal problem with google subscriptions and unrelaed to teamdesk.
basenine 2/13/2012 1:05:14 AM
Only one thing missing with calendar view and therefore feed, is Duration. Alot of events run over two or more days.... they only show up as a 'Single Day' event on Teamdesk (and therefore google).

Any way of adding a Duration to the 'Based on' column?

Cheers
basenine 2/13/2012 1:10:06 AM
Update on precious comment...
We currently schedule all of our Cabinet Making duties (Machining, Assembly, Despatch, Installation....) with Google Calendar. If we had the ability to show events > than 1 day on the TD Calendar as as a 'Bar' or similar, we'd drop using Google for scheduling and keep it all tied into TD.

The other benefit of this though is if TD was ever down (for maintenance etc) we'd still have a feed to Google (if we'd created one....;))

Cheers
Kirill Bondar  Staff  2/13/2012 2:27:40 AM
@Brett: use timeline views to define event's start and end dates/times.
José de Alencar Pereira Neto 2/13/2012 4:28:23 AM
the icalendar should loosen the grip of the month making possible for example be seen in one window period from day 10 (or other) from a given month until day 10 or other of the following month
Kirill Bondar  Staff  2/13/2012 7:31:27 AM
@Alencar: use view filters
basenine 2/15/2012 1:54:05 AM
Hi Kirill,

Thanks for that - I didn't realise that the timeline view had the calendar feed option. Works well.

Kind regards - Brett
basenine 1/16/2014 7:40:15 PM
@Kirill...Above you've written:
"From the calendar view we map date column specified in "Based On" property to event's start time. If the calendar is based on a date column, the event created is a all-day event. If calendar is based on a timestamp column both date and time is reported. In this case end time or duration is required - we fill duration with 15 minutes default."

Specifically 15 minutes duration default....
Is there a way we can override that with our own column please? Or have included in the Calendar Feed the End Date (DTEND) - timestamp.

on a side note: Most calendars default to 1hr generally - was curious as to why you chose 15mins?
Kirill Bondar  Staff  1/17/2014 4:18:44 AM
@Brett: As outlined above, calendar view maps directly to TODO type of iCalendar feed entry; the reason we report it as EVENT is solely for compatibility with current versions of Outlook. You may want create Timeline view that allows you to specify both start and end times to override 15 minute default in the feed.
basenine 1/17/2014 5:37:00 AM
Hi Kirill - as I was driving to my next appointment I considered the Timeline View and thought that might be the answer to the problem.

I'm a bit confused as to why TD would make the Calendar feed a TODO type entry rather than an EVENT type. My understanding is that the only difference is the End Date isn't present in a TODO. Looking at both apple calendar and google calendar .ics files, both use the DTSTART and DTEND. I'm guessing that Outlook is doing the same(?).
Would it not be possible to add this (an End Date field) to the current Calendar View? It seems unusually limited in it's current format. I'd also add that a selection of drop lists to add things like URL and Description into their correct spots would be beneficial.

Finally - and I'm outta my depth here - a URL Shortening service built right into the Calendar feed. Can you do as this article mentions?:

http://harryjerry.com/web/create-your-own-url-shortening-service/

Reading it was easy (!) so I hope that implementation might also be easy. The reason I'm asking for this is for for simplicity - Running the URL through bit.ly or tiny url annoys me a little. And it means it's also going through a third party - not that the data is that sensitive for my current clientele but it might be another way in...

In the mean time - I'll give the TimeLine view a crack. 😀

basenine 1/17/2014 5:45:21 AM
The Timeline View only offers minimal information and whilst correctly enters in the DTSTART and DTEND, specific and handy columns that I'd created in an Appointments Table can't go through - like notes, address (physical) and Phone numbers.

Unfortunately it's not the solution for me at this time.
Kirill Bondar  Staff  1/17/2014 7:11:26 AM
Indeed in calendar you can select more than one column as a label. Yet, calendar produces single line of text by concatenating all columns via dash - in most cases can be handled via Formula - Text with List(" - ", column, column, column) that you can use as a label for Timeline

basenine 1/17/2014 10:28:12 PM
Yes - I've given that a go. It's really not what we're after here though.
The label ends up looking like this:

Joseph Cxxxxx - 7 XXXXX Street Mount Barker Summit SA 5251 - 041x xxx x08 - 041x xxx x08...
(without the xxxx's of course)...which is too long and confusing.
It seems like a good mixture of the two would suit.
The Label to be only the Customer Name (As the Timeline view was capable of) and the columns to go into the Notes/Description section (as the Calendar view does). The DTSTART and DTEND of the Timeline accurately calculates the duration.

Also, the URL goes into two places:

One you can click on, the other goes either right at the end of the last column (without a space or a " - "...ie. in the Calendar View:
Customer Mobile: 041xxxxx08https://basenine.dbflex.net/secure/db/3xxxxx/preview.aspx?t=200630&id=1

is all on one line with no space between the numberandtheURL (!)

In the Timeline view, it drops nicely under the (now long) concatenated label. And also in iCal, another one that is accurately hyperlinked.
basenine 1/17/2014 10:29:49 PM
>>>And also in iCal, another one that is accurately hyperlinked.

Another one = URL
Andrew Winters 2/27/2016 5:06:26 PM
It seems that there is no way to populate the "location" field of the calendar that I am importing into. As far as I can tell the only fields I can populate are three - start time, title, and body/description. Is this correct?
Kirill Bondar  Staff  2/29/2016 5:14:11 AM
@Andrew: correct
Feedback
 
Back to Search Results