entGooglen

Thursday, July 18. 2013

 Googles Verwaltung meiner Kontakt habe ich letzthin immer weniger vertraut, Kontakte verschwanden, Unbekannte tauchten auf. 
Auf dem Wege "Weg von Google" war ich ja schon laenger, nur die Migration der Kontakte hielt mich ab.

Der Rahmen: 
Bislang lagen lagen 10 Kalender und einige hundert Kontakte (mit Bildern) in dutzenden Gruppen bei Google. Daran hingen  Thunderbird (mit Lightning und dem Provider for google Calendar und Google Contacts) unter lin/win, zusätzlich unter linux auch noch die KDE-Pim und unter Android 2.3 K9 und die HTC-apps für Kontakte und Kalender.

Eine bequeme Möglichkeit, die Kontakte von Google zu ownCloud zu bringen und dabei Kontakbilder und die Gruppierungen zu erhalten, habe ich nicht gefunden, das blieb wirklich Handarbeit. Hilfreich waren aber die Kontaktbilder, die der Provider for Google Contacts in's Thunderbird-Profilverzeichnis synchronisiert hatte, ~/.thunderbird/(profilID)/Photos.
OwnClouds Kontakte erlaubt den Import der Kontaktbilder nur, wenn sie unmittelbar im W'urzelverzeichnis des File-Bereiches gespeichert sind, offenbar ein bug, andere Optionen werden angeboten, funzen aber nicht.

Thunderbird synchronisiert sich die Kontakte mit dem Inverse Sogo Connector - hier gibt es aber jetzt eine funktionale Einschränkung: Gruppierungen werden, anders als es der "Provider" noch tat,  nicht mehr bei der Synchronisierung als Mailing List eingerichtet und synchronisiert. Das ist schade.

Die Kalender bindet Lightning sich problemlos über die Url ein, die OwnCloud als Caldav-Link anzeigt. 

Auf dem Androiden musste ich mir die beiden apps CalDAV-Sync und CardDAV-Sync kaufen, trotz heftiger Suche fand sich keine brauchbare Alternative. Man bekommt dann noch als kostenlose Zugabe eine kleine App Aufgaben dazu, die ganz brauchbar ist. Das HTC-Kalenderprogramm und auch der Kontaktemanager sehen die neu eingebunden Kalender und Kontakte gleich, dennoch habe ich den HTC-Kalender bei der Gelegenheit durch die viel übersichtlichere aCalendar abgelöst.

KDEs Kontact synchronisiert auch ohne Probleme mit OwnCloud, leider hat Contacts dort überhaupt keinen Begriff von den Gruppierungen.

Nach etwas Kontrolle konnte ich dann die Aufgaben, Kalender und Kontakte aus dem Google-Account alle löschen - macht nicht viel Unterschied, die NSA hat sie ohnehin laengst abgespeichert. Aber es ist ein Sandkorn - wenn es viele solche Sandkörner gibt, sieht Google etwas Rutschen...

 

 

 An sich ja kein Vorhaben, das so ausgefallen oder umfangreich klingt, dass man damit lange zubringen müsste: so wie die Termindaten - als eine Reihe von thematisch sortierten Unterkalender zu einem Google account gehalten - auf dem Android SmartPhone wie auf dem Desktop (Thunderbird/Lightning) synchronisiert und aktuell zur Verfügung stehen, so will ich das auch für die Aufgaben. Und ich hätte für Aufgaben gerne die Möglichkeit, sie hierarchisch zuzuordnen, also: sub tasks.

KOrganizer hat sub Tasks und die Oberfläche wäre nicht ganz schlecht, aber die Einbindung von Google Kalendern und deren Synchronisation war so hakelig und letztlich unzuverlässig, dass ich KOrganizer genervt nur mit einer Minifunktion betraut und ansonsten von der Liste gestrichen habe.

Bleibe ich also bei ThunderBird/Lightning, muss ich den Wunsch nach sub-tasks schon mal drangeben, lightning hat das einfach nicht zu bieten. Aber selbst dann ist kein einfacher Weg zu Synchronisation in Sicht. In Lightning hat der "Provider for Google Calendar" nur den knappen Hinweis parat, das gTasks erst in einer späteren Version unterstützt würden, derzeit gebe es Probleme. Auch einen Google Kalender via caldav anzubinden hilft nicht: Lightning akzeptiert Google Kalender nicht als Aufgabenspeicher, sondern nur in einen lokalen Kalender. 

Man findet add-ons, um lightning an exchange-server oder kolab, toodledo oder zimbra anzuhängen, aber alle angebotenen Wege scheinen auf die Installation irgendeiner Groupware-Server-Soft oder einen kostenpflichtigen account hinauszulaufen. Ich war schon auf dem Wege, mein eigene Tasklistenverwaltung und Sync zu schreiben, als ich in den Mozilla-Foren auf auf einen Thread zum Thema stiess. Und darin auf den Hinweis auf memotoo

memotoo ist auch wieder ein kommerzieller Service mit einem kostenlosen Basisangebot, 50 Tasks kriegt man gratis, danach kostet es (12€/Jahr). aber dafuer haben sie schon wirklich eine eindrucksvolle Liste von Synchronisations-Optionen. Ein französisches Angebot (was man der deutschen wie der englischen Version der Seite etwas ansieht), kann https:// wenn man es aufruft, ist in IPv6 verfügbar. Synct Adressbuch, Tasks, Notizen, Mail, Kalender, Bookmarks, sonstige Dateien - probiert habe ich erstmal nur die Tasks. Klick auf Synchronize my tasks und da sind 35 Optionen parat, klick auf Google Tasks, account info, authorisieren, Optionen zur Synchronisierungsrichtung und schon stehen die eingetragenen Aufgaben da. Klick auf Sunbird (wie gut, dass ich mir die diversen Pseudonyme dieses Programms alle merken kann...) klare Installationsanweisung, pling stehen die Aufgaben in Lightning da. Details gilt es auszutesten, der erste Eindruck gefällt.

 

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.

Aktuelle Mozillas auf Debian Squeeze

Thursday, November 10. 2011

Klar, es ist ein Marketing-Tick; Google hat bei Chrome damit angefangen, jedes Versönchen mit einem glatten Versionssprung auszuzeichnen und nun machen es die anderen Broswerbauer eben nach. Aber es irritiert doch, immer noch mit Iceweasel 3.x unterwegs zu sein, wenn schon Version 8 herausgekommen ist.

Nun stiess ich darauf, dass es ein Debian Mozilla Team gibt, das Iceweasel und Icedove / Thunderbird in aktuellen Versionen als Backport bereitstellt. Die Seite ist an sich selbsterklärend, debian-Version einstellen, Programm und Version auswaehlen, und die dynamisch angepassten Zeilen kopieren und in  /etc/apt/sources.list einpasten. Key importieren und dann mit einem ebenfalls dynamisch angepassten cmd installieren.

Mit Iceweasel klappt das auch anstandslos und nun zeigt mir About eine 8.0. fein!

Aber dann stach mich der Hafer und ich wollte es auch mit dem Icedove / Thunderbird probieren. Stable (Squeeze), Icedove, release ausgewählt, eingetragen, apt-get update und den install gestartet. Zuerst sah's auch gut aus, eine neue Version wurde installiert, laut about 5.0, kaute beim ersten Start lange auf den zugehörigen add-ons herum und knipste mir dann alle Kalender-bezogenen add-ons, Iceowl (Lightning) wie auch den Provider for google Calendar und die Timezone definitions aus.

Und alle Versuche, für iceowl-extension einen backport oder ein installierbares .xpi zu finden, misslangen. Google fand mir nur den Stoss-Seufzer eines Leidensgefährten "please backport iceowl-extension, calendar-google-provider & l10n packages" Yo, ohne den Kalender geht es fuer mich einfach gar nicht - wieso ist der eigentlich nicht längst in Thunderbird integriert statt bei jedem Upgrade immer eine Zitterpartie zu provozieren?

Rollback der Aktion war zum Glueck einfach und schmerzlos:
die Zeile fuer icedove backport aus der sources.list wieder auskommentieren,
apt-get update
apt-get remove icedove
apt-get install icedove iceowl-extension

und alles war wieder beim alten. Einen Vorzug hatte die ganze Aktion aber doch, ich entdeckte das add-on FireTray, das im systray die Anzahl eingetroffener Mails anzeigt. Auch hier hat man es mit Versionitis zu tun, deshalb hier gleich der Hinweis auf die Versionsgeschichte. Nach einigen Versuchen hatte ich dann mit Version 0.3.2 eine Fassung, die sich nicht nur installieren liess sondern dann auch noch wie erwartet funktionierte.

FireTray ist recht gut konfigurierbar, insbesondere erlaubt es, für das tray-Icon zwei verschieden Icons einzutragen, eines wird gezeigt, wenn keine ungelesenen Mails angezeigt werden und das andere, wenn es ungelesene Mails gibt, deren Anzahl wird in auswaehlbarer Farbe darauf gezeichnet. Als default steht hier ein grauer Kasten, der nicht sehr attraktiv war und den ich gleich mit einer anderen Grafik austauschen wollte. Nichts passenderes zur Hand versuchte ich es it einem recht grossen Bild, das Firetray klaglos akzeptierte und sofort, auf IconGröße skalierte, verwandte. Aber nun war die numerische Ausgabe der ungelesenen Mails nicht mehr da. den Pfad zum eigenen Image löschen, und die Anzeige war wieder da. Etwas googeln auf "firetray custom mail notification icon" fand mir auch einen Issue-report, der meiner Situation zu entsprechen schien. Um nicht nur einfach "me too" an den thread dranzuschreiben habe ich ein wenig mit der Funktion gespielt, mein erster Verdacht war ja, dass das custom Icon über die Anzeige gezeichnet würde, deshalb nahm ich ein fast-transparentes Quadrat als Icon. und da stand die Anzahl dann, nur ziemlich kein. Firetray macht ja einen guten Job beim Skalieren eines beliebig grossen Images auf die passende größe, offenbar wird aber die anzahl vor dem Skalieren gezeichnet und wird so uU winzig klein. Wenn man das erst einmal erkannt hat, ist es aber eher ein feature denn ein bug, denn so kann man die Textgröße stufenlos festlegen. Ich habe bei Grafiken zwischen 80x80 und 40x40 auf meinem bildschirm angemessene Größen gefunden. 

(Page 1 of 1, totaling 4 entries)