How to auto-embed map by importing .ics file? - location

I am editing .ics files and I would like to automatically get an embedded map on the imported events. As the name I associate to the LOCATION field is not often matching the generic locations (the ones listed by Apple Calendar when creating an event manually), I made some research and found out that it was possible using the GEO field. Unfortunately, nothing happens when I enter valid data there...
Here is my test .ics file
BEGIN:VCALENDAR
METHOD:PUBLISH
PRODID:Testing
VERSION:2.0
BEGIN:VEVENT
UID:040000008200E00074C5B7101A82E008000000000C39F366D366D601000000000000000
010000000BDB756416E2A9C428ED267955FCFBC3M
SUMMARY:Test event
DTSTART:20201138T181500Z
DTEND:2020113T203000Z
CLASS:PUBLIC
DTSTAMP:20200921T104743Z
TRANSP:OPAQUE
STATUS:CONFIRMED
LOCATION:Home Gym
GEO:50.633981;5.586320
END:VEVENT
END:VCALENDAR

Related

Outlook calendar unable to sync description from .ics file

I am trying to create calendar events in outlook from .ics received in mail. This is the content of the ics file.
BEGIN:VCALENDAR
VERSION:2.0
METHOD:REQUEST
CALSCALE:GREGORIAN
BEGIN:VEVENT
SUMMARY:Demo descr
DTSTART:20220924T103000Z
DTEND:20220924T113000Z
ORGANIZER;CN=xyz#abc.com:mailto:xyz#abc.com
UID:4763547133112123311211d1121121s11e133111112112112
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=xyz#outlook.com;X-NUM-GUESTS=0:mailto:xyz#outlook.com
DESCRIPTION;LANGUAGE=en-US:check description
LOCATION:somelink
TRANSP:OPAQUE
STATUS:CONFIRMED
SEQUENCE:2
END:VEVENT
END:VCALENDAR
Everything is synced properly except the description part. However if i add the ics file directly in the calendar by importing, the description is reflected.
Can anyone please help me here?

Calendar update issues (.ics file)

I have an ics file that I send the to two participants. I want both to be able to approve, reject or suggest a new location or provide a link to the online meeting, but it seems like only the user who makes the calendar update can see it, but not the other one.
Below is the .ics file.
VERSION:2.0
PRODID:-//test//test Calendar//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:f4ad093514495ae4dc5c0aa25443dd1a
DTSTAMP:20210512T190903
DTSTART:20210513T110000Z
DTEND:20210513T120000Z
ORGANIZER;CN="John”:mailto:organizer#gmail.com
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=user1#gmail.com;X-NUM-GUESTS=0:mailto:user1#gmail.com
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=user2#gmail.com;X-NUM-GUESTS=0:mailto:user2#gmail.com
LOCATION:Expert to provide the link
SUMMARY:Appointment
BEGIN:VALARM
TRIGGER:-PT05M
ACTION:DISPLAY
DESCRIPTION:Appointment
END:VALARM
PRIORITY:5
END:VEVENT
END:VCALENDAR

Outlook fails to recognize custom UID in .ics file, creates new event (and new id)

What I am trying to do:
I have a need to send my clients .ics files that will populate their Outlook calendars as soon as they download and double click (and choose to populate their Outlook calendar).
When I am testing locally, the iCalendar code below works fine if I set Outlook to work offline - a UID is generated once for each event, I can use the same file again and again and a new event will not be generated - as the UID is recognized by Outlook as already existing. (so I can rely on the UID to update, and cancel as well)
The issue is that when I work with an online Outlook, a random UID (112 characters long) is generated every time I use the file to populate the calendar - even for the same events - so a duplicate event is generated every time!
Example for an .ics file:
BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
PRODID:-//PYVOBJECT//NONSGML Version 1//EN
BEGIN:VEVENT
UID:12345
DTSTART:20190715T020222Z
DTEND:20190715T030222Z
DESCRIPTION:Some fake summary - first event
DTSTAMP:20190715T010222Z
SEQUENCE:0
SUMMARY:this is the first event summary
END:VEVENT
BEGIN:VEVENT
UID:67890
DTSTART:20190715T040222Z
DTEND:20190715T050222Z
DESCRIPTION:Some fake summary - second event
DTSTAMP:20190715T010222Z
SEQUENCE:0
SUMMARY:this is the second event summary
END:VEVENT
END:VCALENDAR
If I generate an .ics file for the first event that was generated when Outlook is online (dragging and dropping out of the calendar) I see that Outlook has added a bunch of new fields:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Microsoft Corporation//Outlook for Mac MIMEDIR//EN
METHOD:PUBLISH
BEGIN:VTIMEZONE
TZID:Pacific Time (US & Canada)
X-ENTOURAGE-CFTIMEZONE:US/Pacific
X-ENTOURAGE-TZID:1
BEGIN:STANDARD
RRULE:FREQ=YEARLY;INTERVAL=1;BYSECOND=0;BYMINUTE=0;BYHOUR=2;BYDAY=1SU;BYMONTH=11
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
DTSTART:20071104T020000
END:STANDARD
BEGIN:DAYLIGHT
RRULE:FREQ=YEARLY;INTERVAL=1;BYSECOND=0;BYMINUTE=0;BYHOUR=2;BYDAY=2SU;BYMONTH=3
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
DTSTART:20070311T020000
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
UID:<a NEW 112 character id - NOT the one I added myself>
X-ENTOURAGE_UUID:81760164-FB2C-4421-B7AC-2E1791265F0A
X-MICROSOFT-EXCHANGE-ID:<base64, 140 character id>
X-MICROSOFT-EXCHANGE-CHANGEKEY:<base64, 32 character id>
DTSTAMP:20190715T023949Z
DTSTART;TZID="Pacific Time (US & Canada)":20190714T190200
DTEND;TZID="Pacific Time (US & Canada)":20190714T200200
LAST-MODIFIED:20190715T023949Z
SUMMARY:this is the first event summary
DESCRIPTION:Some fake summary - first event
ORGANIZER:MAILTO:<the real account owner email - my email>
SEQUENCE:0
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
X-MICROSOFT-DISALLOW-COUNTER:TRUE
X-MICROSOFT-DONOTFORWARDMEETING:FALSE
X-MICROSOFT-CDO-INSTTYPE:0
END:VEVENT
END:VCALENDAR
What I tried:
Modified: METHOD:REQUEST
Added X-WR-RELCALID:some_unique_id from this post
Sequence does not seem to help - it is only there to sort out if 2 UIDs are the same within the same file
I added ORGANIZER;CN=Fable mail:MAILTO:fable.mail#example.com to each event - it has the same issue as the UID, and is disregarded (my email is added as the organizer)
I added ATTENDEE:MAILTO:somemail#email.com as suggested in this post, but it does not seem to make any difference
Is it because I am not using the recommended standard for the UID? It seems like a suggestion to prevent collisions, nothing more.
Thank you!
The problem still persists on latest Outlook 2019 from Office 365.
Even Microsoft support suggests to add this as feature request to the outlook suggestion box. (see here: https://answers.microsoft.com/en-us/msoffice/forum/all/ics-file-does-not-update-event/38548f62-d9cd-4b85-8d3e-65217d4e8f50)
Others suggest to create an application which communicates with outlook and synchronizes the calendar entries by this way. But in my opinion this is a too heavy solution for such a small problem.
When you upload the .ics file to outlook live via the desktop browser, I have used edge mobile set as desktop for this, and select add calendar in the expanded left sidebar followed by upload from file in the following selection menu the UID replacement does not take place.
P.S. Entering the data via outlook mail replaced the UIDs even if they did comply to the official recommendations in the specification.

ICS file in Outlook gives "The operation failed." only if I try to Accept/Tentative/Decline before saving

We are creating an iCalendar .ics file in our system so our users can add an appointment to Outlook. A new requirement is that we have the Accept/Tentative/Decline options show up in Outlook along with RSVPs. I am able to achieve this by adding ATTENDEE and ORGANIZER lines to the .ics as follows:
ATTENDEE;RSVP=TRUE:
ORGANIZER;CN="Test Organizer":mailto:test#test.com
However, I'm running into a particular situation where Outlook returns "The operation failed." When I first open the .ics in Outlook, BEFORE it is actually saved into my calendar, if I click Accept/Tentative/Decline at that point, I get "The operation failed." If I do it AFTER it is saved into my calendar, then it works fine (RSVPs send if I delete it, and Accept/Tentative/Decline work exactly as expected). Here is video of that: http://screencast.com/t/BBUzYRwCJ
What am I doing wrong? Have I omitted something important from the .ics file? Here is the full file, which works great except for this one situation:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ICSTestCS/
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Europe/London
BEGIN:STANDARD
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11
TZOFFSETFROM:0300
TZOFFSETTO:0200
TZNAME:GMT
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3
TZOFFSETFROM:0200
TZOFFSETTO:0300
TZNAME:GMT
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
ATTENDEE;RSVP=TRUE:
ORGANIZER;CN="Test Organizer":mailto:test#test.com
DTSTART;TZID=Europe/London:20140522T090000
DTEND;TZID=Europe/London:20140522T103000
SUMMARY:Test Course
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Test Course Description
LOCATION:Test Office
UID:1
SEQUENCE:0
DTSTAMP:20140522T090000
END:VEVENT
END:VCALENDAR
I seem to have resolved my issue by including:
METHOD:REQUEST
at the top of the file under VERSION:2.0
You should have a mailto: uri as the ATTENDEE value, e.g.
ATTENDEE;RSVP=TRUE:someattendee#test.com

iCal4j .ics Alarm/Notifications

I have the following snippet of an .ics file generated by iCal4j:
BEGIN:VCALENDAR
PRODID:-//Events Calendar//iCal4j 1.0//EN
VERSION:2.0
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20110608T161848Z
DTSTART:20110604T213000
DTEND:20110604T222158
SUMMARY:Uplink Window
TZID:Europe/London
UID:20110608T162308Z-uidGen#10.37.129.2
DESCRIPTION:My Description
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20110608T161848Z
DTSTART:20110604T230845
DTEND:20110605T001314
SUMMARY:Uplink Window
TZID:Europe/London
UID:20110608T162309Z-uidGen#10.37.129.2
DESCRIPTION:My Description
END:VEVENT
END:VCALENDAR
When I import this .ics file into Outlook or iCal each event has a notification 15 minutes before the start time (the little popup thing). Is there a way I can disable these notifications? We have hundreds of events per .ics file and don't need to be notified whenever one comes up, we just want to be able to view the blocks of time the events cover.
Thanks
It was a setting of iCal and Outlook to add an automatic notification 15 minutes before any new event. The .ics file was being treated as a new event. Once I changed those settings in the preferences of the respective applications, I got the desired results.
User Error wins again.

Resources