|
From: Chris F. <cd...@fo...> - 2010-07-05 20:29:40
|
On Mon, Jun 28, 2010 at 05:09:02PM -0400, Chris Frey wrote:
> Hi,
>
> I'm experimenting with syncing using the evo2 plugin and the devel opensync,
> and I get the following error:
>
> Main sink of member 2 of type evo2-sync had an error: XMLFormat validation failed.
> EXIT_ERROR: _osync_engine_receive_change: XMLFormat validation failed.
> element LastModified: Schemas validity error : Element 'LastModified': This element is not expected. Expected is one of ( DateEnd, DateStarted ).
> ERROR: XMLFormat validation failed.
> EXIT_ERROR: osync_converter_invoke: XMLFormat validation failed.
> EXIT_ERROR: osync_format_env_convert: XMLFormat validation failed.
In my testing, I've found that if I delete things in Evolution, not all
the records in the corresponding calendar.ics files are removed, but instead
get truncated to some short ICal format without a DTSTART.
If I want to "reset" the sync, by deleting the opensync group and starting
the configuration over, deleting everything in Evolution, in order to
do a sync from the Blackberry to Evolution, the evo2-sync plugin picks
these items up during its slow sync mode. And the XML validation
balks.
It is my understanding that all VEVENT objects must have a DTSTART in them.
Is this correct? If so, then the following patch to the evo2-sync plugin
should fix this issue.
Thanks,
- Chris
--- a/src/evolution2_ecal.c
+++ b/src/evolution2_ecal.c
@@ -250,7 +250,7 @@ static void evo2_ecal_get_changes(OSyncObjTypeSink *sink, OSyncPluginInfo *info,
}
} else {
osync_trace(TRACE_INTERNAL, "slow_sync for %s", evo_cal->objtype);
- if (!e_cal_get_object_list_as_comp (evo_cal->calendar, "(contains? \"any\" \"\")", &changes, &gerror)) {
+ if (!e_cal_get_object_list_as_comp (evo_cal->calendar, "(has-start?)", &changes, &gerror)) {
osync_error_set(&error, OSYNC_ERROR_GENERIC, "Failed to get %s changes: %s", evo_cal->objtype, gerror ? gerror->message : "None");
goto error;
}
|