Ubuntu One KDE UI sort-of alpha1

Harald Sitter apachelogger at ubuntu.com
Sun Jun 13 14:20:02 BST 2010

I am currently working on my Google Summer of Code project where I am to bring 
better Ubuntu One experience to KDE users. This project is divided into two 
parts, one being user interface integration and the other is data integration 
(a.k.a. Akoandi support).

In ppa:apachelogger/ubuntuone-kde you can now get a pretty much working Alpha 
1 of the user interface integration, only that it is not really Alpha 1.

BEFORE installing please read everything below and be warned that this is all 
work in progress and I will most likely not provide seamless upgrade 
experience, so it would be best if you know how to resolve file conflicts in 
DPKG and the like.

So first let me state why it is not the real alpha...
Unfortunately the Ubuntu One SyncDaemon (the component that is responbile for 
interacting with the Ubuntu One cloud) does in its current stable iteration 
only support the GNOME keyring as secret storage unit. But for sensible 
integration into KDE the authentication and therefore the secret storage must 
be handled by KDE components, most importantly KWallet. So in order to make 
everything work properly you need to patch the SyncDaemon. [1] provides a one-
line command to do this, which basically just applies a patch [2] to your 
SyncDaemon exchanging the gnome-keyring support for KWallet support.

Once you have that done you should install ubuntuone-kde and relogin, after 
that you can savely try using the KDE integration. It should be noted that 
using the KCM first will not work, and I am not sure about Dolphin integration 
(testing please?).

You can use the Dolphin integration only if you place a .ubuntuone file in the 
directory you want to use it with (also with 4.5 beta2 you will need to turn 
on the plugin via the Dolphin settings, it will show up there as a version 
control plugin).

The statusnotifier item (fancy systemtray icon) can be started via ubuntuone-
statusnotifier, or via the utilities section of your menu.

A configuration module is to be found in your systemsettings, currently it 
will just display information queried on-the-fly from the Ubuntu One servers.

Authentication is handled by ubuntone-auth.

What I ask you to do is give it a good test run and start crying really bad 
should you encounter:
a) a crash
b) nothing
c) clearly wrong behaviour
d) stuff that you think I did not think of, but seems worth mentioning

Tech Talk:
StatusNotifier and Dolphin integration use libubuntuone-kde which basically 
provides an interface to the Ubuntu One SyncDaemon, upon status changes this 
beastie should emit the appropraite information so that the StatusNotifier can 
react properly. Another implementation of using the SyncDaemon is available in 
the source [3] as a proof of concept plasmoid.
The KCM uses libubuntuone-qt-api which is a Qt interface to the Ubuntu One 
server side REST API (hence this thing is mosty asynchronious). Please note 
that the KCM will not work unless you used the statusnotifer before, because 
it will be missing authentication information and at this time does not 
trigger the auth process itself. If you wish you can also try creating own 
apps to test the API implementation, currently the KCM does not use the API to 
its full extent, though it probably will do once I am finished.
Ubuntuone-auth registers to DBus and provides the same interfaces as the GNOME 
version provides, so technically one could also use it with the GNOME UI ;) 
(that is if someone really wants to hook it up with gnome-keyring). One 
technical point of interest is that it will launch an own tiny HTTP server for 
the authentication process, this will then lead to a fist-start workflow like:
1) you start an U1 app 2) webbrowser opens asking you if you want to auth the 
machine you are on to use U1 3) you either agree or decline 4) U1 server calls 
back to local HTTP server and transmits some tokens through the URL 5) 
ubuntone-auth requests access tokens and tells the app(s) about arrived 

[1] http://people.ubuntu.com/~apachelogger/ubuntuone/HOWTO
[2] http://people.ubuntu.com/~apachelogger/ubuntuone/syncd-kwallet.patch
[3] https://code.launchpad.net/~apachelogger/ubuntuone-client/gsoc

While I am at it, let me also give a quick heads up on the Akonadi stuff.

At [4] and [5] you can find components started by Till Adam some time ago 
laying out very good basics for addressbook integration with Akonadi. If you 
are very, and I mean VERY, brave, then you might try it out. Although 
currently it will only (almost completely) map Ubuntu One contacts into 
KAddressbook processable ones. Everything else will result in undefined 
behaviour. Also please note that authentication to desktopcouch is not 
implemented, so you will need to turn off authentication in your desktopcouch 

[4] https://code.launchpad.net/~apachelogger/+junk/couchdb-qt
[5] https://code.launchpad.net/~apachelogger/+junk/akonadi-desktopcouch

Harald Sitter
Kubuntu Core Developer
-------------- 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 : https://lists.ubuntu.com/archives/kubuntu-devel/attachments/20100613/dc576e62/attachment.pgp 

More information about the kubuntu-devel mailing list