KOrganizer und Google Kalender

Tuesday, March 27. 2012

Dieser Artikel ist aus meiner Sicht etwas veraltet - er schildert Probleme, die ich mit der eher vermurksten KDE - Version hatte, die mit debian kommt. Squeeze wie Wheezy schleppen einen uralten Versionstand von KDE Pim mit sich herum und damit hat man nur Kummer. Irgendwann habe ich mal Arch Linux ausprobiert und - ob es nun am ohnehin viel aktuelleren Versionstand liegt oder ob KDE unter Arch auch etwas liebevollere Behandlung geniesst - da ging plötzlich, was ich auf Debian partout nicht erreichen konnte: Google Kalender, Tasks, Adressbuch einbinden.  

 

 Klickt man auf die kleine Uhr im Systray von KDE, geht ein Kalender-Popup auf, und da hätte ich gerne meine Termine markiert. Termine lege ich in einer Reihe von thematisch getrennten Kalender in einem Google-Account ab, so kann ich per Browser, Android-Phone, Thunderbird-Lightning (bzw IceOwl) darauf zugreifen. 

Damit die Termine in dem kleinen Overlay angezeigt werden, muß ich die Kalender in KOrganizer einbinden. kurz gegoogelt und die Suchergebnisse verweisen mich auf GCalDaemon (den ich schon kenne, der auch soweit läuft, der aber ein wenig umständlich einzurichten wäre und mir eher als eine Notlösung vorkommt.

Der nächste Fund verweist mich auf das Package akonadi-kde-resource-googledata, das ich mit synaptics finde und installiere und dann zu verwenden versuche. Die Synchronisation der Kontakte mit KAdressBook klappt daraufhin, aber in KOrganizer gelingt es mir nicht. Es gibt gar keine Option, statt des Hauptkalenders einen der anderen auszuwählen.

Dann finde ich den Hinweis auf ein Projekt akonadi-google, mit dem das Syncen von mehreren Kalendern und Tasks möglich sei. Die Sourcen des Projektes muss man sich laden und selbst kompilieren, als root:

mkdir -p /usr/local/src/akonadi-google-src
cd /usr/local/src/akonadi-google-src
git clone git://anongit.kde.org/akonadi-google

apt-get install cmake build-essential kdelibs5-dev kdepimlibs5-dev libqjson-dev libphonon-dev xsltproc libboost-dev
cd akonadi-google/
mkdir build
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr
make
make install
 
KOrganizer (neu) starten und dann kann ich meine diversen Kalender einen nach dem anderen einbinden. Einziges Manko, dass mir bislang auffiel: wiederkehrende Termine aus einem der Google-Kalender werden in KOrganizer nicht angezeigt.
Mit ein paar Tagen Laufzeit erscheint die Sache etwas wackelig: anfangs gelingt die Verbindung zu den Google-Kalendern und Terminänderungen werden ringsum synchronisiert. Aber ohne klar erkennbaren Anlass - und ohne eine entsprechende Meldung in .xsession-errors - ist die Synchronisierung nun wieder ausgestiegen. Auch ausdrückliche manuelle Synchronisierung tut es nicht - im Log steht zwar: libakonadi Akonadi::ItemSerializer::convert:     -> conversion successful
aber die geänderten Termine tauchen nicht auf.

Ähnlich verlief es mit der Synchronisation von Aufgaben. Dabei finde ich es besonders blöd, dass KOrganizer selbst gar keinen Hinweis gibt, dass etwas nicht stimmen könnte, man legt fröhlich neue Aufgaben oder termine an und bekommt sie dort auch angezeigt, KOrganizer ist scheints wirklich der Ansicht, dass die Daten bei google landen. Aber leider...

Wenn ich nun einen meiner Kalender in Manage Calendar Sources rausschmeisse und danach neu Hinzuzufügen versuche, dann sehe ich einen Hinweis auf ein Problem:
Die Auswahlliste unter "Select the Calendar you want to connect to" ist leer, ein Klick auf Refresh List schreibt mir diesen fehler in's Log: 
akonadi_googlecalendar_resource_10(1744) KGoogle::KGoogleAccessManager::nam_replyReceived: Unknown error 0 , Google replied ' "" '
Da kann (und werrde) ich noch ein wenig herumforschen, um die synchronisation zu reparieren, muss man unter Manage Calendar Sources jeden einzelnen Kalender löschen, die Authentifizierung aufhaben und wiedeer neu einrichten und danach die Kalender wieder neu anlegen.

Es gibt einen eingetragenen Bug in der thematischen Nähe, ich habe aber nichts hilfreiches darin finden können und bin auch nicht sicher, ob das, was ich sehe, wirklich das gleiche ist. Jedenfalls die dort angesprochenen erweiterten Fehler (404, 410) habe ich hier bislang nicht gesehen.

Insgesamt ist es schon ein trauriges Bild. Also, Integration und Synchronisation von verschiedenen Datenquellen ist doch das eigentliche Kernthema von PIM und der Wunsch, auf dem Smartphone Aufgabenliste und Kalendereinträge zu sehen, die ich mir auf dem Desktop eingetragen habe, ist ja nun nicht ungewöhnlich. Dass sollte ein Organizer out-of-the-Box können, und nicht nur via einer obskur zu findenen und noch nicht ganz garen lib, die man sich erstmal selbst kompilieren und dann debuggen muss.
Gefällt nicht.

So, zurück zum Anfang - wie bekomme ich meine Events jetzt in den kleinen Übersichtskalender des KDE-systray? Ein banales Shell-script lädt die Kalender über deren privat-Url herunter und benennt sie übersichtlich, damit nicht ein basic.ics den anderen überschreibt. Cronjob einrichten, der das script regelmaessig alle paar Minuten aufruft. Kontakt darf noch mal ran, ich richte für jeden Einzelkalender einen Akonadi-Kalender mit Datenquelle lokale iCal-Datei ein. FileMonitoring anhaken, readonly kann man auch anhaken, effektiv ist es das ohnehin, denn die lokalen Dateien werden ja alle paar Augenblicke überschrieben. Hässlich, geht aber. 

Caveat: 
Für jeden so eingebundenen Kalender gibt es nun ein eigenes Verzeichnis unter ~/.kde/share/apps mit einem Namen wie akonadi_ical_resource_1. Und bei jeder Aktualisierung wird dort eine Kopie der .ics angelegt. Wenn das eine Weile läuft, können das seeehr viele Dateien sein. Zu allem Überfluss schreibt bei mir auch noch /usr/bin/akonadi_nepomuk_calendar_feeder bei jeder Aktualisierung eine Unzahl gleichlautender Fehlermeldungen nach .xsession-errors:

"/usr/bin/akonadi_nepomuk_calendar_feeder(12243)" Soprano: "QLocalSocket::connectToServer: Invalid name"
"/usr/bin/akonadi_nepomuk_calendar_feeder(12243)" Soprano: "org.freedesktop.DBus.Error.ServiceUnknown - The name org.kde.nepomuk.services.nepomukstorage was not provided by any .service files"
"/usr/bin/akonadi_nepomuk_calendar_feeder(12243)" Soprano: "Unsupported operation (2)": "Invalid model"
"/usr/bin/akonadi_nepomuk_calendar_feeder(12243)" Soprano: "org.freedesktop.DBus.Error.ServiceUnknown - The name org.kde.nepomuk.services.nepomukstorage was not provided by any .service files"
"/usr/bin/akonadi_nepomuk_calendar_feeder(12243)" Soprano: "Unsupported operation (2)": "Invalid model"
"/usr/bin/akonadi_nepomuk_calendar_feeder(12243)" Soprano: "Unsupported operation (2)": "Invalid model"
Und wenn man nicht mit regelmässigem Aufräumen oder logrotate vorbeugt, wird für dies kleine Kalendergimmick die Homepartition mit einem Wust nutzloser Daten zugepflastert...
 
update:
Es gibt von akonadi-google eine neue Version mit Bugfixen und Aussicht auf Erweiterung mit KDE 4.9:
http://www.progdan.cz/2012/04/akonadi-google-0-3-1/
http://comments.gmane.org/gmane.comp.kde.devel.pim/33255
Noch zu erproben, Dank an Julez für den Hinweis.

update 23.9.2012:
Mit 4.8.x habe ich die Einbindung von Google Kalendern nicht brauchbar gesehen, mit KDE SC 4.9.1 (Arch Linux) funzt es. Prompt und bequem.



Trackbacks


Trackback specific URI for this entry
    Xmind Mindmaps konvertieren
    Ich hatte mich ja in einem vorigen Artikel schon mit der Konvertierung von .xmind in andere Mindmap-Formate beschäftigt, und auch mit der Konvertierung von Text nach Freemind, jetzt habe ich ein kleines Python-Modul entdeckt, das dem Thema ganz
    Weblog: dreckhände
    Tracked: Apr 09, 12:55

Comments


    #1 Julez on 05/08/12 at 01:43 PM
    Hi,

    schöner Artikel, der genau meinen Frust beschreibt ;-) Ich stehe vor dem selben Problem und finde es auch schade, dass es KDE nicht schafft, da was sinnvolles anzubieten (zumal Lightnig oder Evolution das auch hinkriegen und das nicht erst seit gestern).

    Jetzt eine kurze Frage zu deiner Lösung: wie synchronisierst du den Google-Kalender auf dem Server? Von Google auf den Rechner ist klar, aber die andere Richtung?

    Vielen Dank.

    Grüße

    Julez
    #2 daniel plaenitz on 05/08/12 at 04:21 PM
    Lightning aka iceowl mit dem "Provider für Google Kalender" add-on.
    KDE / KOrganizer ist wirklich nur noch für die kleinen Kalenderanzeige aus der Uhr im systray beteiligt.

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA