Akunambol 0.1
Hi!
I just released Akunambol 0.1, a KDE application to sync your Akonadi data with a SyncML server. You want to use Akunambol to have a full backup of your contacts and calendar, and why not, synchronize and share your address book (and calendar) between your mobile, your iPod touch, your Google account and your KDE desktop. Read more to know how to do that.
Akunambol has been built using the Funambol C++ SDK, as part of their code sniper program. I announced it yesterday on their mailing list, but I think that it deserves also a blog post, since it may be of interest for the KDE community. This is the first release aimed at first adapters; however in my testing it resulted to be very stable for the few things it does. There shouldn’t be any data losses, but a backup is as always advised.
If you want to check out the code, please beware that it still kills kittens here and there. For now this is a release that works, and I will fix most code issues for 0.3 when I’ll be implementing calendar support, thus abstracting much of the code.
Check it out, follow the development, fork, clone and hack on it at: http://gitorious.org/akunambol
Or, just download a tarball from http://github.com/ruphy/akunambol/tarball/v0.1
(yes, it’s github, unfortunately gitorious is still implementing on-the-fly tarball generation for a tag ;-) )
Here’s an extract from the mail sent to the funambol mailing list:
This is a stable release, but of a very immature software – please
treat it as such. Make sure you have a backup of your data before
attempting to synchronize. Fortunately Akonadi allows that with a
single click (check out the akonaditray utlity).For now Akunambol only synchronizes contacts, the code still kills some
kittens in certain places, but I already successfully synced several
contact datasets flawlessly. :-)
In other words, the few things that Akunambol does for now should work
perfectly. If they don’t it’s a bug.Please test it and report any problems, suggestions or patches you
might have.
Ok, now that you know something about akunambol, how to get started actually using it?
First, you need to compile and install the funambol SDK. Download it at http://download.forge.objectweb.org/sync4j/funambol-client-sdk-8.0.1.zip, to compile it it’s the typical autotools build system. There may also be a Debian package available created by a funambol developer, I will edit this article with the link once he sends it to me.
Once Funambol is installed, you can compile and install Akunambol like a normal KDE application, using cmake.
The next thing you need is a SyncML server on which you can push and retrieve your contacts. A “remote storage”. You can either install your own or get a free account at my.funambol.com.
Now you’re set. Start Akunambol, insert your username and password, eventually change the sync URL, and press “Sync contacts” to let the magic begin.
That’s all for now! Next releases will include a much more sexy UI, calendar and tasks syncronization too. Stay tuned!
Comment by David — April 6, 2010 @ 11:28 am
Hi Riccardo,
I was waiting for something like this for a long time. It’s the missing link to get my contacts sync’ed everywhere!
Please do calendar items, too! ;)
Comment by friesoft — April 6, 2010 @ 12:01 pm
Great work so far… I have some questions though
Wouldn’t it be better to create something like that as a Akonadi Agent? If I remember correctly those are data “backends”/”providers” for the apps – well maybe this is a dumb idea of mine because than you would have to constantly be connected/sync?
Will you support multiple calenders? Currently I use Thunderbird + a Funambol server instance on my private server – but I can only sync ONE calendar… which is a real pitty cause I want to sync my google calendar and other calendars too with my phone (nokia 5800)
What about syncing other resources? like tasks or notes? are those planned?
Comment by Sascha Peilicke — April 6, 2010 @ 1:33 pm
Hi, nice work, I’ll try it out soon. Didn’t know this project is still active. I’ve been doing something similar least year as a GSoC project. It’s found under KDESVN .. playground/pim/syncml and should roughly be in the same state as Akunambol. However, things stalled a bit as Funambol C++ Client SDK turned out to be a sub-optimal choice. It’s competitor SyncEvolution does a far better job and has gained some initial Akonadi support a while ago. Furthermore there’s some negotiation about a GSoC project going on. So maybe we could join forces? You’ve got my mail address, feel free to send me a line if you’re interested.
BTW you could search the kdepim mailinglist for ‘syncml’ if you want to know about recent discussions regarding SyncML + Akonadi.
Comment by ruphy — April 6, 2010 @ 8:36 pm
@friesoft:
I guess it all comes down on how you use your software in the end, if you want to manually “save” your address book every once in a while or you’re always connected and syncs are performed automatically every x minutes. I was thinking of a KDE daemon, but food for thought.
Anyways, how would you support multiple calendars? Remember that the server only knows about one calendar, not multiple ones.
Syncing other resources is planned (tasks will go in with the calendar), for non standard storage (like notes) it should take a little more but i’m definitely interested.
Comment by friesoft — April 6, 2010 @ 9:31 pm
@ruhpy: thanks for your answers…
a kded daemon sounds reasonable for my usecase of staying connected and autosyncing…
mhm… didn’t know the multiple calendar support is not existent in the syncml protocol/server… thought that was a limitation of the thunderbird funambol plugin I used…
maybe this could be worked around by some sort of tag in the database of the server? talking about merging all entries into one database on the server but keeping information for every entry to which calendar it belongs… sounds like future stuff though if it isn’t supported… too bad…
Comment by ruphy — April 7, 2010 @ 5:59 am
@friesoft:
it chould eventually work for akonadi only, even if I have to investigate if the server does or doesn’t keep custom fields… definitely an area of interesting investigation.
I will register a bug component on bugzilla and ask you to file a whishlist item so that this idea doesn’t get lost. :)
Comment by mzanetti — April 10, 2010 @ 4:31 pm
Hi ruphy! Thanks for this tool. I’ve been waiting for this too.
Unfortunately I cannot get it to work here… I have compiled and installed the funambol-client-sdk. When I try to compile akunambol I always get the error:
event/FireEvent.h: no such file or directory
It seems that FireEvent.h does not get installed by default so I copied it over to my install path. After that I have been able to compile akunambol successfully but it crashes immediately at startup with this trace: http://follefuder.org/akunambol-20100410.kcrash
Any ideas what I’m doing wrong?
Comment by ruphy — April 10, 2010 @ 5:57 pm
@mzanetti:
- Very weird :\ the SDK here installed just fine… I will report it to the funambol developers…
- That crash is something I’ve just seen, identical, on another system… an user has sent an almost identical backtrace to me this morning, and it’s a strange thing… can you please tell me more about your system? (also via private mail is okay) I’m investigating it. Also, can you send me a copy of synclog.txt, and of your ~/.config/akunambol? You can find synclog.txt on the pwd where you started akunambol.
Comment by Markus Rathgeb — April 20, 2010 @ 6:07 pm
Hello!
Nice project, hope it will be a success.
For the first i created a gentoo ebuild for the funambol client sdk for cpp.
A patch is applied, so that the FireEvent.h is installed, too.
The ebuild can be found here (http://github.com/maggu2810/maggu2810-overlay/tree/master/dev-libs/funambol-client-sdk-cpp/), via layman, etc.
Comment by ruphy — April 20, 2010 @ 8:20 pm
Thanks Markus :)
Funambol developers told me that it’s also already fixed in their 8.5 release, already freezed and coming out soonish. :)
Comment by Markus Rathgeb — April 20, 2010 @ 10:02 pm
Just another question:
Would it be possible to configure the sync tool that data should only be sent but never incoming data should overwrite existing one.
Or the best solution (IMHO):
If I receive changes, I should see a diff between the existing contacts and the new ones and could choose what should be used.
I did not used sync tool for a while, because missing fields in the contact datas of mobile phones have overwritten my contact datas on pc (if I changed the contact on my mobile phone, so “it is newer” but with data losses).
Comment by ruphy — May 9, 2010 @ 8:39 am
@Markus
might be, it depends on libfunambol. It is worth to investigate though!
Could you please open a ticket at akunambol.lighthouseapp.com so that we don’t loose track of your idea? :)
Comment by Panos — May 28, 2010 @ 10:56 am
Thanks a lot for akunambol, I have been waiting for your release for a long time. However, I can’t sync with my private server. Akunambol starts without errors, I press the sync button, and then a dialog box appears asking me to choose the address book to sync. The problem is that there are no entries inside the dialog box and the OK button is dimmed.
Comment by m0nk — July 26, 2010 @ 8:49 pm
Hello,
openSUSE 11.3/KDE 4.5/libfunambol 8.5.0/akunambol current git, Iget this:
[ 9%] Building CXX object CMakeFiles/akunambol.dir/akunambol_automoc.o
In file included from /usr/include/funambol/common/base/Log.h:40:0,
from /home/ds/Download/SVN/akunambol/build/../qtgui/configdialog.h:42,
from /home/ds/Download/SVN/akunambol/build/moc_configdialog.cpp:10,
from /home/ds/Download/SVN/akunambol/build/akunambol_automoc.cpp:5:
/usr/include/funambol/common/base/fscapi.h:126:11: warning: “SYMBIAN” is not defined
In file included from /home/ds/Download/SVN/akunambol/build/moc_configdialog.cpp:10:0,
from /home/ds/Download/SVN/akunambol/build/akunambol_automoc.cpp:5:
/home/ds/Download/SVN/akunambol/build/../qtgui/configdialog.h:58:22: error: ‘Funambol’ has not been declared
/home/ds/Download/SVN/akunambol/build/../qtgui/configdialog.h:58:41: error: expected ‘,’ or ‘…’ before ‘level’
/home/ds/Download/SVN/akunambol/build/../qtgui/configdialog.h:63:5: error: ‘Funambol’ does not name a type
In file included from /home/ds/Download/SVN/akunambol/build/moc_mainwindow.cpp:10:0,
from /home/ds/Download/SVN/akunambol/build/akunambol_automoc.cpp:6:
/home/ds/Download/SVN/akunambol/build/../qtgui/mainwindow.h:77:5: error: ‘Funambol’ does not name a type
make[2]: *** [CMakeFiles/akunambol.dir/akunambol_automoc.o] Fehler 1
make[1]: *** [CMakeFiles/akunambol.dir/all] Fehler 2
make: *** [all] Fehler 2
Any suggestions would be appreciated.
m0nk
Comment by ruphy — July 27, 2010 @ 2:08 pm
@Panos:
Sorry, I missed your comment… I will look into it! For now multiple calendars are still a bit experimental.
@m0nk:
Please either use the 0.1.x branch or upgrade libfunambol: trunk currently requires Funambol 9.0.
Comment by m0nk — July 27, 2010 @ 4:36 pm
Hello Ricardo,
thank you for the quick answer, but I can’t find Funambol Client SDK 9.0 anywhere. Perhaps you can give me a hint or an URL.
0.1 branch works btw.
m0nk
Pingback by Funambol up and running… | A Bit Crazy — July 28, 2010 @ 12:33 pm
[...] noch nicht, aber immerhin kann ich schon meine Kontakte abgleichen. Leider ist der Client für KDE akunambol noch instabil, aber benutzbar.More to come… Dieser Beitrag wurde unter Informatik abgelegt [...]
Comment by m0nk — July 28, 2010 @ 6:39 pm
Hello Riccardo,
I’ve now installed Funambol 9.0.2 from svn. Building akunambol from git fails, because of missing ui_akonadi-dialog.h.
Any help would be appreciated.
m0nk
Comment by ruphy — August 20, 2010 @ 3:10 pm
@m0nk:
sorry for the late reply – I should have fixed this, can you try again?
Pingback by Akunambol 0.1 | Akunambol — September 23, 2010 @ 11:43 am
[...] early testers, but which should already feature many useful features. For more information visit this blog post. Read more from Announcements Click here to cancel [...]