Ask / Submit
52

Support for iCal/vCal calendars

asked 2013-12-24 22:31:01 +0200

FireFly gravatar image

updated 2015-09-13 18:36:52 +0200

Support for being able to subscribe to an iCal/vCal calendar (by URL) would be very useful. Many services allow exporting in these formats, and some schedule software does as well. The calendar would have to be re-fetched at some interval (I don't think it's too important to keep that tight, probably hourly or daily would be enough for me). Entries with the same "unique ID" would have to be updated to incorporate calendar changes while not overwriting an user's own modifications (e.g. alarm bell settings for the entry).

Note that this seems to be different from CalDAV. My personal use case is being able to see my school schedule in the built-in calendar without using Google Calendar. The university only offers a link to a vCal calendar and expects the client to re-fetch this link periodically—it doesn't offer the CalDAV protocol.

edit retag flag offensive close delete

Comments

Isn't that simply CalDAV?

viq ( 2013-12-25 14:35:01 +0200 )edit

Hm, might be? I'm certainly no expert on calendar formats. All I know is iCal files begin with "BEGIN:VCALENDAR" or some such. Edit: looks like that is indeed the case, so this is a duplicate then and should be closed.

FireFly ( 2013-12-25 15:28:25 +0200 )edit

ical/ics/vcal is (more or less) all the same file format. http://en.wikipedia.org/wiki/ICalendar. CalDav is the standard to access and syncronize with calendar servers in iCalendar format. Owncloud use this e.g.

See and vote for:

https://together.jolla.com/question/919/allow-import-of-ics-files-in-calendar/https://together.jolla.com/question/534/support-for-caldav-calendars-eg-google-calendar/

Alexander ( 2013-12-25 18:27:29 +0200 )edit
3

It's not a duplicate and shouldn't have been closed.

iCal is a file format, CalDAV is a protocol extension to WebDAV. I just tried setting up a simple ics calendar on my webserver and after much digging discovered it wasn't working because CalDAV requires protocol extensions - it's not just vanilla WebDAV. Thunderbird happily pulls down the ics file and publishes it back using WebDAV, but Jolla doesn't support this.

mr_jrt ( 2015-06-21 14:40:57 +0200 )edit
3

I definitely second mr_jrt above. I have been syncing with half a dozen family and work calenders in the form of standard .ics files dropped on a server with all PC, macs and tablets for the last 10 years at least. That I cannot do this with Sailfish would be a terrible issue for me -basically turning its calendar function useless. Guess what, we come here to get away from Google, that's not to use reimportations of Google calendars :-(

Herve5 ( 2015-09-13 20:03:38 +0200 )edit

3 Answers

Sort by » oldest newest most voted
7

answered 2019-09-09 18:10:08 +0200

updated 2019-09-20 18:13:25 +0200

I'm proposing a very first implementation as a Buteo syn plugin to subscribe to an online calendar in ICS format, see this repository. The purpose of this is to subsribe to public online calendars, like public holidays. It works like a read-only calendar that is wiped-out and recreated each time the online resource changes.

There is no UI for now to subscribes to a new URL, but it can be done easily by command line. Add the following file in ~/.cache/msync/sync/:

<profile name="subscriptions" type="sync" >

  <key name="destinationtype" value="online"/>
  <key name="enabled" value="true"/>
  <key name="hidden" value="false"/>
  <key name="use_accounts" value="false"/>

  <profile type="client" name="webcal">
    <key value="http://i.cal.to/ical/76/hessen/ferien/33fea274.08627e19-76527123.ics" name="remoteCalendar"/>
    <key value="test ICS data" name="label"/>
    <key value="true" name="allowRedirect" />
  </profile>

  <schedule enabled="true" interval="1440" />
</profile>

The file should be named subscriptions.xml, or the value of the name attribute in the first <profile> tag should be the same than the filename without the .xml extension.

Restart the synchronisation daemon with systemctl --user restart msyncd.

It should create a new calendar, store the etag if any, and then redownload the data when the etag on server has changed. To trigger a manual sync, issue dbus-send --session --type=method_call --print-reply --dest=com.meego.msyncd /synchronizer com.meego.msyncd.startSync string:'subscriptions'.

To remove the subscription, use at least package 0.0.2. From command line, issue: dbus-send --session --type=method_call --print-reply --dest=com.meego.msyncd /synchronizer com.meego.msyncd.removeProfile string:'subscriptions'. This will remove the calendar from the database and all associated events. It will also delete the subscription.xml file from the msyncd directory.

If your URL is redirecting to another one, use the allowRedirect key to true, introduced in 0.0.4.

Update issues should be corrected in 0.0.5. Take notice that this is not intended for syncing calendars that often changes. Events are deleted and recreated, and due to how mkcal is handling deleted events, these events are still in the database. So the databse is growing at each sync (except if etag is provided and not changed).

This is very early stage implementation, please report bug when you find any, latest package (0.0.5).

History:

edit flag offensive delete publish link more

Comments

1

does that mean mac users soon can easily subscribe to their iCloud calendars and adresses (and to-do's?) Not a fan of walled gardes myself, but it would be a great feature to sailfishOS connectivity.

danfin ( 2019-09-09 18:39:02 +0200 )edit

No idea about iCloud on Mac. It's mainly done for the use case described in the question : to follow an online calendar that is read-only like for publuc holidays or courses schedule in the University.

Damien Caliste ( 2019-09-09 19:20:19 +0200 )edit

I imported my iCloud calendar. Without a mac it’s kinda tricky cause you have to sort of guess the server the calendar is stored on. Plus you need a separate authorisation password from Apple for the SFOS app to be able to synchronise.

Kopekenscheich ( 2019-09-09 22:24:26 +0200 )edit

I use macs and I migrated to google calendar and now to openXchange because Sailfish currently only seems to manage CalDAV / CardDAV well currently.

danfin ( 2019-09-10 08:29:29 +0200 )edit

Hi there, very much welcomed initiative. Not being a developper, I looked in the repository you mentionned, but there is only a .spec file, not a rpm one? How should I install the plugin for testing? Thanks, Jota

Jota ( 2019-09-11 10:54:42 +0200 )edit
0

answered 2013-12-25 18:31:43 +0200

Alexander gravatar image

updated 2013-12-25 18:33:37 +0200

ical/ics/vcal is (more or less) all the same file format. http://en.wikipedia.org/wiki/ICalendar. CalDAV is the standard to access and syncronize with calendar servers in iCalendar format. Owncloud use this e.g.

See and vote for:

edit flag offensive delete publish link more

Comments

2

Sorry, why is this an answer, when the question begins with "Support for being able to subscribe to an iCal/vCal calendar (by URL) would be very useful."

iCal/vCal is indeed a file format and it is possible to subscribe to such a calendar using plain webdav. This is what your linked wiki article has to say:

 iCalendar is designed to be independent of the transport protocol. For example, certain events can be sent by traditional email or whole calendar files can be shared and edited by using a WebDav server, or SyncML. Simple web servers (using just the HTTP protocol) are often used to distribute iCalendar data about an event and to publish busy times of an individual.

Being able to use CalDAV does not enable you to subscribe to simpler webdav based calendars or GroupDAV. This is what wiki has to say:

Calendaring Extensions to WebDAV, or CalDAV, is an Internet standard allowing a client to access scheduling information on a remote server. It extends WebDAV (HTTP-based protocol for data manipulation) specification and uses iCalendar format for the data.

tl;dr: subscribing to ics still not possible. caldav too complex. importing a single ics file is not enough.

the_mgt ( 2015-09-13 21:09:59 +0200 )edit
0

answered 2019-09-10 16:00:17 +0200

mViper gravatar image

I use the Outlook App for my outlook.com/Microsoft calendar. When a calendar on a Windows Phone automatically sync's with every device you have your Microsoft account in, I am not used to search for other options how it might work. But other than some small things, I love using Sailfis OS (-:

edit flag offensive delete publish link more
Login/Signup to Answer

Question tools

Follow
14 followers

Stats

Asked: 2013-12-24 22:31:01 +0200

Seen: 2,649 times

Last updated: Sep 20