[Kde-pim] Review Request 110648: Gid support for kdepimlibs

Christian Mollekopf chrigi_1 at fastmail.fm
Sat Jul 27 23:54:20 BST 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/110648/
-----------------------------------------------------------

(Updated July 27, 2013, 10:54 p.m.)


Review request for KDEPIM and Volker Krause.


Changes
-------

I had to overload entitySetToByteArray because gid is now only available for items. Otherwise I added the suggested improvements, made some cleanups and removed the migration job which I'm going to add in kdepim-runtime separately.


Description
-------

Added support for GID.

This patch adds support for a globally unique identifier, which is extracted from the payload using the GidExtractorInterface, allowing to fetch items based on the GID. The GID is typically a globally unique UID, such as the UID fields in ical and vcard.

For testing I added the possibility to inject a testplugin to override the plugin lookup.

The migrationcode is still missing: I'll add a GidMigrationJob which is run during the servermanager start, which would simply fetch all items of a given mimetype (where we have gid support), and set the gid for each item. From then on gid based lookups should work reliably, allowing for efficient fetching of items which are referred by gid (contactgroups, ical relatedTo).


Diffs (updated)
-----

  akonadi/CMakeLists.txt 04a206bed4a9fc08f798ce6116d2eed3f1b13360 
  akonadi/gid/gidextractor.cpp PRE-CREATION 
  akonadi/gid/gidextractor_p.h PRE-CREATION 
  akonadi/gid/gidextractorinterface.h PRE-CREATION 
  akonadi/item.h 1ece4e5f7f6e5e4ca076a1d16a058233e2367168 
  akonadi/item.cpp e160ad53ad564ffbf62c3dcae2c349f21d944fc3 
  akonadi/item_p.h a3417cf606bbab7516ab37279bca8d2b0d53685d 
  akonadi/itemcreatejob.cpp 9d3924848ec3f70c1d328576451319241e64b678 
  akonadi/itemfetchscope.h 3ce00fdec021eb9bd5e62da43a399208ce2997e9 
  akonadi/itemfetchscope.cpp ab98921aec51a77b89257280b85f1e9d5b0a4357 
  akonadi/itemfetchscope_p.h e7f5f15eed627f231c8a39d032a049eacb345347 
  akonadi/itemmodifyjob.cpp d81b443dbac0aa96f9092cc7a3700c61aebc4db2 
  akonadi/itemmodifyjob_p.h 43ec38c2f349859d78158dce8a3499eada25c073 
  akonadi/itemserializer.cpp be5c263919915716567db713b9b9de60ab5a64dc 
  akonadi/itemserializer_p.h 5d3f0a67f17c4b9f39b803a5bd335117697f6430 
  akonadi/protocolhelper.cpp 8e5c088af13c5d9924cf4926349cf8ff4d1064f4 
  akonadi/protocolhelper_p.h 4f8f3bb5edc493fb36b2609cc9a8fdcbd15e8e38 
  akonadi/tests/CMakeLists.txt 6ac1538da358b33b752ae8511516bf0f684c04ea 
  akonadi/tests/gidtest.h PRE-CREATION 
  akonadi/tests/gidtest.cpp PRE-CREATION 
  akonadi/typepluginloader.cpp 47683c8144696215e71d4b4628f6a8192622aec8 
  akonadi/typepluginloader_p.h 659638ca7fdc802ded56f1a7b3e7f129913cc46c 

Diff: http://git.reviewboard.kde.org/r/110648/diff/


Testing
-------

manual testing, gidtest.


Thanks,

Christian Mollekopf

_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/



More information about the kde-pim mailing list