Review Request: Make telepathy-integration-daemon a Nepomuk Service

Daniele E. Domenichelli daniele.domenichelli at gmail.com
Wed Sep 29 10:09:09 CEST 2010


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

(Updated 2010-09-29 08:09:09.068134)


Review request for telepathy, Sebastian Trueg, Dario Freddi, George Goldberg, and Vishesh Handa.


Changes
-------

r2: Removed connect statement and changed TelepathyAccountMonitor parent to the Nepomuk Service object


Summary
-------

The goal of Telepathy-integration-daemon is to fetch information from telepathy and to push it into nepomuk. The approach that we have been using until now is to have an independent "daemon" launched at login.

Telepathy-integration-daemon needs to run only if nepomukserver is running. It also has dependencies on specific nepomuk services. If dependencies are not met t-i-d sometimes crashes (for example if nepomukserver is started after t-i-d) and sometimes hangs (for example if t-i-d is started after nepomukserver but before the services are initialized)

The role of telepathy-integration-daemon is the same of a nepomuk service: "A Nepomuk service is intended to perform some kind of operation on the Nepomuk data storage. This can include data gathering, data enrichment, or enhanced data query."[1]

Having a Nepomuk service instead of a daemon allows to check for services dependencies just by adding 1 line in the .desktop file and the service will be started as soon as the dependencies are ready.

It also adds automatically a dbus interface that allows to check if the service is available or running, and to start and stop the service. Checking if the service is available should be mandatory for all telepathy-kde apps, because otherwise they might be using outdated data (for example contact list will show for contacts the status they had last time that t-i-d was running)

[1]http://api.kde.org/4.x-api/kdelibs-apidocs/nepomuk/html/classNepomuk_1_1Service.html


This addresses bug 246247.
    https://bugs.kde.org/show_bug.cgi?id=246247


Diffs (updated)
-----

  /trunk/playground/network/telepathy-integration-daemon/CMakeLists.txt 1179412 
  /trunk/playground/network/telepathy-integration-daemon/main.cpp 1179412 
  /trunk/playground/network/telepathy-integration-daemon/nepomuktelepathyservice.cpp PRE-CREATION 
  /trunk/playground/network/telepathy-integration-daemon/nepomuktelepathyservice.desktop PRE-CREATION 
  /trunk/playground/network/telepathy-integration-daemon/nepomuktelepathyservice.h PRE-CREATION 
  /trunk/playground/network/telepathy-integration-daemon/tests/CMakeLists.txt 1179412 

Diff: http://svn.reviewboard.kde.org/r/5449/diff


Testing
-------

No issues encountered with contactlist, chatui, and some other testing apps.

There is a small issue with unit tests, because when nepomuk is started by telepathy-testlib, the service is automatically started, therefore there are both the test and the service reacting to telepathy changes, and feeding nepomuk, so the test result is unpredictable. 

Tu run succesfully the tests it is necessary either to uninstall the service before running tests or to add the lines:

[Service-nepomuktelepathyservice]
autostart=false

in telepathy-testlib/lib/nepomukserverrc.in and install testlib again


Thanks,

Daniele E.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kde-telepathy/attachments/20100929/3301869f/attachment.htm 


More information about the KDE-Telepathy mailing list