[Kde-pim] Baloo integration and server-search merged

Daniel Vrátil dvratil at redhat.com
Mon Feb 3 16:06:28 GMT 2014


Hi all,

as you probably noticed from the Jenkins failures (sorry for the spam), I've 
just merged our branches with Baloo integration and server-search 
implementation into masters (yay!!)

On client side we now have Akonadi::SearchQuery class to build search queries 
that can be sent to the Akonadi server. Internally it uses a JSON query 
language based on Baloo's query language, but a bit more universal. This means 
that we no longer need to write or generate SPARQL queries and it makes any 
future modifications and extensions to the language very easy, because it's 
just an implementation detail, which does not affect API of the SearchQuery 
class.

ItemSearchJob, ContactsSearchJob and ContactsGroupSearchJob were ported to use 
the SearchQuery and the API for settings SPARQL string queries was just 
deprecated for API compatibility and will be removed in Frameworks.

On Akonadi side, we have two new features: one feature are search plugins, 
which allows us to use 3rd party search applications (like Baloo), without 
having to fork their code and ship it in Akonadi (like we did with Nepomuk). 
Second feature is server-search, which allows Akonadi server to send queries 
to resources that implement AgentSearchInterface. These resources will then 
query their storage service (for example IMAP using IMAP SEARCH command) to 
perform search on the server and return list of results to Akonadi. This 
allows us to search even in data that we don't have cached locally in Akonadi 
(and thus not indexed in Baloo) - typical usecase is online IMAP, when only 
headers are stored in Akonadi, so full-text search was impossible. Now you can 
have fully functioning search folders even with online IMAP. I also re-enabled 
the auto-updating feature of search folders, so they will now be updated 
whenever a new item that matches the filter is added to Akonadi (this still 
needs a bit of work).

These features still need some work and polishing, but generally we are almost 
in parity with of functionality we had with Nepomuk. I've merged this early, 
so that we can get more testing and make searching in 4.13 rock :-)

Huge thanks and hugs to Christian for his help with porting and Vishesh for 
making the awesome Baloo  :-)

Next stop: remotely stored tags.

Cheers,
Dan


-- 
Daniel Vrátil
KDE Desktop Team
Associate Software Engineer, Red Hat, Inc.

GPG Key: 0xC59D614F6F4AE348
Fingerprint: 4EC1 86E3 C54E 0B39 5FDD B5FB C59D 614F 6F4A E348
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20140203/07e1385b/attachment.sig>
-------------- next part --------------
_______________________________________________
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