(→QtContacts-EDS) |
|||
| Line 6: | Line 6: | ||
* avoid ID mapping because it requires reading all contacts at startup: | * avoid ID mapping because it requires reading all contacts at startup: | ||
** must change EDS to use 32 bit integers as local IDs for that (patch ready) | ** must change EDS to use 32 bit integers as local IDs for that (patch ready) | ||
| + | ** QtContacts-EDS supports (collision-safe) ID hashing as fallback if EDS is not patched (Define USE_ID_HASHING at compilation time to enable) | ||
* convert between QtContacts and vCard using QtVersit, with EDS specific properties and including custom properties for QtContactDetails which have no other mapping to vCard (same approach as in SyncEvolution QtContacts backend) | * convert between QtContacts and vCard using QtVersit, with EDS specific properties and including custom properties for QtContactDetails which have no other mapping to vCard (same approach as in SyncEvolution QtContacts backend) | ||
| Line 11: | Line 12: | ||
* full support for all QContactDetails, including custom ones, but with some limitations: | * full support for all QContactDetails, including custom ones, but with some limitations: | ||
** additional fields of details which map to well-known vCard properties (full name, address) cannot be stored if they have no corresponding representation in vCard | ** additional fields of details which map to well-known vCard properties (full name, address) cannot be stored if they have no corresponding representation in vCard | ||
| - | *** e.g, QContactOrganization::FieldLocation | + | *** e.g, QContactOrganization::FieldLocation, QContactUrl::SubTypeFavourite |
| + | *** NOTE: Work is in progress to support these sub-fields. | ||
** QContactGeoLocation detail is not interoperable with libebook/EDS because QtVersit reverses latitude/longitude in the vCard [[http://bugreports.qt.nokia.com/browse/QTMOBILITY-1589 QTMOBILITY-1589]] | ** QContactGeoLocation detail is not interoperable with libebook/EDS because QtVersit reverses latitude/longitude in the vCard [[http://bugreports.qt.nokia.com/browse/QTMOBILITY-1589 QTMOBILITY-1589]] | ||
** QContactOnlineAccount is not interoperable with libebook/EDS (not direct equivalent is available in vCard) | ** QContactOnlineAccount is not interoperable with libebook/EDS (not direct equivalent is available in vCard) | ||
| Line 17: | Line 19: | ||
** QContactOrganization::FieldDepartment is not fully interoperable with libebook/EDS (libebook can only parse one department) | ** QContactOrganization::FieldDepartment is not fully interoperable with libebook/EDS (libebook can only parse one department) | ||
** QContactOrganization does not have any API for binary (QImage) organization logo (Only URL: QContactOrganization::FieldLocation) but libebook supports both | ** QContactOrganization does not have any API for binary (QImage) organization logo (Only URL: QContactOrganization::FieldLocation) but libebook supports both | ||
| - | + | ** The following details are not interoperable with libebook/EDS (but they can be saved): QContactGender, QContactFamily::FieldChildren (X-CHILDREN), QContactGlobalPresence, QContactFavorite, QContactHobby, QContactPresence, QContactRingtone, QContactSyncTarget. | |
| - | ** The following details are not interoperable with libebook/EDS: QContactGender, QContactFamily::FieldChildren (X-CHILDREN), QContactGlobalPresence, QContactFavorite, QContactHobby, QContactPresence, QContactRingtone, QContactSyncTarget. | + | |
| - | + | ||
* change notifications (added/updated/removed) | * change notifications (added/updated/removed) | ||
** There does not seem to be any signal in ebook view for selfContactIdChange? | ** There does not seem to be any signal in ebook view for selfContactIdChange? | ||
* mapping of QtContacts filters to EDS queries, with unsupported filters implemented by QtContacts after retrieving contacts (slower than filtering in EDS daemon) | * mapping of QtContacts filters to EDS queries, with unsupported filters implemented by QtContacts after retrieving contacts (slower than filtering in EDS daemon) | ||
** TODO: complete list of native searches | ** TODO: complete list of native searches | ||
| - | * | + | * Errors are properly handled and reported to the client application |
| - | + | ||
| - | + | ||
| - | + | ||
Goals for later milestones: | Goals for later milestones: | ||
| - | |||
* performance | * performance | ||
| Line 38: | Line 34: | ||
* [[http://bugreports.qt.nokia.com/browse/QTMOBILITY-1590 QTMOBILITY-1590]] QtVersit contact importer does not follow RFC-2426 for LOGO/PHOTO value | * [[http://bugreports.qt.nokia.com/browse/QTMOBILITY-1590 QTMOBILITY-1590]] QtVersit contact importer does not follow RFC-2426 for LOGO/PHOTO value | ||
* [[http://bugreports.qt.nokia.com/browse/QTMOBILITY-1589 QTMOBILITY-1589]] QtVersit writes/reads QContactGeoLocation's latitude/longitude in reverse order (Compared to RFC-2426 and libebook) | * [[http://bugreports.qt.nokia.com/browse/QTMOBILITY-1589 QTMOBILITY-1589]] QtVersit writes/reads QContactGeoLocation's latitude/longitude in reverse order (Compared to RFC-2426 and libebook) | ||
| + | * [[https://bugzilla.gnome.org/show_bug.cgi?id=650952]] EDS displays misleading warnings such as "libebook-WARNING **: unknown field name `X-GENDER'" | ||
| + | * [[https://bugzilla.gnome.org/show_bug.cgi?id=650950]] EDS: Queries should iterate over all attributes with the same name for proper matching | ||
Can be based on [existing Harmattan EDS plugin], which does not work as-is because of Nokia-specific API extensions.
Necessary changes:
Goals for initial milestone:
Goals for later milestones:
Related bugs: