You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
(9) |
Apr
(84) |
May
(18) |
Jun
(12) |
Jul
(6) |
Aug
(7) |
Sep
(10) |
Oct
(31) |
Nov
(59) |
Dec
(14) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(53) |
Feb
(15) |
Mar
(43) |
Apr
(40) |
May
(63) |
Jun
(142) |
Jul
(54) |
Aug
(31) |
Sep
(30) |
Oct
(39) |
Nov
(36) |
Dec
(64) |
| 2007 |
Jan
(128) |
Feb
(261) |
Mar
(156) |
Apr
(127) |
May
(76) |
Jun
(131) |
Jul
(83) |
Aug
(124) |
Sep
(83) |
Oct
(88) |
Nov
(180) |
Dec
(90) |
| 2008 |
Jan
(86) |
Feb
(93) |
Mar
(117) |
Apr
(104) |
May
(65) |
Jun
(35) |
Jul
(38) |
Aug
(111) |
Sep
(58) |
Oct
(33) |
Nov
(102) |
Dec
(194) |
| 2009 |
Jan
(193) |
Feb
(74) |
Mar
(111) |
Apr
(77) |
May
(31) |
Jun
(20) |
Jul
(1) |
Aug
(3) |
Sep
(57) |
Oct
(125) |
Nov
(50) |
Dec
(3) |
| 2010 |
Jan
(26) |
Feb
(5) |
Mar
(13) |
Apr
(3) |
May
(3) |
Jun
(12) |
Jul
(27) |
Aug
(47) |
Sep
(105) |
Oct
(53) |
Nov
(34) |
Dec
(21) |
| 2011 |
Jan
(115) |
Feb
(17) |
Mar
|
Apr
(6) |
May
(16) |
Jun
(15) |
Jul
(85) |
Aug
(21) |
Sep
(13) |
Oct
(12) |
Nov
(28) |
Dec
(23) |
| 2012 |
Jan
|
Feb
(13) |
Mar
(4) |
Apr
|
May
(1) |
Jun
(5) |
Jul
(5) |
Aug
(31) |
Sep
(8) |
Oct
|
Nov
|
Dec
(1) |
| 2013 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(33) |
Sep
(9) |
Oct
(10) |
Nov
(2) |
Dec
|
| 2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
(4) |
| 2016 |
Jan
(2) |
Feb
|
Mar
(3) |
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
|
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: 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: 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 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: 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-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: 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: 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: 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 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: 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-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: deloptes <del...@ya...> - 2010-09-27 18:27:19
|
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) |
|
From: Chris F. <cd...@fo...> - 2010-09-24 20:56:40
|
On Thu, Sep 23, 2010 at 03:37:25AM -0700, Emanoil Kotsev wrote: > do I need a hashtable per objtype or per sync. By the way I think akonadi can take care of it, but still no time to check. I don't think you can affect that. You get access to the hashtable via osync_objtype_sink_get_hashtable(sink); > And the statetable is used to store only changed states?? Again per objtype or per plugin or per sync The state_db table must be enabled per sink, if you want to use it, and is for key / data type storage. Sort of like a Berkeley DB style storage. Usually it is used to store some kind of persistent state across syncs, but it could be used for anything really. > I almost got the changes, which means that now everything connects without error, though I'm stuck at that next level. I'll fight with it, though I'll be unavailable until next week. > > Thanks for explaining! I think I have now much more complete idea of the process. Thanks again for your work on this plugin! - Chris |
|
From: Emanoil K. <del...@ya...> - 2010-09-23 10:37:35
|
thanks
>
> The hashtable is there to track what changed in your data.
> For example, you might run each vcard through a SHA1 sum,
> and put
> the resulting sum in the hashtable. The hashtable
> would keep track
> of each uid and hash, and from the information you give it,
> would be
> able to tell you what has changed, and what the change type
> should be:
> ADDED, MODIFIED, or DELETED.
do I need a hashtable per objtype or per sync. By the way I think akonadi can take care of it, but still no time to check.
>
> One drawback of the hashtable is that all records need to
> be processed
> in order for its logic to work. There may be other
> ways to use it,
> but to my knowledge, the normal way is to run through all
> the contacts,
> for example, and hash them all. Then determine what
> changes to send
> to the engine.
yes this is not very useful for data over the net, but for local stuff it sounds to be ok.
And the statetable is used to store only changed states?? Again per objtype or per plugin or per sync
>
> If retrieving changes from akonadi is fast, or if you need
> to retrieve
> most of them anyway, a hashtable makes sense. If you
> can retrieve a
> quick table of changes, and know what uid's are dirty very
> quickly,
> then a hashtable can be used like Barry uses it.
> Otherwise, you'll need
> some other marker for what has changed since the last
> sync.
>
I almost got the changes, which means that now everything connects without error, though I'm stuck at that next level. I'll fight with it, though I'll be unavailable until next week.
Thanks for explaining! I think I have now much more complete idea of the process.
regards
|
|
From: Chris F. <cd...@fo...> - 2010-09-22 01:07:17
|
On Mon, Sep 20, 2010 at 11:18:29PM +0200, deloptes wrote: > I have also noticed (in the original code) that there was a hash table in > use. The code needs to be rewritten, as Chris said, it is managed inernally > by the library. > I had a look into the barry code and it also uses hashtables to manage the > syncs. As for akonadi I'm not sure if it is required. I believe I read it > can track changes of items internally. According osync docs a hash table is > not required in this case. > What can you tell me about this topic and the issue below? The hashtable is there to track what changed in your data. For example, you might run each vcard through a SHA1 sum, and put the resulting sum in the hashtable. The hashtable would keep track of each uid and hash, and from the information you give it, would be able to tell you what has changed, and what the change type should be: ADDED, MODIFIED, or DELETED. One drawback of the hashtable is that all records need to be processed in order for its logic to work. There may be other ways to use it, but to my knowledge, the normal way is to run through all the contacts, for example, and hash them all. Then determine what changes to send to the engine. I almost used the hashtable for google-calendar, but then I realized that I would need to download all the records over the internet just to find out what changed. If your backend data source keeps track of what was last changed, then you can dispense with the hashtable. For example, in google-calendar, I store the date of the latest change in a state_db key. Then I ask Google what changed since then, and create my changes from that. The Barry plugin cheats a bit, and uses the dirty flags that are already in the BlackBerry to tell what has changed. It stores a counter in the hashtable, and increments the counter for each item that is dirty in the Blackberry. In this way, the hashtable's logic still works (all elements were "hashed") but no actual hashing had to be done. If retrieving changes from akonadi is fast, or if you need to retrieve most of them anyway, a hashtable makes sense. If you can retrieve a quick table of changes, and know what uid's are dirty very quickly, then a hashtable can be used like Barry uses it. Otherwise, you'll need some other marker for what has changed since the last sync. - Chris |
|
From: Chris F. <cd...@fo...> - 2010-09-22 00:46:06
|
On Tue, Sep 21, 2010 at 07:13:21PM +0200, deloptes wrote: > The code compiles though I am not sure if it will run and it's a bit time > consuming to make backups, so could you tell me why I have those messages. Just looks like the code is a little loose with type conversions and missing some virtual destructors. It probably works as well as it ever did, which is to say, I don't know if it works right now. :-) The warnings should be cleaned up someday. - Chris |
|
From: deloptes <del...@ya...> - 2010-09-21 17:13:45
|
Hi,
I am really willing to see how kdepim-sync is working with osync 0.40.
Unfortunately when compiling under debian lenny I have following errors.
The code compiles though I am not sure if it will run and it's a bit time
consuming to make backups, so could you tell me why I have those messages.
Besides I found an error
osync_plugin_env_register_plugin(env, plugin);
@line 206 should be
osync_plugin_env_register_plugin(env, plugin, error);
Thanks in advance
Here the messages
In file included from /usr/share/qt3/include/qtextstream.h:46,
from /usr/share/qt3/include/qtl.h:46,
from /usr/share/qt3/include/qvaluelist.h:45,
from /usr/include/kde/kresources/resource.h:26,
from /usr/include/kde/kabc/resource.h:24,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kaddrbook.h:26,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kaddrbook.cpp:30:
/usr/share/qt3/include/qstring.h: In member function ‘char QChar::latin1()
const’:
/usr/share/qt3/include/qstring.h:197: warning: conversion to ‘char’
from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In member function ‘void
QChar::setCell(uchar)’:
/usr/share/qt3/include/qstring.h:222: warning: conversion to ‘ushort’
from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In member function ‘void
QChar::setRow(uchar)’:
/usr/share/qt3/include/qstring.h:223: warning: conversion to ‘ushort’
from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In constructor ‘QChar::QChar(uchar,
uchar)’:
/usr/share/qt3/include/qstring.h:267: warning: conversion to ‘ushort’
from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In
constructor ‘QStringData::QStringData(QChar*, uint, uint)’:
/usr/share/qt3/include/qstring.h:365: warning: conversion to ‘unsigned
int:30’ from ‘uint’ may alter its value
/usr/share/qt3/include/qstring.h:365: warning: conversion to ‘unsigned
int:30’ from ‘uint’ may alter its value
In file included from /usr/share/qt3/include/qobject.h:48,
from /usr/share/qt3/include/qwidget.h:46,
from /usr/include/kde/kresources/resource.h:27,
from /usr/include/kde/kabc/resource.h:24,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kaddrbook.h:26,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kaddrbook.cpp:30:
/usr/share/qt3/include/qevent.h: In member function ‘void
QDropEvent::setAction(QDropEvent::Action)’:
/usr/share/qt3/include/qevent.h:523: warning: conversion to ‘unsigned char’
from ‘uint’ may alter its value
In file included from /usr/share/qt3/include/qwidget.h:52,
from /usr/include/kde/kresources/resource.h:27,
from /usr/include/kde/kabc/resource.h:24,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kaddrbook.h:26,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kaddrbook.cpp:30:
/usr/share/qt3/include/qsizepolicy.h: In member function ‘void
QSizePolicy::transpose()’:
/usr/share/qt3/include/qsizepolicy.h:125: warning: conversion to ‘uchar’
from ‘uint’ may alter its value
/usr/share/qt3/include/qsizepolicy.h:125: warning: conversion to ‘uchar’
from ‘uint’ may alter its value
In file included from /usr/include/kde/kservice.h:28,
from /usr/include/kde/ktrader.h:23,
from /usr/include/kde/kresources/factory.h:32,
from /usr/include/kde/kresources/manager.h:31,
from /usr/include/kde/kabc/addressbook.h:27,
from /usr/include/kde/kabc/resource.h:26,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kaddrbook.h:26,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kaddrbook.cpp:30:
/usr/include/kde/ksycocaentry.h: In member function ‘virtual void
KSycocaEntry::save(QDataStream&)’:
/usr/include/kde/ksycocaentry.h:104: warning: conversion to ‘int’
from ‘Q_ULONG’ may alter its value
In file included from /usr/include/kde/kabc/addressbook.h:27,
from /usr/include/kde/kabc/resource.h:26,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kaddrbook.h:26,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kaddrbook.cpp:30:
/usr/include/kde/kresources/manager.h: At global scope:
/usr/include/kde/kresources/manager.h:59: warning: ‘class
KRES::ManagerNotifier’ has virtual functions and accessible non-virtual
destructor
In file included from /usr/include/kde/kabc/picture.h:24,
from /usr/include/kde/kabc/addressee.h:38,
from /usr/include/kde/kabc/addressbook.h:29,
from /usr/include/kde/kabc/resource.h:26,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kaddrbook.h:26,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kaddrbook.cpp:30:
/usr/share/qt3/include/qimage.h: In member function ‘bool
QImageTextKeyLang::operator<(const QImageTextKeyLang&) const’:
/usr/share/qt3/include/qimage.h:61: warning: suggest parentheses around &&
within ||
[ 75%] Building CXX object src/CMakeFiles/kdepim-sync.dir/kcal.o
In file included from /usr/share/qt3/include/qgdict.h:46,
from /usr/share/qt3/include/qintdict.h:45,
from /usr/include/kde/libkcal/calendarresources.h:32,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kcal.h:27,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kcal.cpp:28:
/usr/share/qt3/include/qstring.h: In member function ‘char QChar::latin1()
const’:
/usr/share/qt3/include/qstring.h:197: warning: conversion to ‘char’
from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In member function ‘void
QChar::setCell(uchar)’:
/usr/share/qt3/include/qstring.h:222: warning: conversion to ‘ushort’
from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In member function ‘void
QChar::setRow(uchar)’:
/usr/share/qt3/include/qstring.h:223: warning: conversion to ‘ushort’
from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In constructor ‘QChar::QChar(uchar,
uchar)’:
/usr/share/qt3/include/qstring.h:267: warning: conversion to ‘ushort’
from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In
constructor ‘QStringData::QStringData(QChar*, uint, uint)’:
/usr/share/qt3/include/qstring.h:365: warning: conversion to ‘unsigned
int:30’ from ‘uint’ may alter its value
/usr/share/qt3/include/qstring.h:365: warning: conversion to ‘unsigned
int:30’ from ‘uint’ may alter its value
In file included from /usr/share/qt3/include/qobject.h:48,
from /usr/include/kde/libkcal/calendar.h:34,
from /usr/include/kde/libkcal/calendarresources.h:35,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kcal.h:27,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kcal.cpp:28:
/usr/share/qt3/include/qevent.h: In member function ‘void
QDropEvent::setAction(QDropEvent::Action)’:
/usr/share/qt3/include/qevent.h:523: warning: conversion to ‘unsigned char’
from ‘uint’ may alter its value
In file included from /usr/include/kde/libkcal/calendar.h:41,
from /usr/include/kde/libkcal/calendarresources.h:35,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kcal.h:27,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kcal.cpp:28:
/usr/include/kde/libkcal/customproperties.h: At global scope:
/usr/include/kde/libkcal/customproperties.h:43: warning: ‘class
KCal::CustomProperties’ has virtual functions and accessible non-virtual
destructor
In file included from /usr/include/kde/libkcal/incidence.h:30,
from /usr/include/kde/libkcal/event.h:24,
from /usr/include/kde/libkcal/calendar.h:42,
from /usr/include/kde/libkcal/calendarresources.h:35,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kcal.h:27,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kcal.cpp:28:
/usr/include/kde/libkcal/alarm.h:45: warning: ‘class KCal::Alarm’ has
virtual functions and accessible non-virtual destructor
In file included from /usr/include/kde/libkcal/incidence.h:34,
from /usr/include/kde/libkcal/event.h:24,
from /usr/include/kde/libkcal/calendar.h:42,
from /usr/include/kde/libkcal/calendarresources.h:35,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kcal.h:27,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kcal.cpp:28:
/usr/include/kde/libkcal/incidencebase.h: In member function ‘int
KCal::IncidenceBase::attendeeCount() const’:
/usr/include/kde/libkcal/incidencebase.h:204: warning: conversion to ‘int’
from ‘size_t’ may alter its value
In file included from /usr/share/qt3/include/qwidget.h:52,
from /usr/include/kde/kresources/resource.h:27,
from /usr/include/kde/libkcal/resourcecalendar.h:40,
from /usr/include/kde/libkcal/calendarresources.h:36,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kcal.h:27,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kcal.cpp:28:
/usr/share/qt3/include/qsizepolicy.h: In member function ‘void
QSizePolicy::transpose()’:
/usr/share/qt3/include/qsizepolicy.h:125: warning: conversion to ‘uchar’
from ‘uint’ may alter its value
/usr/share/qt3/include/qsizepolicy.h:125: warning: conversion to ‘uchar’
from ‘uint’ may alter its value
In file included from /usr/include/kde/kservice.h:28,
from /usr/include/kde/ktrader.h:23,
from /usr/include/kde/kresources/factory.h:32,
from /usr/include/kde/kresources/manager.h:31,
from /usr/include/kde/libkcal/resourcecalendar.h:41,
from /usr/include/kde/libkcal/calendarresources.h:36,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kcal.h:27,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kcal.cpp:28:
/usr/include/kde/ksycocaentry.h: In member function ‘virtual void
KSycocaEntry::save(QDataStream&)’:
/usr/include/kde/ksycocaentry.h:104: warning: conversion to ‘int’
from ‘Q_ULONG’ may alter its value
In file included from /usr/include/kde/libkcal/resourcecalendar.h:41,
from /usr/include/kde/libkcal/calendarresources.h:36,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kcal.h:27,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kcal.cpp:28:
/usr/include/kde/kresources/manager.h: At global scope:
/usr/include/kde/kresources/manager.h:59: warning: ‘class
KRES::ManagerNotifier’ has virtual functions and accessible non-virtual
destructor
In file included
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kcal.h:27,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/kcal.cpp:28:
/usr/include/kde/kresources/manager.h: In instantiation
of ‘KRES::ManagerObserver<KCal::ResourceCalendar>’:
/usr/include/kde/libkcal/calendarresources.h:67: instantiated from here
/usr/include/kde/kresources/manager.h:48: warning: ‘class
KRES::ManagerObserver<KCal::ResourceCalendar>’ has virtual functions and
accessible non-virtual destructor
/usr/include/kde/libkcal/calendarresources.h:74: warning: ‘class
KCal::CalendarResources::DestinationPolicy’ has virtual functions and
accessible non-virtual destructor
/usr/include/kde/libkcal/calendarresources.h:97: warning: ‘class
KCal::CalendarResources::StandardDestinationPolicy’ has virtual functions
and accessible non-virtual destructor
/usr/include/kde/libkcal/calendarresources.h:114: warning: ‘class
KCal::CalendarResources::AskDestinationPolicy’ has virtual functions and
accessible non-virtual destructor
[ 87%] Building CXX object src/CMakeFiles/kdepim-sync.dir/knotes.o
In file included from /usr/include/kde/kinstance.h:31,
from /usr/include/kde/kglobal.h:22,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/knotes.h:29,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/knotes.cpp:33:
/usr/share/qt3/include/qstring.h: In member function ‘char QChar::latin1()
const’:
/usr/share/qt3/include/qstring.h:197: warning: conversion to ‘char’
from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In member function ‘void
QChar::setCell(uchar)’:
/usr/share/qt3/include/qstring.h:222: warning: conversion to ‘ushort’
from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In member function ‘void
QChar::setRow(uchar)’:
/usr/share/qt3/include/qstring.h:223: warning: conversion to ‘ushort’
from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In constructor ‘QChar::QChar(uchar,
uchar)’:
/usr/share/qt3/include/qstring.h:267: warning: conversion to ‘ushort’
from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In
constructor ‘QStringData::QStringData(QChar*, uint, uint)’:
/usr/share/qt3/include/qstring.h:365: warning: conversion to ‘unsigned
int:30’ from ‘uint’ may alter its value
/usr/share/qt3/include/qstring.h:365: warning: conversion to ‘unsigned
int:30’ from ‘uint’ may alter its value
In file included from /usr/share/qt3/include/qobject.h:48,
from /usr/include/kde/kio/netaccess.h:26,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/knotes.h:31,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/knotes.cpp:33:
/usr/share/qt3/include/qevent.h: In member function ‘void
QDropEvent::setAction(QDropEvent::Action)’:
/usr/share/qt3/include/qevent.h:523: warning: conversion to ‘unsigned char’
from ‘uint’ may alter its value
In file included from /usr/share/qt3/include/qwidget.h:52,
from /usr/share/qt3/include/qdesktopwidget.h:43,
from /usr/share/qt3/include/qapplication.h:45,
from /usr/include/kde/kapplication.h:38,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/knotes.h:33,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/src/knotes.cpp:33:
/usr/share/qt3/include/qsizepolicy.h: In member function ‘void
QSizePolicy::transpose()’:
/usr/share/qt3/include/qsizepolicy.h:125: warning: conversion to ‘uchar’
from ‘uint’ may alter its value
/usr/share/qt3/include/qsizepolicy.h:125: warning: conversion to ‘uchar’
from ‘uint’ may alter its value
[100%] Building CXX object src/CMakeFiles/kdepim-sync.dir/KNotesIface_stub.o
In file included from /usr/include/kde/dcopstub.h:32,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/build/src/KNotesIface_stub.h:12,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/build/src/KNotesIface_stub.cpp:9:
/usr/share/qt3/include/qstring.h: In member function ‘char QChar::latin1()
const’:
/usr/share/qt3/include/qstring.h:197: warning: conversion to ‘char’
from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In member function ‘void
QChar::setCell(uchar)’:
/usr/share/qt3/include/qstring.h:222: warning: conversion to ‘ushort’
from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In member function ‘void
QChar::setRow(uchar)’:
/usr/share/qt3/include/qstring.h:223: warning: conversion to ‘ushort’
from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In constructor ‘QChar::QChar(uchar,
uchar)’:
/usr/share/qt3/include/qstring.h:267: warning: conversion to ‘ushort’
from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In
constructor ‘QStringData::QStringData(QChar*, uint, uint)’:
/usr/share/qt3/include/qstring.h:365: warning: conversion to ‘unsigned
int:30’ from ‘uint’ may alter its value
/usr/share/qt3/include/qstring.h:365: warning: conversion to ‘unsigned
int:30’ from ‘uint’ may alter its value
In file included from /usr/share/qt3/include/qobject.h:48,
from /usr/include/kde/dcopobject.h:26,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/build/src/KNotesIface_stub.h:13,
from /opt/software/opensync/libopensync-plugin-kdepim/kdepim/build/src/KNotesIface_stub.cpp:9:
/usr/share/qt3/include/qevent.h: In member function ‘void
QDropEvent::setAction(QDropEvent::Action)’:
/usr/share/qt3/include/qevent.h:523: warning: conversion to ‘unsigned char’
from ‘uint’ may alter its value
Linking CXX shared module kdepim-sync.so
[100%] Built target kdepim-sync
|
|
From: deloptes <del...@ya...> - 2010-09-20 22:55:59
|
deloptes wrote: > I have also noticed (in the original code) that there was a hash table in > use. The code needs to be rewritten, as Chris said, it is managed > inernally by the library. > I had a look into the barry code and it also uses hashtables to manage the > syncs. As for akonadi I'm not sure if it is required. I believe I read it > can track changes of items internally. According osync docs a hash table > is not required in this case. > What can you tell me about this topic and the issue below? I think I found the issue: akonadi_opensync(22547) DataSink::initialize: Sink wrapped: note Main sink of member 2 of type akonadi-sync just connected note 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 note 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 |
|
From: deloptes <del...@ya...> - 2010-09-20 21:18:58
|
Hi, I want to thank you advance for the patience and support. I'm moving to the next stage (the actual sync). I have a problem with connect and I'm not sure if I understand it right, but from the output below I think that the plugin info is missing in the connect_wrapper. The program is exiting with "Broken pipe". I have also noticed (in the original code) that there was a hash table in use. The code needs to be rewritten, as Chris said, it is managed inernally by the library. I had a look into the barry code and it also uses hashtables to manage the syncs. As for akonadi I'm not sure if it is required. I believe I read it can track changes of items internally. According osync docs a hash table is not required in this case. What can you tell me about this topic and the issue below? regards [1285000613.393521] >>>>>>> akonadi_initialize(0x1e9a5a0, 0x1ff8060, 0x7fffc522c010) [1285000613.396227] event [1285000613.396335] contact [1285000613.396429] note ... ... ... [1285000613.831094] Dispatching 0x2037680: (OSYNC_MESSAGE_CONNECT), timeout=30000, id=-8019920140519985027 [1285000613.831109] >>>>>>> _osync_client_message_handler(0x2037680, 0x1e4e940) [1285000613.831122] plugin received command 1 (OSYNC_MESSAGE_CONNECT) [1285000613.831135] >>>>>>> _osync_client_handle_connect(0x1e4e940, 0x2037680, 0x7fffc522c010) [1285000613.831148] Searching sink for (null) [1285000613.831172] >>>>>>> osync_objtype_sink_connect(0x20632f0, 0x1ff8060, 0x2063090) [1285000613.831190] >>>>>>> void connect_wrapper(OSyncObjTypeSink*, OSyncPluginInfo*, OSyncContext*, void*)(0x20632f0,(nil), 0x1ff8060, 0x2063090) |
|
From: deloptes <del...@ya...> - 2010-09-20 16:10:22
|
Chris Frey wrote: > > If discover can change the config, then isn't there a risk that if someone > does --discover, then edits the config, then --discover again, that his > edits may be lost? Or are we expecting plugins to be smart enough not > to overwrite settings that are different yet valid? I think in the case of akonadi we don't have other choice, because it is open end app and you can not know in advance what kind of application it will have configured in. I have completed (this time for real) the discovery of few basic types (based on their mime as reported by akonadi). May be this can be improved and extended in the feature. And I really want to move to the sync part. regards |
|
From: Oswald <Osw...@Fe...> - 2010-09-20 00:08:22
|
On 07/11/2010 03:10 PM, Chris Frey wrote: > On Sun, Jul 11, 2010 at 12:35:31PM +0200, Oswald wrote: >> I've got a patch that adds synchronization of VTODO items to the sunbird >> plugin. Where can I put it? > > If you have access to the ticket system, you can put it there: Done so: http://www.opensync.org/ticket/1260 -- http://www.stud.fernuni-hagen.de/q8179670 |
|
From: Chris F. <cd...@fo...> - 2010-09-19 22:25:13
|
On Sun, Sep 19, 2010 at 10:02:46PM +1200, Daniel Gollub wrote: > If the plugin is able to determine a sane default setting - e.g. by enabling > the default resources - i would recommend to enable those. > > So syncing out-of-the-box for the average sync-user is really done by one- > click. (Something like: Default PIM of Desktop-environment, syncs default > resources with the new mobile-device. the last click would be: "do you really > want to sync contacts and calendar with device xyz? yes/no/maybe") This is an interesting correction to my understanding... I always thought that discover was an internal engine thing, and did not change the config. If discover can change the config, then isn't there a risk that if someone does --discover, then edits the config, then --discover again, that his edits may be lost? Or are we expecting plugins to be smart enough not to overwrite settings that are different yet valid? Thanks, - Chris |
|
From: Daniel G. <go...@b1...> - 2010-09-19 10:03:30
|
On Sunday, September 19, 2010 09:56:31 pm deloptes wrote: > I think I did try this but the engine complains that there is resource > configured for this objtype (probably because Enabled=1 was set for all). Yeah. Enable only one per objtype ... otherweise opensync might complain about that. > > If I understand you right you mean in the next step the user will configure > this sync member to use only one of the resources by leaving the others > with <Enabled>0</Enabled>. So 0 should be set by the plugin in discover? If the plugin is able to determine a sane default setting - e.g. by enabling the default resources - i would recommend to enable those. So syncing out-of-the-box for the average sync-user is really done by one- click. (Something like: Default PIM of Desktop-environment, syncs default resources with the new mobile-device. the last click would be: "do you really want to sync contacts and calendar with device xyz? yes/no/maybe") -- Daniel Gollub Geschaeftsfuehrer: Ralph Dehner Linux Consultant & Developer Unternehmenssitz: Vohburg B1 Systems GmbH Amtsgericht: Ingolstadt Mobil: +49-(0)-160 47 73 970 Handelsregister: HRB 3537 EMail: go...@b1... http://www.b1-systems.de Adresse: B1 Systems GmbH, Osterfeldstraße 7, 85088 Vohburg http://pgpkeys.pca.dfn.de/pks/lookup?op=get&search=0xED14B95C2F8CA78D |
|
From: deloptes <del...@ya...> - 2010-09-19 09:57:05
|
Daniel Gollub wrote: > <Resource> > <Enabled>1</Enabled> > <Formats> > <Format> > <Name>vcard30</Name> > <Config>VCARD_EXTENSION=akonadi</Config> > </Format> > <Format> > <Name>vcard21</Name> > <Config>VCARD_EXTENSION=akonadi</Config> > </Formats> > <Name>Daniels LDAP Addressbook</Name> > <Preferred>vcard30</Preferred> > <ObjType>contact</ObjType> > <Url>akonadi:?collection=2</Url> > </Resource> > <Resource> > <Enabled>0</Enabled> > <Formats> > <Format> > <Name>vcard21</Name> > <Config>VCARD_EXTENSION=akonadi</Config> > </Formats> > <Name>Daniels File Addressbook</Name> > <ObjType>contact</ObjType> > <Path>/home/dgollub/vcard.txt</Path> > </Resource> > <Resource> > <Enabled>0</Enabled> > <Formats> > <Format> > <Name>vcard30</Name> > <Config>VCARD_EXTENSION=akonadi</Config> > </Formats> > <Name>Daniels Webdav Addressbook</Name> > <ObjType>contact</ObjType> > <Url>webdavs://foo/bar/lala.vcard</Url> > </Resource> I think I did try this but the engine complains that there is resource configured for this objtype (probably because Enabled=1 was set for all). If I understand you right you mean in the next step the user will configure this sync member to use only one of the resources by leaving the others with <Enabled>0</Enabled>. So 0 should be set by the plugin in discover? regards |