On Fri, 2015-06-19 at 00:02 +0100, Graham Cobb wrote:
I have been trying to track down a problem that occurs when syncing
Exchange calendar with local files. I am ending up with a few events
with missing DTSTART (which is invalid, of course).
It looks as though activesyncd is providing a valid VEVENT to
syncevolution: [I have removed ATTENDEE and PARTICIPANT lines and
modified my email address]
I believe that is a valid VEVENT, although note that it has neither
SUMMARY: nor DESCRIPTION: line. [The UID has wrapped in the email but is
really formatted correctly]
You are right, the event is valid. However, the SUMMARY fields was
configured as "mandatory" and that is causing this error, followed by an
abort of the parsing:
class="error">parseMimeDir: missing 1 of 1 mandatory
That DTSTART and DTEND then never gets parsed is a side effect of giving
up the parsing.
I inherited this "SUMMARY is mandatory" from the example configs in
libsynthesis; not sure what the rationale was at the time. Perhaps the
field is mandatory in vCalendar 1.0 (I only checked 2.0 today)
As you noted, a fake summary gets synthesized if the field is missing,
probably because it is safer this way. So there is no need to declare
the field as "mandatory", because setting it to non-empty before
encoding will ensure that it gets generated when sending (should that be
So the fix is to remove mandatory="1" and adapt the total counts in
11calendar-profile.xml for SUMMARY. You can do that locally by copying
the attached modified file to $HOME/.config/syncevolution-xml/datatypes
I'm not sure yet when I'll do another bug fix release.
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.