About free software.


Posts tagged with "KDE"

Feb 9

Desktop Syncing with ownCloud

A lot of interest was shown for a desktop client that synchronises data between the local machine and ownCloud. Talking about synchronising means that the software tries to keep the content of a local directory on the same current state as one on ownCloud. Whenever a file becomes more recent on one of the both sides its its going to be updated on the other quickly.

As I am currently working on the syncing I thought I could share the plan.

Where we come from

I am working on a desktop client based on a program called mirall. Mirall was started by Duncan Mac Vicar (github) and I joined the development (github) a couple of month ago. Mirall is witten in C++, currently Qt based.

Mirall uses csync, a universal file syncronizer written by Andreas Schneider as a backend. That works great for local and ftp attached storages, but as ownCloud is webDAV based, and csync was not supporting webDAV, we had to further investigate. In an SUSE sponsored hackweek I did some experiments with an external tool called sitecopy and implemented a sitecopy based backend for mirall.

That works nice for a one-way usecase of syncing - whenever something on your local disk changes, it gets automatically pushed to the ownCloud. Together with a fetch functionality which gets all content from the ownCloud that already covers a lot.

But of course the target is to get a fully functional two way syncing.

Improve csync

The decision now is to improve csync and fade off the sitecopy backend, for this

  • Mirall already utilizes csync with good results for local directories and
    ftp servers. csync has proofed to implement the syncing algorithm very well.
  • csync comes with a shared library to link from applications in opposite to the
    sitecopy solution which means calling an external script.
  • the csync library offers a natural interface for people who want to write an
    additional client, for example based on a different gui toolkit.
  • csync offers a command line client! That means that syncing ownCloud from command line comes for free.
  • csync has a clean modular plugin system for the backends.

So as a result the idea is to create a WebDAV backend plugin for csync. To manage
the WebDAV communication, libneon is used. This is work in progress, currently
happing in a dev branch in csync upstream.

Mirall improvements

The work on mirall happens together with miralls upstream. As the ownCloud community is aiming for a specific ownCloud client I will work out options together with Duncan how we can give mirall different names (ownCloud and mirall obviously) and maybe themes and such.

We will target for a system tray tool that allows to manage syncronized folders for the first release, not much more fancy stuff planned now.

Mirall currently is plain Qt, but on the longer run it will get KDE improvements such as KWallet integration to be compiled in optionally on platforms where it makes sense.

Mirall will be available on Linux, Windows and MacOS.


We plan for a beta version of the ownCloud client for early march, at least on  Linux. A first stable version will be released with ownCloud4, again at least for Linux, with second priority Windows.

Other Sync Clients

There is work going on on other desktop sync clients. I know its good to combine efforts in FOSS, but I apologise for staying on the mirall path, I already have been on it for too long. On the other hand I don’t  think its a problem to have more than one client driven by community. Diversity is one of the strength of FOSS.


Already now, even if there is nothing released yet, a big thanks goes to Duncan Mac Vicar, the initial author of mirall, for beeing very cooperative with mirall as well as to Andreas Schneider, the founder of csync, who actively helps to get webDAV support into csync. Both are very enthusiastic about ownCloud which is great and motivating :-)

Many others send in patches, help compiling on other platforms, test and give suggestions. Many thanks for that, your contribution is very appreciated.

Nov 8

Kraft 0.45 released

A couple of days after the release of Kraft 0.44 with new features I had to prepare a bugfix release. It’s labeled 0.45 and was released today. It fixes a bug that prints wrong decimal places on the PDF documents which results in wrong calculations on the document. 

That is a very severe and not acceptable bug, as the wrong documents could make it to a customer of a Kraft user and as a result harm the business. I apologize for any inconvenience.

Please skip Kraft 0.44 and use version 0.45 instead.

Nov 7

Kraft 0.44 released

around fife month after the last release I am happy to annouce version 0.44 of Kraft, the KDE software to manage business documents like offers and invoices in the small enterprise.

This development cycle was very much affected by work around the integration of the Akonadi based address book. I have gone through a lot of cycles of tries and tests, with various combinations of KDE- and PIM libraries and Akonadi and Nepomuk setups. Not always the stack was transparent to me nor the integration of the various parts perfect. But we’re KDE with our welknown community, and so I finally had the pleasure to go through my and other code and fix it togehter with Kevin and Tobias on Desktop Summit this summer. That brought back  motivation, thanks :-)

So now one of the strengthes of the KDE platform from the application developers POV, which is the availability of powerful software building blocks such as an easy integratable address book, is now back to Kraft and users can again fully benefit from it.

Apart from that I did a lot of small and larger bugfixes, for example 0.44 contains a full rewrite of the text template management for head- and footer texts. It contains a more clear UI and context sensitive help now for the users benefit.

Kraft now also comes with localized PDF templates for documents. It was possible to use custom templates before and there were localized ones around, but it was an administrative task to use them. Now Kraft picks automatically the right one depending on the language settings which should be a nice improvement for new users evaluating Kraft.

As usual I am happy to get feedback. Kraft is also very open to contributions, as in code, documentation, marketing bug reporting and such. Please check the Contribution Page on the project website for details.