This is just a short note mostly for packagers and other developers using LibKGoogle (if there are any). Due to possible violation of Google trademark, the LibKGoogle library has been renamed to LibKGAPI. Thanks to Clifford Hansen for inventing such a nice name :)
Also the license has been changed and the project is now under GPLv2+ instead of GPLv3+.
The entire API is now encapsulated in KGAPI namespace instead of KGoogle and headers were moved to %prefix%/include/libkgapi.
All these changes are now reflected in LibKGAPI 0.4.0 release, which does not contain any other improvements or fixes. I decided to go directly to 0.4 instead of continuing the 0.3 series, as I consider this a big and important change.
The Akonadi resources for Google services in kdepim-runtime will depend on LibKGAPI 0.4.0, the patch has been already submitted for review.
The git repository is still called libkgoogle, it will be renamed when it’s moved to KDE extragear (or somewhere else). Stable branch is LibKGAPI/0.4.
Hi! Nearly four weeks after the [0.3](https://dvratil.cz/2012/04/akonadi-google-0.3-arrives/ release of Akonadi resources for
Google there’s a new version with just a few, but important bug fixes and improvements.
UPDATE: In order to use the Google resources, you either need KDE 4.9 (which the resources are part of), or you need to install LibKGAPI 0.4.1 (or newer) and Akonadi resources fromgit://anongit.kde.org/scratch/dvratil/akonadi-google-resources. See this discussion for details.
Fixed bugs and crashes:
Bug #296541 - Uncaught exception in signal handler in Contacts resource
Bug #297824 - Uncaught exception in signal handler in Calendar resource
Bug #297548 - Crash at akonadi start after having added a new contact - resource
Bug #298519 - Deleting events incorrectly reports an error
The first two bugs were especially tricky as I couldn’t reproduce them, but many users were affected by ugly and
repeating crashes. But now the “Google experience” is much much better :).
Big thanks go to Alex Fiestas who has contributed various improvements to libkgoogle to better work with 3rd party apps
(so now we can be looking forward to his web-accounts wizard :) ).
After many months of “I will release it next week” I finally released libkgoogle 0.3 and new version of Akonadi resources for Google this week.
So, what’s new? I managed to implement everything I described in [this post]( {% post_url 2011-11-25-akonadi-google-resource-whats-comming %} “Akonadi Google Resource: what’s coming?”) back in November. That’s support for multiple Google accounts, and merging the tasks resource into the calendar resource (so now it’s called “Calendar and Tasks resource”). The calendar now properly supports events recurrence and partially exceptions in recurrent events (there’s still some work to be done). The contacts resource now splits your contacts to “My Contacts” and “Others” groups. I hoped to fully support contact groups, the code was even in place, but I’ve run to some problems how to store it in Akonadi and unfortunately KAddressBook is not “compatible” with the Google’s concept of contact groups, so I decided to stick with the two elementary groups and hopefully I’ll get to this later (maybe some PIM dev could help me on Akademy? ;) )
If you run to any problems or bugs, please report them to the libkgoogle product in bugzilla.
Finally, I’d like to thank to Jan Grulich and Vojtěch Zeisek for putting their contacts and events at risk to test the pre-release versions and provided valuable feedback.
I’ve made a big progress with the upcoming libkgoogle 0.3 last weekend on the Fedora KDE SIG meetings which took place
in Brno. I then decided to take some rest from all this Google things and wanted to relax by working on something else.
But then I remembered that some time ago I experimentally implemented the Google Reader API and…well, see for
yourself.
Originally I wanted to implement my own caching mechanism for the feeds, but I soon realized that I would be just
wasting my time when there already is something as cool as Akonadi.
I have written a simple Akonadi serializer for the data (took me about 20 minutes) and an Akonadi resource (that took me
about 40 minutes to write). Finally I begun to write the client.
The client itself is very simple, it essentially only fetches list of streams (for those unfamiliar with Google’s
terminology, stream == RSS feed) and their content from Google Reader and is able to update ‘read’ flag of one or more
items. You can’t add or remove streams (maybe later).
Note: Do not try to “mark all as read” if you have too many unread items. The resource is sending a HTTP request for
*every single item (will be fix later, maybe…).
But hey, what’s the difference between reading your feeds in a browser window or in a silly desktop client. To increase
the level of (my) awesomeness I’ve made a Kontact plugin as well:
Btw, does anyone know how to change order of the items in the left pane? I’d like to have the reader where Akregator
usually is :)
In the first sync, the resource fetches up to 200 latest items form each feed (I think that’s a reasonable amount), then
the updates are incremental. There is no progress indication, so just be patient.
In a way it is a “replacement” for Akregator (but it lacks almost all of its features :-), so actually it’s not…). I
suppose you don’t need to have local feeds in an RSS client when you can interact with feeds on Google Reader directly.
On the other hand, it’s not a serious project, more like a preview or demonstration of power and awesomeness of the KDE
technologies (it’s so simple to use Akonadi!) and all the people behind it. When libkgoogle 0.3 is out and stable, I’d
like to dedicate some time to help with the Akregator port (if it’s not finished until then), so this project will just
rot in git, forgotten.
As I said, this is more of a tech preview, definitely not something for daily use. I won’t be spending much time working
on it, but of course, feel free to clone the repo (see below) and contribute.
How do I get this?
You have to use libkgoogle from the experimental “reader” branch. This branch is rebased against the development
branch of what-will-become-0.3, so it’s completely incompatible with the current resources from master branch.
I recommend to install libkgoogle to some other prefix then /usr so that it does not conflict with the stable libkgoogle
library, but if you feel brave enough, you can try to compile the branch with calendar and contacts resource as well,
since they are mostly finished and working (and I would appreciate some feedback before releasing it).
Compile the Reader. The repository contains all the stuff - Akonadi serializer and resource, Kontact plugin,
KGoogleReader KPart and KDEGoogleReader application (sorry for the KDEGoogleReader vs. KGoogleReader inconsistency, I
couldn’t decide how to name it so I was mixing both names :) )
git clone git://gitorious.org/kgooglereader/kgooglereader.git
cd kgooglereader
mkdir build && cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DLIBKGOOGLE_LIBRARY=/usr/local/lib/libkgoogle.so -DLIBKGOOGLE_INCLUDE_DIR=/usr/local/include/
make
make install # as root
Remember to replace the path to libkgoogle by wherever you have installed it. Now you should have kdegooglereader
executable installed and when you restart Kontact you should see “Google Reader” in the left pane as well.