[Wishlist] Implement Tracker plugin using DBus interface

Reported by Alexey Nedilko on 2009-05-15
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Do Plugins
Wishlist
Alex Launi

Bug Description

Currently Tracker plugin is based on CLI search tool (tracker-search). It launches the tool with necessary parameters, and parses the output. This approach strictly depends on the output format of tracker-search. If the format of tracker-search output changes, the plugin stops working properly. This has been the root cause for several bugs, and there's no guarantee this won't happen in future.

Tracker service provides a D-Bus interface, which can be used to perform searches. D-Bus API of tracker is documented, so the Tracker plugin can be easily implemented using it.

Bugs that were caused by incorrect parsing of tracker-search output:
https://bugs.launchpad.net/do-plugins/+bug/371207
https://bugs.launchpad.net/do-plugins/+bug/376836

Tracker D-Bus API:
http://svn.gnome.org/viewvc/tracker/trunk/data/dbus/tracker-search.xml?view=markup

I'm attaching a proof-of-concept implementation. It surely needs some code polishing / refactoring, and I'm not sure I've used the best practices for NDesk.DBus (I've got no experience in this field at all), but at least it works for me :)

Related branches

Alexey Nedilko (alexey.nedilko) wrote :
Alexey Nedilko (alexey.nedilko) wrote :
Alexey Nedilko (alexey.nedilko) wrote :
tags: added: community-plugins
Alex Launi (alexlauni) wrote :

Thanks for the patch, making some changes and doing some testing.

Changed in do-plugins:
assignee: nobody → Alex Launi (alexlauni)
importance: Undecided → Wishlist
milestone: none → 0.8.2
status: New → Confirmed
Alex Launi (alexlauni) wrote :

Alexey, can you test that branch? None of us have a working tracker. I'm not going to install it, and Chris' keeps segfaulting.

Alexey Nedilko (alexey.nedilko) wrote :

Ok, I'll test it.

Alexey Nedilko (alexey.nedilko) wrote :

I confirm it works as expected. I've checked the following test cases:
    * Tracker is installed and running: plugin works fine (finds tracker on D-Bus, and displays found items).
    * Tracker is installed, but not running: plugin finds tracker on D-Bus, but does not show any search items
    * Tracker is not installed: plugin can be enabled, but the "Search with Tracker" action shows with "disabled" icon instead of Tracker icon, and no search items are displayed.

No tracker-related error messages were encountered in debug output in all test cases.

Alex Launi (alexlauni) on 2009-05-17
Changed in do-plugins:
status: Confirmed → Fix Committed
Changed in do-plugins:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers