|
From: Chris F. <cd...@fo...> - 2010-09-27 22:46:44
|
Hi, I think this is the key: element event: Schemas validity error : Element 'event': Missing child element(s). Expected is one of ( AlarmAudio, AlarmDisplay, AlarmEmail, AlarmProcedure, Attach, Attendee, CalendarScale, Categories, Class, Comment ). I means that you need to compare the XmlFormat data with the schema and see what is really missing. It is probably parsing the VCALENDAR data, and either missing some data, or the data is not there from the Akonadi source. I would search for the xml data in the logs, compare with the schema, and track it back from there. - Chris On Mon, Sep 27, 2010 at 08:26:50PM +0200, deloptes wrote: > Hi, > > here is the next challenge. Could you look below (and if necessary I can > send you the threads logs). > > I think this is a good progress, but still somehow unusable. Why is it > failing at xml transformation? > > The problem as I see it, below, is that the calendar is reporting also the > todos and the notes(vjournal). Can someone confirm? I didn't have time to > have a closer look, but wanted to put it rather for discussion. > What would be best to do here in our akonadi case? > > thanks and regards > > developer@lisa:~/kde-testdir$ osynctool --sync test2 > Synchronizing group "test2" > The previous synchronization was unclean. Slow-syncing > akonadi_opensync(19670) AkonadiSink::initialize: > akonadi_opensync(19670) SinkBase::wrapSink: > akonadi_opensync(19670) SinkBase::wrapSink: >> m_canConnect: true > akonadi_opensync(19670) SinkBase::wrapSink: >> m_canGetChanges: false > akonadi_opensync(19670) akonadi_initialize: ### "event" > akonadi_opensync(19670) DataSink::DataSink: Create obj: 0 > akonadi_opensync(19670) DataSink::initialize: initializing event > akonadi_opensync(19670) DataSink::initialize: TYPE 0 > akonadi_opensync(19670) SinkBase::wrapSink: > akonadi_opensync(19670) SinkBase::wrapSink: >> m_canConnect: false > akonadi_opensync(19670) SinkBase::wrapSink: >> m_canGetChanges: true > akonadi_opensync(19670) DataSink::initialize: >> NO hashtable for objtype: > event > akonadi_opensync(19670) akonadi_initialize: ### "contact" > akonadi_opensync(19670) DataSink::DataSink: Create obj: 1 > akonadi_opensync(19670) DataSink::initialize: initializing contact > akonadi_opensync(19670) DataSink::initialize: TYPE 1 > akonadi_opensync(19670) SinkBase::wrapSink: > akonadi_opensync(19670) SinkBase::wrapSink: >> m_canConnect: false > akonadi_opensync(19670) SinkBase::wrapSink: >> m_canGetChanges: true > akonadi_opensync(19670) DataSink::initialize: Has objformat vcard30 > akonadi_opensync(19670) DataSink::initialize: >> NO hashtable for objtype: > contact > Main sink of member 2 of type akonadi-sync just connected > event sink of member 2 of type akonadi-sync just connected > contact sink of member 2 of type akonadi-sync just connected > Main sink of member 1 of type evo2-sync just connected > event sink of member 1 of type evo2-sync just connected > contact sink of member 1 of type evo2-sync just connected > All clients connected or error > akonadi_opensync(19670) DataSink::getChanges: DataSink::getChanges() called > Received an entry 20100910T224822Z-11504-1010-1-2@lisa (xmlformat-event) > from member 1 (evo2-sync). Changetype ADDED > event sink of member 1 of type evo2-sync just sent all changes > Received an entry pas-id-4C8AB59300000000 (xmlformat-contact) from member 1 > (evo2-sync). Changetype ADDED > contact sink of member 1 of type evo2-sync just sent all changes > Main sink of member 1 of type evo2-sync just sent all changes > akonadi_opensync(19670) DataSink::getChanges: Fetched FullPayload > [akonadiserver] Database "akonadi" opened using driver "QMYSQL" > akonadi_opensync(19670) DataSink::slotItemsReceived: retrieved 2 items > akonadi_opensync(19670) DataSink::slotItemsReceived: "BEGIN:VCALENDAR > PRODID:-//K Desktop Environment//NONSGML libkcal 3.2//EN > VERSION:2.0 > BEGIN:VTODO > DTSTAMP:20100927T175235Z > ORGANIZER;CN="Deloptes":MAILTO:developer@lisa > CREATED:20100917T231809Z > UID:libkcal-1407423793.37 > LAST-MODIFIED:20100917T231809Z > SUMMARY:Finsh the pluging > PRIORITY:5 > DUE;VALUE=DATE:20100925 > PERCENT-COMPLETE:0 > END:VTODO > > END:VCALENDAR" > akonadi_opensync(19670) DataSink::reportChange: 5 > DATA: BEGIN:VCALENDAR > PRODID:-//K Desktop Environment//NONSGML libkcal 3.2//EN > VERSION:2.0 > BEGIN:VTODO > DTSTAMP:20100927T175235Z > ORGANIZER;CN="Deloptes":MAILTO:developer@lisa > CREATED:20100917T231809Z > UID:libkcal-1407423793.37 > LAST-MODIFIED:20100917T231809Z > SUMMARY:Finsh the pluging > PRIORITY:5 > DUE;VALUE=DATE:20100925 > PERCENT-COMPLETE:0 > END:VTODO > > END:VCALENDAR > ORIG: BEGIN:VCALENDAR > PRODID:-//K Desktop Environment//NONSGML libkcal 3.2//EN > VERSION:2.0 > BEGIN:VTODO > DTSTAMP:20100927T175235Z > ORGANIZER;CN="Deloptes":MAILTO:developer@lisa > CREATED:20100917T231809Z > UID:libkcal-1407423793.37 > LAST-MODIFIED:20100917T231809Z > SUMMARY:Finsh the pluging > PRIORITY:5 > DUE;VALUE=DATE:20100925 > PERCENT-COMPLETE:0 > END:VTODO > > END:VCALENDAR > akonadi_opensync(19670) DataSink::reportChange: changeid: 5 itemid: 5 > revision: 1 changetype: 1 hash: objtype: event objform: vevent20 sinkname: > event > akonadi_opensync(19670) DataSink::slotItemsReceived: "BEGIN:VCALENDAR > PRODID:-//K Desktop Environment//NONSGML libkcal 3.2//EN > VERSION:2.0 > BEGIN:VJOURNAL > DTSTAMP:20100927T175235Z > ORGANIZER;CN="Deloptes":MAILTO:developer@lisa > CREATED:20100919T021640Z > UID:libkcal-1785285018.544 > LAST-MODIFIED:20100919T021640Z > DESCRIPTION:asdfasdf > SUMMARY:test > DTSTART;TZID=Europe/Vienna:20100916T041600 > END:VJOURNAL > > END:VCALENDAR" > akonadi_opensync(19670) DataSink::reportChange: 6 > DATA: BEGIN:VCALENDAR > PRODID:-//K Desktop Environment//NONSGML libkcal 3.2//EN > VERSION:2.0 > BEGIN:VJOURNAL > DTSTAMP:20100927T175235Z > ORGANIZER;CN="Deloptes":MAILTO:developer@lisa > CREATED:20100919T021640Z > UID:libkcal-1785285018.544 > LAST-MODIFIED:20100919T021640Z > DESCRIPTION:asdfasdf > SUMMARY:test > DTSTART;TZID=Europe/Vienna:20100916T041600 > END:VJOURNAL > > END:VCALENDAR > ORIG: BEGIN:VCALENDAR > PRODID:-//K Desktop Environment//NONSGML libkcal 3.2//EN > VERSION:2.0 > BEGIN:VJOURNAL > DTSTAMP:20100927T175235Z > ORGANIZER;CN="Deloptes":MAILTO:developer@lisa > CREATED:20100919T021640Z > UID:libkcal-1785285018.544 > LAST-MODIFIED:20100919T021640Z > DESCRIPTION:asdfasdf > SUMMARY:test > DTSTART;TZID=Europe/Vienna:20100916T041600 > END:VJOURNAL > > END:VCALENDAR > akonadi_opensync(19670) DataSink::reportChange: changeid: 6 itemid: 6 > revision: 1 changetype: 1 hash: objtype: event objform: vevent20 sinkname: > event > akonadi_opensync(19670) DataSink::slotGetChangesFinished: got all changes.. > akonadi_opensync(19670) SinkBase::success: > akonadi_opensync(19670) SinkBase::success: > /home/yoki/opensync/libopensync/opensync/plugin/opensync_context.c:138:E:osync_context_report_success: > Assertion "context" failed > element event: Schemas validity error : Element 'event': Missing child > element(s). Expected is one of ( AlarmAudio, AlarmDisplay, AlarmEmail, > AlarmProcedure, Attach, Attendee, CalendarScale, Categories, Class, > Comment ). > ERROR: XMLFormat validation failed. > EXIT_ERROR: osync_converter_invoke: XMLFormat validation failed. > EXIT_ERROR: osync_format_env_convert: XMLFormat validation failed. > Main sink of member 2 of type akonadi-sync had an error: XMLFormat > validation failed. > EXIT_ERROR: _osync_engine_receive_change: XMLFormat validation failed. > element event: Schemas validity error : Element 'event': Missing child > element(s). Expected is one of ( AlarmAudio, AlarmDisplay, AlarmEmail, > AlarmProcedure, Attach, Attendee, CalendarScale, Categories, Class, > Comment ). > ERROR: XMLFormat validation failed. > EXIT_ERROR: osync_converter_invoke: XMLFormat validation failed. > EXIT_ERROR: osync_format_env_convert: XMLFormat validation failed. > Main sink of member 2 of type akonadi-sync had an error: XMLFormat > validation failed. > EXIT_ERROR: _osync_engine_receive_change: XMLFormat validation failed. > event sink of member 2 of type akonadi-sync just sent all changes > ERROR: Broken Pipe > ERROR: Broken Pipe > contact sink of member 2 of type akonadi-sync had an error: Broken Pipe > ERROR: Fewer sink_engines reported get_changes than connected > ERROR: Broken Pipe > Main sink of member 2 of type akonadi-sync had an error: Broken Pipe > ERROR: At least one object engine failed while getting changes. Aborting > ERROR: At least one object engine failed while getting changes. Aborting > The sync failed: At least one object engine failed while getting changes. > Aborting > ERROR: Engine aborting due to an error: At least one object engine failed > while getting changes. Aborting > ERROR: Trying to send to a queue thats not connected > ERROR: Broken Pipe > ERROR: Broken Pipe > event sink of member 2 of type akonadi-sync had an error: Broken Pipe > ERROR: Broken Pipe > contact sink of member 2 of type akonadi-sync had an error: Broken Pipe > ERROR: Broken Pipe > ERROR: Disconnect. > ERROR: Disconnect. > Main sink of member 2 of type akonadi-sync had an error: Disconnect. > event sink of member 1 of type evo2-sync just disconnected > ERROR: Fewer sink_engines disconnected than connected > contact sink of member 1 of type evo2-sync just disconnected > ERROR: Fewer sink_engines disconnected than connected > Main sink of member 1 of type evo2-sync just disconnected > All clients have disconnected > ERROR: error while synchronizing: NEXT ERROR: "Disconnect." > NEXT ERROR: "At least one object engine failed while getting changes. > Aborting" > NEXT ERROR: "Broken Pipe" > ROOT CAUSE: "Broken Pipe" > EXIT_ERROR: osync_engine_synchronize_and_block: Disconnect. > ERROR: Disconnect. > ERROR: Disconnect. > EXIT_ERROR: _osync_client_proxy_fin_handler: (null) > > > > ------------------------------------------------------------------------------ > Start uncovering the many advantages of virtual appliances > and start using them to simplify application deployment and > accelerate your shift to cloud computing. > http://p.sf.net/sfu/novell-sfdev2dev > _______________________________________________ > Opensync-devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/opensync-devel |
|
From: Emanoil K. <del...@ya...> - 2010-09-28 08:48:25
|
Hi,
--- On Tue, 9/28/10, Chris Frey <cd...@fo...> wrote:
>
> I think this is the key:
>
> element event: Schemas validity error : Element 'event':
> Missing child
> element(s). Expected is one of ( AlarmAudio, AlarmDisplay,
> AlarmEmail,
> AlarmProcedure, Attach, Attendee, CalendarScale,
> Categories, Class,
> Comment ).
>
I had a closer look and it seems that
DUE; is not accepted. I didn't check the xsd explicitly but it says it is not expected, so to me it looks like either KDE (akonadi) is producing a wrong entry or opensync needs some modification to accept this.
> "BEGIN:VCALENDAR
> > PRODID:-//K Desktop Environment//NONSGML libkcal
> 3.2//EN
> > VERSION:2.0
> > BEGIN:VTODO
> > DTSTAMP:20100927T175235Z
> > ORGANIZER;CN="Deloptes":MAILTO:developer@lisa
> > CREATED:20100917T231809Z
> > UID:libkcal-1407423793.37
> > LAST-MODIFIED:20100917T231809Z
> > SUMMARY:Finsh the pluging
> > PRIORITY:5
> > DUE;VALUE=DATE:20100925
> > PERCENT-COMPLETE:0
> > END:VTODO
Can someone suggest something on this subject, please.
regards
|
|
From: Chris F. <cd...@fo...> - 2010-09-28 09:12:46
|
On Mon, Sep 27, 2010 at 08:26:50PM +0200, deloptes wrote: > The problem as I see it, below, is that the calendar is reporting also the > todos and the notes(vjournal). Can someone confirm? I didn't have time to > have a closer look, but wanted to put it rather for discussion. > What would be best to do here in our akonadi case? On second thought, I think you're right here. You're syncing xmlformat-event types, but VTODO and VJOURNAL data appears to be coming from akonadi. Are you able to filter this data out at the akonadi level? If not, I suppose you'll have to search for BEGIN:VEVENT before passing it on to opensync. Sorry for the confusion. - Chris |
|
From: deloptes <del...@ya...> - 2010-09-28 17:27:38
|
Chris Frey wrote: > Hi, > > I think this is the key: > > element event: Schemas validity error : Element 'event': Missing child > element(s). Expected is one of ( AlarmAudio, AlarmDisplay, AlarmEmail, > AlarmProcedure, Attach, Attendee, CalendarScale, Categories, Class, > Comment ). > > I means that you need to compare the XmlFormat data with the schema > and see what is really missing. It is probably parsing the VCALENDAR > data, and either missing some data, or the data is not there from the > Akonadi source. > > I would search for the xml data in the logs, compare with the schema, > and track it back from there. > > - Chris > > I don't see any data in the logs. Which logs, where? I have the thread logs but there is no xml. Let us discuss a bit. I was not sure what would "get_changes" return for the Calendar type of Akonadi. It seems that all we see is coming from Calendar, so KDE is really keeping the entries in one Calendar +- Events (VCALENDAR) +- Notes (VJOURNAL) +- Todos (VTODO) Besides you can have Notes like in KDE3 Notes (VNOTE) (vnote11) I'm not sure how I have to solve this. May be it should be splitted in separate objects in the config Then we can use mimetype and save it into the config, when discovering. In the sync process we can make use of this mime-type to retrieve the proper collection from akonadi. Another option would be to hardcode the mimetypes. However I'm going to implement it most probably in the upcoming weekend. Until then I want to know what is expected so that it will work with the other plugins. regards |
|
From: Chris F. <cd...@fo...> - 2010-09-28 17:55:43
|
On Tue, Sep 28, 2010 at 07:27:14PM +0200, deloptes wrote: > I don't see any data in the logs. Which logs, where? I have the thread logs > but there is no xml. You may need to log it yourself. But before you do that, the multiple type issue needs to be fixed first. > Let us discuss a bit. > > I was not sure what would "get_changes" return for the Calendar type of > Akonadi. > It seems that all we see is coming from Calendar, so KDE is really keeping > the entries in one > Calendar > +- Events (VCALENDAR) > +- Notes (VJOURNAL) > +- Todos (VTODO) > > Besides you can have Notes like in KDE3 > Notes (VNOTE) (vnote11) > > I'm not sure how I have to solve this. > > May be it should be splitted in separate objects in the config I think that is true, since opensync handles each type separately. Each resource has a different objtype, so your plugin has to do the filtering if KDE doesn't allow for that. > Then we can use mimetype and save it into the config, when discovering. > > In the sync process we can make use of this mime-type to retrieve the proper > collection from akonadi. If you can tell akonadi "give me only VCALENDAR" then yes, that's the way to go. - Chris |
|
From: Emanoil K. <del...@ya...> - 2010-09-29 09:51:49
|
Daniel, could you please, give me your opinion on this subject. Or may be you know someone in the opensync team who can answer The problem is (briefly) if you define different types of resources in akonadi, these would be also discovered in the discover stage, but the calendar is a container for event, note (journal) and todo. I can discover them too, but at which level should I do the filtering and how should I design the plugin. The plugin (in it's original design by Volker Krause) retrieves all the items from an url i.e. akonadi:?collection=2 and this is reported for all the calendar sub entries. So if I try to retrieve the journal it would report also the rest. I don't want to take a design decisions on my own as I don't have much experience with opensync and that much time to code experiments. Thanks in advance --- On Tue, 9/28/10, Chris Frey <cd...@fo...> wrote: > From: Chris Frey <cd...@fo...> > Subject: Re: [Opensync-devel] akonadi-sync (discussion) > To: ope...@li... > Date: Tuesday, September 28, 2010, 7:55 PM > On Tue, Sep 28, 2010 at 07:27:14PM > +0200, deloptes wrote: > > I don't see any data in the logs. Which logs, where? I > have the thread logs > > but there is no xml. > > You may need to log it yourself. But before you do > that, the multiple > type issue needs to be fixed first. > > > > Let us discuss a bit. > > > > I was not sure what would "get_changes" return for the > Calendar type of > > Akonadi. > > It seems that all we see is coming from Calendar, so > KDE is really keeping > > the entries in one > > Calendar > > +- Events (VCALENDAR) > > +- Notes (VJOURNAL) > > +- Todos (VTODO) > > > > Besides you can have Notes like in KDE3 > > Notes (VNOTE) (vnote11) > > > > I'm not sure how I have to solve this. > > > > May be it should be splitted in separate objects in > the config > > I think that is true, since opensync handles each type > separately. > Each resource has a different objtype, so your plugin has > to do the > filtering if KDE doesn't allow for that. > > > > Then we can use mimetype and save it into the config, > when discovering. > > > > In the sync process we can make use of this mime-type > to retrieve the proper > > collection from akonadi. > > If you can tell akonadi "give me only VCALENDAR" then yes, > that's the > way to go. > > - Chris > > > ------------------------------------------------------------------------------ > Start uncovering the many advantages of virtual appliances > and start using them to simplify application deployment > and > accelerate your shift to cloud computing. > http://p.sf.net/sfu/novell-sfdev2dev > _______________________________________________ > Opensync-devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/opensync-devel > |
|
From: deloptes <del...@ya...> - 2010-09-30 21:56:52
|
Chris Frey wrote:
> You may need to log it yourself. But before you do that, the multiple
> type issue needs to be fixed first.
I think I've solved the multiple types issue, by rewriting the discover
function, I found a possible bug in libopensync, but I don't have time to
look in it. Anyway, I'm still missing something.
Still few things to do to get the proper format from akonadi to be passed to
opensync.
<?xml version="1.0"?>
<config version="1.0">
<Resources>
<Resource>
<Enabled>1</Enabled>
<Formats>
<Format>
<Name>vevent20</Name>
</Format>
</Formats>
<Name>Birthdays and Anniversaries</Name>
<MIME>application/x-vnd.akonadi.calendar.event</MIME>
<ObjType>event</ObjType>
<Url>akonadi:?collection=11</Url>
</Resource>
<Resource>
<Enabled>1</Enabled>
<Formats>
<Format>
<Name>vtodo10</Name>
</Format>
</Formats>
<Name>Calendar</Name>
<MIME>application/x-vnd.akonadi.calendar.todo</MIME>
<ObjType>todo</ObjType>
<Url>akonadi:?collection=8</Url>
</Resource>
<Resource>
<Enabled>1</Enabled>
<Formats>
<Format>
<Name>vjournal</Name>
</Format>
</Formats>
<Name>Calendar</Name>
<MIME>application/x-vnd.akonadi.calendar.journal</MIME>
<ObjType>journal</ObjType>
<Url>akonadi:?collection=8</Url>
</Resource>
<Resource>
<Enabled>1</Enabled>
<Formats>
<Format>
<Name>vcard30</Name>
</Format>
</Formats>
<Name>Address Book</Name>
<MIME>text/directory</MIME>
<ObjType>contact</ObjType>
<Url>akonadi:?collection=9</Url>
</Resource>
<Resource>
<Enabled>1</Enabled>
<Formats>
<Format>
<Name>vnote11</Name>
</Format>
</Formats>
<Name>akonadi_notes_resource_1</Name>
<MIME>application/x-vnd.kde.notes</MIME>
<ObjType>note</ObjType>
<Url>akonadi:?collection=10</Url>
</Resource>
</Resources>
</config>
|
|
From: deloptes <del...@ya...> - 2010-10-02 00:15:23
|
Hi,
another good progress, but still not working properly.
I was able to partially sync between kontact and evolution.
TODO:
- distinct objtypes for Calendar entries
- get changes into akonadi (create, modify, delete)
- There will be a lot to clean up and optimize.
---- output ---
Synchronization Forecast Summary:
ObjType: event
Member 2: Adding(1) Modifying(0) Deleting(0)
Member 1: Adding(2) Modifying(0) Deleting(0)
ObjType: contact
Member 2: Adding(2) Modifying(0) Deleting(0)
Member 1: Adding(1) Modifying(0) Deleting(0)
Do you want to continue the synchronization? (N/y):
|
|
From: deloptes <del...@ya...> - 2010-10-02 10:49:30
|
Hi,
I need some support to debug this next step. 'm afraid I'm not familiar with
the logic of opensync and unfortunately I don't have that much time to dig
around. How do I use irc. I am afraid I've forgotten. I haven't used this
for years.
ERROR: Can't demerge data with 0 size.
EXIT_ERROR: _osync_obj_engine_clone_and_demerge_change: Can't demerge data
with 0 size.
EXIT_ERROR: _osync_obj_engine_mapping_find: Can't demerge data with 0 size.
EXIT_ERROR: osync_obj_engine_map_changes: Can't demerge data with 0 size.
ERROR: At least one object engine failed while mapping changes. Aborting
ERROR: At least one object engine failed while mapping changes. Aborting
The full log
osynctool --sync test2
Synchronizing group "test2"
The previous synchronization was unclean. Slow-syncing
akonadi_opensync(11995) AkonadiSink::initialize:
Connecting to deprecated signal
QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
akonadi_opensync(11995) SinkBase::wrapSink:
akonadi_opensync(11995) SinkBase::wrapSink: >> m_canConnect: true
akonadi_opensync(11995) SinkBase::wrapSink: >> m_canDisconnect: false
akonadi_opensync(11995) SinkBase::wrapSink: >> m_canCommit: false
akonadi_opensync(11995) SinkBase::wrapSink: >> m_canGetChanges: false
akonadi_opensync(11995) SinkBase::wrapSink: >> m_canWrite: true
akonadi_opensync(11995) SinkBase::wrapSink: >> m_canCommitAll: false
akonadi_opensync(11995) SinkBase::wrapSink: >> m_canRead: true
akonadi_opensync(11995) SinkBase::wrapSink: >> m_canSyncDone: false
akonadi_opensync(11995) akonadi_initialize: ### "contact"
akonadi_opensync(11995) DataSink::DataSink: Create obj: 1
akonadi_opensync(11995) DataSink::initialize: initializing contact
akonadi_opensync(11995) DataSink::initialize: TYPE 1
akonadi_opensync(11995) DataSink::initialize: Has objformat vcard30
akonadi_opensync(11995) DataSink::initialize: >> NO hashtable for objtype:
contact
akonadi_opensync(11995) SinkBase::wrapSink:
akonadi_opensync(11995) SinkBase::wrapSink: >> m_canConnect: false
akonadi_opensync(11995) SinkBase::wrapSink: >> m_canDisconnect: false
akonadi_opensync(11995) SinkBase::wrapSink: >> m_canCommit: true
akonadi_opensync(11995) SinkBase::wrapSink: >> m_canGetChanges: true
akonadi_opensync(11995) SinkBase::wrapSink: >> m_canWrite: false
akonadi_opensync(11995) SinkBase::wrapSink: >> m_canCommitAll: true
akonadi_opensync(11995) SinkBase::wrapSink: >> m_canRead: false
akonadi_opensync(11995) SinkBase::wrapSink: >> m_canSyncDone: true
akonadi_opensync(11995) AkonadiSink::connect:
Main sink of member 2 of type akonadi-sync just connected
contact sink of member 2 of type akonadi-sync just connected
Main sink of member 1 of type evo2-sync just connected
contact sink of member 1 of type evo2-sync just connected
All clients connected or error
akonadi_opensync(11995) DataSink::getChanges: DataSink::getChanges() called
akonadi_opensync(11995) DataSink::getChanges: we're in the middle of
slow-syncing...
Received an entry pas-id-4CA68A2100000000 (xmlformat-contact) from member 1
(evo2-sync). Changetype ADDED
Received an entry pas-id-4CA6995800000000 (xmlformat-contact) from member 1
(evo2-sync). Changetype ADDED
Received an entry pas-id-4CA696B800000000 (xmlformat-contact) from member 1
(evo2-sync). Changetype ADDED
Received an entry pas-id-4CA6752900000000 (xmlformat-contact) from member 1
(evo2-sync). Changetype ADDED
akonadi_opensync(11995) DataSink::getChanges: Fetched FullPayload
Received an entry pas-id-4C8AB59300000000 (xmlformat-contact) from member 1
(evo2-sync). Changetype ADDED
contact sink of member 1 of type evo2-sync just sent all changes
Main sink of member 1 of type evo2-sync just sent all changes
[akonadiserver] Database "akonadi" opened using driver "QMYSQL"
[akonadiserver] posting retrieval request for item 11 there are 1 queues
and 0 items in mine
[akonadiserver] processing retrieval request for item 11 parts: ("RFC822")
of resource: "akonadi_kabc_resource_1"
[akonadiserver] checking if request for item 11 has been processed...
[akonadiserver] request for item 11 still pending - waiting
[/usr/bin/akonadi_kabc_resource] akonadi_kabc_resource_1(2649): No addressee
with uid ""
[akonadiserver] continuing
[akonadiserver] checking if request for item 11 has been processed...
[akonadiserver] request for item 11 processed, error: "Resource was unable
to deliver item"
[akonadiserver] ItemRetrieverException : Resource was unable to deliver
item
[akonadiserver] posting retrieval request for item 12 there are 1 queues
and 0 items in mine
[akonadiserver] processing retrieval request for item 12 parts: ("RFC822")
of resource: "akonadi_kabc_resource_1"
[akonadiserver] checking if request for item 12 has been processed...
[akonadiserver] request for item 12 still pending - waiting
[/usr/bin/akonadi_kabc_resource] akonadi_kabc_resource_1(2649): No addressee
with uid ""
[akonadiserver] continuing
[akonadiserver] checking if request for item 12 has been processed...
[akonadiserver] request for item 12 processed, error: "Resource was unable
to deliver item"
[akonadiserver] ItemRetrieverException : Resource was unable to deliver
item
[akonadiserver] posting retrieval request for item 13 there are 1 queues
and 0 items in mine
[akonadiserver] processing retrieval request for item 13 parts: ("RFC822")
of resource: "akonadi_kabc_resource_1"
[akonadiserver] checking if request for item 13 has been processed...
[akonadiserver] request for item 13 still pending - waiting
[/usr/bin/akonadi_kabc_resource] akonadi_kabc_resource_1(2649): No addressee
with uid ""
[akonadiserver] continuing
[akonadiserver] checking if request for item 13 has been processed...
[akonadiserver] request for item 13 processed, error: "Resource was unable
to deliver item"
[akonadiserver] ItemRetrieverException : Resource was unable to deliver
item
akonadi_opensync(11995)/akonadiserializer (addressee)
Akonadi::SerializerPluginAddressee::deserialize: Empty addressee object!
akonadi_opensync(11995)/akonadiserializer (addressee)
Akonadi::SerializerPluginAddressee::deserialize: Empty addressee object!
akonadi_opensync(11995)/akonadiserializer (addressee)
Akonadi::SerializerPluginAddressee::deserialize: Empty addressee object!
akonadi_opensync(11995) DataSink::slotItemsReceived: retrieved 5 items
akonadi_opensync(11995) DataSink::slotItemsReceived: Id: 7
akonadi_opensync(11995) DataSink::slotItemsReceived: Mime: "text/directory"
akonadi_opensync(11995) DataSink::slotItemsReceived: availablePayloadParts:
QSet()
akonadi_opensync(11995) DataSink::slotItemsReceived: storageCollectionId: 9
akonadi_opensync(11995) DataSink::slotItemsReceived: url:
KUrl("akonadi:?item=7")
akonadi_opensync(11995) DataSink::reportChange: 7
akonadi_opensync(11995) DataSink::reportChange: item.payloadData().data():
BEGIN:VCARD
ADR;TYPE=home;TYPE=pref:1234;;test;qwer;asdf;9876;Afghanistan
BDAY:2010-09-10T00:00:00
EMAIL:developer@lisa
FN:Test Contact
N:Contact;Test;;;
NAME:Test Contact
NICKNAME:test
TEL;TYPE=HOME:012341234
TEL;TYPE=WORK:098765432
TEL;TYPE=CELL:098123456
UID:eTA8MHcVRL
URL:www
VERSION:3.0
X-KADDRESSBOOK-X-SpousesName:testina
END:VCARD
akonadi_opensync(11995) DataSink::reportChange: changeid: 7 ; itemid: 7 ;
revision: 1 ; changetype: 1 ; hash: ; objtype: contact ; objform:
vcard30 ; sinkname: contact
akonadi_opensync(11995) DataSink::slotItemsReceived: Id: 10
akonadi_opensync(11995) DataSink::slotItemsReceived: Mime: "text/directory"
akonadi_opensync(11995) DataSink::slotItemsReceived: availablePayloadParts:
QSet()
akonadi_opensync(11995) DataSink::slotItemsReceived: storageCollectionId: 9
akonadi_opensync(11995) DataSink::slotItemsReceived: url:
KUrl("akonadi:?item=10")
akonadi_opensync(11995) DataSink::reportChange: 10
akonadi_opensync(11995) DataSink::reportChange: item.payloadData().data():
BEGIN:VCARD
FN:test2 contact
N:contact;test2;;;
NAME:test2 contact
NICKNAME:test2
UID:MQ2WVhPXyw
VERSION:3.0
END:VCARD
akonadi_opensync(11995) DataSink::reportChange: changeid: 10 ; itemid: 10 ;
revision: 1 ; changetype: 1 ; hash: ; objtype: contact ; objform:
vcard30 ; sinkname: contact
akonadi_opensync(11995) DataSink::slotItemsReceived: Id: 11
akonadi_opensync(11995) DataSink::slotItemsReceived: Mime: "text/directory"
akonadi_opensync(11995) DataSink::slotItemsReceived: availablePayloadParts:
QSet()
akonadi_opensync(11995) DataSink::slotItemsReceived: storageCollectionId: 9
akonadi_opensync(11995) DataSink::slotItemsReceived: url:
KUrl("akonadi:?item=11")
akonadi_opensync(11995) DataSink::reportChange: 11
akonadi_opensync(11995) DataSink::reportChange: item.payloadData().data():
akonadi_opensync(11995) DataSink::reportChange: changeid: 11 ; itemid: 11 ;
revision: 0 ; changetype: 1 ; hash: ; objtype: contact ; objform:
vcard30 ; sinkname: contact
akonadi_opensync(11995) DataSink::slotItemsReceived: Id: 12
akonadi_opensync(11995) DataSink::slotItemsReceived: Mime: "text/directory"
akonadi_opensync(11995) DataSink::slotItemsReceived: availablePayloadParts:
QSet()
akonadi_opensync(11995) DataSink::slotItemsReceived: storageCollectionId: 9
akonadi_opensync(11995) DataSink::slotItemsReceived: url:
KUrl("akonadi:?item=12")
akonadi_opensync(11995) DataSink::reportChange: 12
akonadi_opensync(11995) DataSink::reportChange: item.payloadData().data():
akonadi_opensync(11995) DataSink::reportChange: changeid: 12 ; itemid: 12 ;
revision: 0 ; changetype: 1 ; hash: ; objtype: contact ; objform:
vcard30 ; sinkname: contact
akonadi_opensync(11995) DataSink::slotItemsReceived: Id: 13
akonadi_opensync(11995) DataSink::slotItemsReceived: Mime: "text/directory"
akonadi_opensync(11995) DataSink::slotItemsReceived: availablePayloadParts:
QSet()
akonadi_opensync(11995) DataSink::slotItemsReceived: storageCollectionId: 9
akonadi_opensync(11995) DataSink::slotItemsReceived: url:
KUrl("akonadi:?item=13")
akonadi_opensync(11995) DataSink::reportChange: 13
akonadi_opensync(11995) DataSink::reportChange: item.payloadData().data():
akonadi_opensync(11995) DataSink::reportChange: changeid: 13 ; itemid: 13 ;
revision: 0 ; changetype: 1 ; hash: ; objtype: contact ; objform:
vcard30 ; sinkname: contact
Received an entry 7 (xmlformat-contact) from member 2 (akonadi-sync).
Changetype ADDED
akonadi_opensync(11995) DataSink::slotGetChangesFinished: got all changes..
akonadi_opensync(11995) SinkBase::success:
Received an entry 10 (xmlformat-contact) from member 2 (akonadi-sync).
Changetype ADDED
Received an entry 11 (xmlformat-contact) from member 2 (akonadi-sync).
Changetype ADDED
Received an entry 12 (xmlformat-contact) from member 2 (akonadi-sync).
Changetype ADDED
Received an entry 13 (xmlformat-contact) from member 2 (akonadi-sync).
Changetype ADDED
contact sink of member 2 of type akonadi-sync just sent all changes
Main sink of member 2 of type akonadi-sync just sent all changes
All clients sent changes or error
ERROR: Can't demerge data with 0 size.
EXIT_ERROR: _osync_obj_engine_clone_and_demerge_change: Can't demerge data
with 0 size.
EXIT_ERROR: _osync_obj_engine_mapping_find: Can't demerge data with 0 size.
EXIT_ERROR: osync_obj_engine_map_changes: Can't demerge data with 0 size.
ERROR: At least one object engine failed while mapping changes. Aborting
ERROR: At least one object engine failed while mapping changes. Aborting
The sync failed: At least one object engine failed while mapping changes.
Aborting
ERROR: Engine aborting due to an error: At least one object engine failed
while mapping changes. Aborting
contact sink of member 1 of type evo2-sync just disconnected
Main sink of member 1 of type evo2-sync just disconnected
contact sink of member 2 of type akonadi-sync just disconnected
Main sink of member 2 of type akonadi-sync just disconnected
All clients have disconnected
ERROR: error while synchronizing: NEXT ERROR: "At least one object engine
failed while mapping changes. Aborting"
ROOT CAUSE: "Can't demerge data with 0 size."
EXIT_ERROR: osync_engine_synchronize_and_block: At least one object engine
failed while mapping changes. Aborting
akonadi_opensync(11995) akonadi_finalize:
EXIT_ERROR: osynctool_synchronize: At least one object engine failed while
mapping changes. Aborting
Error Summary:
NEXT ERROR: "At least one object engine failed while mapping changes.
Aborting"
ROOT CAUSE: "Can't demerge data with 0 size."
|
|
From: Chris F. <cd...@fo...> - 2010-10-02 16:32:12
|
On Sat, Oct 02, 2010 at 12:49:06PM +0200, deloptes wrote: > Hi, > > I need some support to debug this next step. 'm afraid I'm not familiar with > the logic of opensync and unfortunately I don't have that much time to dig > around. How do I use irc. I am afraid I've forgotten. I haven't used this > for years. I won't be available on IRC much this weekend. Not sure about anyone else. :-) > ERROR: Can't demerge data with 0 size. > EXIT_ERROR: _osync_obj_engine_clone_and_demerge_change: Can't demerge data > with 0 size. > EXIT_ERROR: _osync_obj_engine_mapping_find: Can't demerge data with 0 size. > EXIT_ERROR: osync_obj_engine_map_changes: Can't demerge data with 0 size. > ERROR: At least one object engine failed while mapping changes. Aborting > ERROR: At least one object engine failed while mapping changes. Aborting This looks like you have changes with no data? At one point, your log says: > akonadi_opensync(11995) DataSink::reportChange: item.payloadData().data(): > BEGIN:VCARD > FN:test2 contact > N:contact;test2;;; > NAME:test2 contact > NICKNAME:test2 > UID:MQ2WVhPXyw > VERSION:3.0 > END:VCARD > akonadi_opensync(11995) DataSink::reportChange: changeid: 10 ; itemid: 10 ; > revision: 1 ; changetype: 1 ; hash: ; objtype: contact ; objform: > vcard30 ; sinkname: contact And later it says: > akonadi_opensync(11995) DataSink::reportChange: item.payloadData().data(): > akonadi_opensync(11995) DataSink::reportChange: changeid: 11 ; itemid: 11 ; > revision: 0 ; changetype: 1 ; hash: ; objtype: contact ; objform: > vcard30 ; sinkname: contact Could it be that there are items with no data? - Chris |
|
From: deloptes <del...@ya...> - 2010-10-02 21:03:12
|
Chris Frey wrote: > Could it be that there are items with no data? unfortunately yes. this is the challenge at the moment. I this I know where it is coming from, but for today I've fixed some other issues in updating hash table when deleting items on both sides and now I can sync from kaddress book to evolution but not vice versa. I think it's format or other kind of issue, so that kde can not create address book item. I think I need once more the details explained on how the syncengine is dealing with data and formats. I think I need to set the format to the data somewhere. multiple calendar issue is not solved and some other minor things too regards |
|
From: deloptes <del...@ya...> - 2010-10-04 21:23:08
|
Hi, again, I'm pleased to announce a version (Revision 6142) that is basically working (I tested it with file-sync and with evolution) I'm looking forward to try it with syncml regards |
|
From: Chris F. <cd...@fo...> - 2010-10-04 21:34:37
|
On Mon, Oct 04, 2010 at 11:22:42PM +0200, deloptes wrote: > Hi, again, > > I'm pleased to announce a version (Revision 6142) that is basically working > (I tested it with file-sync and with evolution) Great news! I so far haven't had the time to setup an akonadi system here to test with, but I'm sure there are Akonadi fans out there who can help test. :-) - Chris |
|
From: Patrick O. <pat...@gm...> - 2010-10-05 06:24:19
|
On Mon, 2010-10-04 at 23:22 +0200, deloptes wrote: > I'm pleased to announce a version (Revision 6142) that is basically working > (I tested it with file-sync and with evolution) Does translation between Evolution vCard flavor (X-EVOLUTION-* extensions) and KDE flavor (X-something, don't have it at hand) work? -- Bye, Patrick Ohly -- Pat...@gm... http://www.estamos.de/ |
|
From: Michael B. <mb...@de...> - 2010-10-05 13:41:21
|
Hi, On Mon, Oct 04, 2010 at 11:22:42PM +0200, deloptes wrote: > I'm pleased to announce a version (Revision 6142) that is basically working > (I tested it with file-sync and with evolution) Great work! Michael |
|
From: deloptes <del...@ya...> - 2010-10-05 06:35:36
|
Patrick Ohly wrote: > On Mon, 2010-10-04 at 23:22 +0200, deloptes wrote: >> I'm pleased to announce a version (Revision 6142) that is basically >> working (I tested it with file-sync and with evolution) > > Does translation between Evolution vCard flavor (X-EVOLUTION-* > extensions) and KDE flavor (X-something, don't have it at hand) work? > I think it worked for the few items I've prepared for testing. I need to fix few things in discover/configure in the next few days, but I'm optimistic. regards |
|
From: Emanoil K. <del...@ya...> - 2010-10-11 12:54:58
|
--- On Tue, 10/5/10, deloptes <del...@ya...> wrote:
> > Does translation between Evolution vCard flavor
> (X-EVOLUTION-*
> > extensions) and KDE flavor (X-something, don't have it
> at hand) work?
> >
>
> I think it worked for the few items I've prepared for
> testing.
The problem is in evo2-sync not using the correct UID to manage the entries. I filed a bug, but I'm not sure if I reported it here
regards
|
|
From: deloptes <del...@ya...> - 2010-10-05 23:51:35
|
Chris Frey wrote: > Great news! I so far haven't had the time to setup an akonadi system > here to test with, but I'm sure there are Akonadi fans out there who > can help test. :-) Personal thanks for your support and guiding. I will need to have a look into configure/discover/initialize. I am afraid I've misunderstood what it is doing exactly at that time. I need confirmation on the scenario to save time on reading and looking into the documentation or other code. What I did not understand is that the library is taking action on configure (running with --config option) and that it keeps somewhere track of what is supported/enabled, so I think the right flow would be 1 --configure (initial) 2 --discover 3 --configure 4 --sync in 1 you start with the default config (providing information on what is supported by the plugin and announcing it to the library in 2 you discover supported features (means verify the opposite side supports this too). in 3 you set configuration on what was already configured i.e. you know that akonadi definitely supports events/contacts etc and you can choose what you would like to use in 4 you initiate the sync process for the enabled ressources Well, if those assumptions are true, then the plugin is doing some wired things :-). I'm sorry for this. I need a bit of assistance here. I'm moving to the next step to do the calendar sync with its components. The challenge I am facing now is that if I enable calendar it enables also "birthdays & anniversaries" ressource which appears as second ressource and overwrites the url of the previously discovered ressource in the config. So I am back to the point how to manage multiple akonadi collections from the same type. I think I need to introduce a new function for creating of ressource and putting into the config. The need is obvious. In default configuration you can not put something you don't know. The better approach however is to drop the <Url>default</Url> property from the config and let the plugin manage the collections itself. I will introducing mimetype to the config and filter based on mimetype through the collection and let the plugin manage the rest. The name would be then a generic one like "Contacts" and will be not overwritten in the discover step 2 and step 3 will be optional. So summing up in 1 you can define which types of objects you are interested in. in 2 you will discover what types akonadi supports and this will be written in the config. Here I will rewrite the discover function to map objType to mimeType in 3 you will be able to select what objects you want to sync in the actual sync the plugin will find the collection based on mimetype and get the desired item to do the change. I will need also support for few error cases and reporting to the library, also what kind of actions can be taken on failure (hashtable actions or what?) many thanks and regards |
|
From: deloptes <del...@ya...> - 2010-10-10 21:59:17
|
deloptes wrote: > I had a closer look into the discover funtion and I think it can do much > more then mapping event obj and contact. So I took advantage to add support for multiple collection. The thing is that I have to run --discover after each --configure and I am not sure if it is intended to work like this. I think the discover should check if the engine supports the formats at the opposite end, which I want to implement next, to avoid the second run of discover. The action plan for the sync is for what I believe that is rational and pragmatic as following: 1. --configure (optional, ATM mandatory) 2. --discover (mandatory) 3. --configure (enable disable ressources) 4. -- sync So this is my goal, next A. check for ressources and report syncs only if format is supported by the other member(s) in the discover phase B. Work the event/note/todo sync out C. Check why todo is reporting XML validation error. My question is why this is causing a problem in the sync BEGIN:VCALENDAR PRODID:-//K Desktop Environment//NONSGML libkcal 4.3//EN VERSION:1.0 BEGIN:VTODO DUE:20101201T000000 DCREATED:20100917T231809Z UID:libkcal-1407423793.37 SEQUENCE:5 LAST-MODIFIED:20101010T215459Z X-ORGANIZER:MAILTO:developer@lisa SUMMARY:Finish the pluging STATUS:NEEDS_ACTION PRIORITY:5 END:VTODO END:VCALENDAR anyway, I'll look forward to understand how calendars are to be handled regards |