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

Christian Mollekopf chrigi_1 at fastmail.fm
Thu May 30 14:40:42 BST 2013


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

(Updated May 30, 2013, 1:40 p.m.)


Review request for KDEPIM and Volker Krause.


Changes
-------

Added GidMigrationJob, which isn't called anywhere yet, but should do the initial population of the GID for each item of a mimetype.
It should probably be run as part of ServerManager just like the Firstrun thingy used to create default collections.
Or maybe it should even become part of Firstrun? 


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/entity.h a7fb808be2434450f836bd74109627c431da6934 
  akonadi/entity.cpp fb76859ccde47971651d56ea2ea6cfd6aad84e41 
  akonadi/entity_p.h 9ed012c5a4433a94b36846bf7f95d93931aae4c7 
  akonadi/gid/gidextractor.h PRE-CREATION 
  akonadi/gid/gidextractor.cpp PRE-CREATION 
  akonadi/gid/gidextractorinterface.h PRE-CREATION 
  akonadi/gid/gidmigrationjob.cpp PRE-CREATION 
  akonadi/gid/gidmigrationjob_p.h PRE-CREATION 
  akonadi/itemcreatejob.cpp 9d3924848ec3f70c1d328576451319241e64b678 
  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