I'm trying to use google ical feed to import some events. But every time I try to run it I get

The component with UID *** is invalid because it has no SUMMARY (nodes require a title).

Here is the ical feed

BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:***
X-WR-TIMEZONE:America/Denver
BEGIN:VFREEBUSY
DTSTART:20150407T130000Z
DTEND:20150407T150000Z
DTSTAMP:20150407T081357Z
UID:***
ATTENDEE;X-NUM-GUESTS=0:mailto:***
SUMMARY:Busy
END:VFREEBUSY
BEGIN:VFREEBUSY
DTSTART:20150318T160000Z
DTEND:20150318T170000Z
DTSTAMP:20150407T081357Z
UID:***
ATTENDEE;X-NUM-GUESTS=0:mailto:***
SUMMARY:Busy
END:VFREEBUSY
BEGIN:VFREEBUSY
DTSTART:20150320T210000Z
DTEND:20150320T220000Z
DTSTAMP:20150407T081357Z
UID:***
ATTENDEE;X-NUM-GUESTS=0:mailto:***
SUMMARY:Busy
END:VFREEBUSY
BEGIN:VFREEBUSY
DTSTART:20150318T223000Z
DTEND:20150318T233000Z
DTSTAMP:20150407T081357Z
UID:***
ATTENDEE;X-NUM-GUESTS=0:mailto:***
SUMMARY:Busy
END:VFREEBUSY
BEGIN:VFREEBUSY
DTSTART:20150317T150000Z
DTEND:20150317T160000Z
DTSTAMP:20150407T081357Z
UID:***
ATTENDEE;X-NUM-GUESTS=0:mailto:***
SUMMARY:Busy
END:VFREEBUSY

Comments

chrislabeard’s picture

Title: NO SUMMARy » NO SUMMARY
coredumperror’s picture

Hmmm, I've never tested Date iCal with FREEBUSY elements before, so that's probably the issue. But since you provided the iCal feed, I can easily do some testing to see if this is a bug.

However, I'll also need a screenshot of your feed importer's Node Processor Mapping page. It's possible that you've misconfigured it.

coredumperror’s picture

I found the problem. The iCal spec for VFREEBUSY components doesn't actually allow them to have SUMMARY properties. That is what's preventing iCalcreator, the library that Date iCal uses to parse iCal feeds, from seeing your SUMMARY fields.

I'm currently writing up a patch to Date iCal that will make it possible to import VFREEBUSY components. But the only real way to do it is to make it fall back on the COMMENT property when it can't find SUMMARY. So you'll need to convince google calendar to include a COMMENT in each VFREEBUSY.

If you can't, I'm afraid Date iCal won't work for you. Because this is a limitation in the iCalcreator library, combined with google generating out-of-spec VFREEBUSY components, Date iCal can't really do anything besides trying to hack around it by using COMMENT.

  • coredumperror committed 43202cf on 7.x-3.x
    Issue #2466565: Added a workaround to make VFREEBUSY componenets...
coredumperror’s picture

Alright, if you update to the newest Date iCal dev build, you'll be able to import VFREEBUSY components which have a COMMENT property.

chrislabeard’s picture

Finally got back around to this.

Would it be possible to ignore VFREEBUSY events completely on import. My client is going to have private events(VFREEBUSY) that will become public events eventually.

Thanks for your help!

coredumperror’s picture

To ignore all VFREEBUSY components in the iCal feeds you import, implement this hook in a custom module:

function MODULENAME_date_ical_import_vcalendar_alter(&$calendar, $context) {
  while ($calendar->deleteComponent('vfreebusy')) {
    continue;
  }
}

Replace MODULENAME with the name of the module in which you are implementing this hook. That will delete all the VFREEBUSY components from the calendar before it gets sent through the import process.

John Franklin’s picture

Status: Active » Fixed

Marking fixed. Please reopen if the solution didn't work for you.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.