Kamion

Development blog

Migration (29. 1. 2007.)

Kamion hit the SVN (28. 1. 2007.)

Update (14. 1. 2007.)

Stall (13. 11. 2006.)

Latest changes (26. 10. 2006.)

Screenshot Screenshot Screenshot

Some screenshots of the latest version (19. 10. 2006.)

Screenshot Screenshot Screenshot

Kamion Application Tree Widget (11. 10. 2006.)

Problems, CMake and GUI (15. 9. 2006.)

libKamion finished (22. 8. 2006.)

In spite of the fact that last few days were mostly spent at the music festival in Belgrade called BeerFest, the library and the simple console UI are 100% completed and tested on kmail application and a couple of dummy test apps.

Archive handling and TUI (20. 8. 2006.)

Archive handling is almost complete and so is the simple console (text) UI. Unfortunately I haven't found a way to archive contents of named pipes using tar so as for the time beeing the temp files really exist.

Archive handling (17. 8. 2006.)

Instead of creating a complete file structure in the temp directory and compressing it into one tarball (like the original Kamion project was implemented), I will use a slightly different approach - named pipes (see the mkfifo() man page) - so I will be able to make a strict separation of the resources in the kamion archive. The archive itself will be consisted of the Manifest file that will contain the info about the resources and a tar file for each resource.

Backends Tested (16. 8. 2006.)

Backends work as supposed. Passed all tests.

Reorganisation Finished (14. 8. 2006.)

The development of the library was slowed down for last few weeks due to simplification and reorganisation of the architecture and API that resulted in rewriting of the backend drivers (SQLite3 and XML). The good news is that the capabilities of the classes are much improved with much simpler interface.

State of development

libKamion
Data Structures100%
Backends
SQLite 3100%
XML (via QT SAX API)100%
XML (via Xerces-C)*0%
Archiving/Dearchiving
Format Specification100%
Archiving Implementation (via QProcess)100%
Dearchiving Implementation (via QProcess)100%
Implementation (via PThreads)*0%
Kamion KDE GUI
Look and Feel100%
Implementation90%
Other UIs*
Simple console UI100%
GTK2 UI0%
User Friendly Console UI0%

* Not intended to be a part of the Season of KDE 2006. Will be finished independently

Project Summary

The goal of the Kamion project is to make a way for even the most unexperienced user to transfer his data such as e-mail messages, IM program history as well as the configuration of those programs from one computer to another. (can be used for backup purposes too)

Project Organization

libKamion

libKamion is the core of the Kamion system. Contains all basic functionality such as database querying, application data archiving and restoring.
Separating the original Kamion project into the library and the GUI will allow other (independent) programs (such as KMail, etc.) to make Kamion archives from within themselves without the need for the Kamion application itself.

Providing multiple backends - for the time being sqlite3 and XML - is going to allow the Kamion to have a large and fast database of the data needed by Kamion to backup most of the system's applications (sqlite3) and at the same time, when an application like KMail uses the library it can pass to it only one configuration file (XML) to backup only it's data.

Current plan for dependences are SQLite 3 and QT 4. Further development will allow replacing QT 4 dependency with Xerces-C and PStream for GNU/Linux distributions that do not provide the QT library.

Kamion KDE GUI

User-friendly (and idiot-friendly :) ) GUI for the KDE Desktop Environment that will use the libKamion library for the actual work.