Moving forward in the RT communication project - some issues

Dario Freddi drf54321 at gmail.com
Sat Mar 27 23:53:02 CET 2010


Hi there,

for the list: I'm a new developer into kde+telepathy and I'm working with 
George to make everything happen. That said.

I started to work on the contact management part in contactlist. As agreed 
with George, the steps would be:

<drf__> the clients talk to telepathy to add/remove accounts, change groups, 
and stuff
<drf__> they just take care of error handling, and upon success they do 
nothing
<drf__> t-i-d listens in the background, and whenever it picks a change, it 
updates nepomuk accordingly
<drf__> clients will be listening to nepomuk changes and will update their 
interface accordingly

However, this has more flaws than I initially thought. contactlist has no 
knowledge of telepathy at all, and hence it's not able to associate a contact 
resource to a telepathy contact directly. This means that to implement such a 
functionality, a client would have to reimplement a big part of the whole 
logic behind telepathy-integration-daemon to be able to act upon Tp::Contacts, 
which is probably not what we want.

So I thought about a possible solution: having a small wrapper library that 
would serve as a bridge between $client and telepathy-integration-daemon. This 
library would act upon a DBus interface which would be provided by t-i-d, and 
all the logic would be abstracted there. So in your client you would have to 
use an interface like:

KTelepathy::addContact(const QString &id);
KTelepathy::removeContact(const QUrl &uri);
etc

This thing is more or less something like libempathy (even if it's aimed to 
solve a different problem), and I think it would be worth to have.

This would mean that:

1. All the logic and the interaction with Telepathy-qt4 would be handled by t-
i-d and a client should never use Telepathy-qt4 directly but the high level 
KTelepathy (or whatever the name)
2. The clients will be totally based on Nepomuk resource URIs and will 
interact with KTelepathy (or nepomuk itself) just being based on that - t-i-d 
will take care of mapping a URI to the right Tp::Contact.

I like this approach, however we need to see if we will ever need to use Tp-qt 
inside our clients (I'm mostly thinking about chat, audio, video) and if it's 
worth adding yet another layer.

Thoughts, comments?

-- 
-------------------

Dario Freddi
KDE Developer
GPG Key Signature: 511A9A3B
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/kde-telepathy/attachments/20100327/ddd32e23/attachment-0001.sig 


More information about the KDE-Telepathy mailing list