iCal not working

I am trying to share my Sugar calendar via UserName > Advanced Tab > Calendar Options.

I have calendar entries in SuiteCRM.

I have added the calendar URL to both Google as well as to iCloud. In both cases, neither are seeing calendar events published.

Is this a known bug? How do I work around this issue as Calendar Sharing is fundamental to coordinating workflow.

Any word on this? Seems like an important potential flaw…

is your suitecrm page public? what type of content you want to be seen? because tasks won’t show in iCal, only will show calls and meetings. Can you post screenshots of your setup? of course hide the sensitive content.

best regards

Hi. I have the same problem.

This is the url: http://crm.aretek.it/ical_server.php?type=ics&key=35670a25-761f-0a28-f76f-56a8870bfec7&email=m.iannilli@aretek.it

Can you help me?

Regards, Massimo

Hi guys,

Just upgraded to 7.7.5, ical still not working for me:[

Sat Oct 01 13:04:26.660572 2016] [:error] [pid 15346] [client] PHP Notice: Undefined index: num_months in /var/www/html/suitecrm/modules/iCals/HTTP_WebDAV_Server_iCal.php on line 145
[Sat Oct 01 13:04:26.661414 2016] [:error] [pid 15346] [client] PHP Warning: Invalid argument supplied for foreach() in /var/www/html/suitecrm/modules/Calendar/CalendarActivity.php on line 177
[Sat Oct 01 13:04:26.661705 2016] [:error] [pid 15346] [client] PHP Warning: Missing argument 7 for CalendarActivity::get_occurs_within_where_clause(), called in /var/www/html/suitecrm/modules/iCals/iCal.php on line 351 and defined in /var/www/html/suitecrm/modules/Calendar/CalendarActivity.php on line 110
[Sat Oct 01 13:04:26.667924 2016] [:error] [pid 15346] [client] PHP Warning: Missing argument 7 for CalendarActivity::get_occurs_within_where_clause(), called in /var/www/html/suitecrm/modules/iCals/iCal.php on line 366 and defined in /var/www/html/suitecrm/modules/Calendar/CalendarActivity.php on line 110

Above messages keep repeating in each ical sync.
Please help…

I managed to replicate this error and found that there are a couple of issues which cause it.

First issue is that when the Thunderbird authentication message pops up, users try to enter their authentication details. The correct action in this case would be following - click Cancel, then go into the calendar in Thunderbird and set the read only flag. This issue happens because the users are trying to set the calendar up as writeable, where the iCal feeds are read only. Thunderbird defaults to this (it assumes that the calendar is writeable and displays the authentication message first).

Second issue is that if the “Publish Key:” value is changed and a new calendar is added with a new “iCal integration URL”, then this new calendar will not be displayed due to the fact that Thunderbird still has the old user preferences and session values (see modules/vCals/HTTP_WebDAV_Server_vCal.php - function check_auth() for example). Restart your Thunderbird in order to fix this issue.

Third issue is that Calendar connects correctly, but does not fully synchronise (does not display Events). This is fixed here: github.com/salesagility/SuiteCRM/issues/2094 . This fix was added to our hotfix branch and will be added to the master branch in the next release.

Hello community, I have similar problem trying to activate mi calendar with Office 365 and can dettect the following situation:

  • When trying to activate at online Office 365 Outlook, nothing syncs (task, meets, etc)
  • When trying to activate through desktop Outlook 2016 syncs ok but the following errors show:

Task “…” reported error (0x0004002B): Outlook cannot parse the property “TRIGGER”. The property is being ignored
Task “…” reportes error (0x0004001A): The VEVENT “…”, contains a property that references an underdeclared time zone with a TZID of “America/Argentina/Buenos_Aires”. The property is being treated as a floating time.

Also, the hour of the meetings syncs incorrect for a few hours at desktop Outlook (A meeting for 6 pm syncs for 3 pm).
I try through Android (iCalSync app) to sync and syncs ok the meetings but the same problem with the time.

Any suggestion?

I detect a bug with some specific timezones that dont have summer/winter time (all the year is the same time like Argentina).

That situation cause that when you select this kind of timezones, the script skips the generation of the groups DAYLIGHT and STANDAR at the ICS and this cause some incompatibilities problem with some calendars like Android (it syncs but with time problems) and Office 365 (dont sync at all, only keep the calendar empty).

I dont know how specifically to fix this, but a temporary fix that works for me was modify the file /modules/iCals/iCals.php at the function getTimeZoneString(); adding manually the code groups needed and “hidding” the conditions that generates the bug (pay attention that the -0300 value is the equivalent of your timezone, in my case GMT -3):

$ical_array[] = array(“TZOFFSETFROM”, “-0300”);
$ical_array[] = array(“TZOFFSETTO”, “-0300”);
$ical_array[] = array(“TZNAME”, “PDT”);
$ical_array[] = array(“DTSTART”, “19700101T020000”);
$ical_array[] = array(“END”, “DAYLIGHT”);
$ical_array[] = array(“BEGIN”, “STANDARD”);
$ical_array[] = array(“TZOFFSETFROM”, “-0300”);
$ical_array[] = array(“TZOFFSETTO”, “-0300”);
$ical_array[] = array(“TZNAME”, “PST”);
$ical_array[] = array(“DTSTART”, “19701101T020000”);
$ical_array[] = array(“END”, “STANDARD”);

if (array_key_exists(‘start’, $dstRange))
$dstOffset = ($dstRange[‘start’][‘offset’] / 60);
$startDate = new DateTime("@" . $dstRange[“start”][“ts”], $gmtTZ);
$startstamp = strtotime($timedate->asDb($startDate));
$ical_array[] = array(“BEGIN”, “DAYLIGHT”);
$ical_array[] = array(“TZOFFSETFROM”, $this->convertMinsToHoursAndMins($gmtOffset));
$ical_array[] = array(“TZOFFSETTO”, $this->convertMinsToHoursAndMins($dstOffset));
$ical_array[] = array(“DTSTART”, str_replace(“Z”, “”, $this->getUtcTime($startstamp)));
$ical_array[] = array(“END”, “DAYLIGHT”);

    if (array_key_exists('end', $dstRange))
        $gmtOffset = ($dstRange['end']['offset'] / 60);
        $endDate = new DateTime("@" . $dstRange["end"]["ts"], $gmtTZ);
        $endstamp = strtotime($timedate->asDb($endDate));
        $ical_array[] = array("BEGIN", "STANDARD");
        $ical_array[] = array("TZOFFSETFROM", $this->convertMinsToHoursAndMins($dstOffset));
        $ical_array[] = array("TZOFFSETTO", $this->convertMinsToHoursAndMins($gmtOffset));
        $ical_array[] = array("DTSTART", str_replace("Z", "", $this->getUtcTime($endstamp)));
        $ical_array[] = array("END", "STANDARD");


If someone can make a better fix can be great.
Hope to help someone else