Kamion
Development blog
Migration (29. 1. 2007.)
- The blog has moved to http://ivan-cukic-kde.blogspot.com/. This page is no longer updated. This page will remain on the server until I set the project webpage at the sourceforge.
Kamion hit the SVN (28. 1. 2007.)
- Well, as I've promissed, Kamion is uploaded to SVN (/trunk/playground/utils/kamion). The code for the extraction of the archives is removed from the library for the time being because I don't want anyone to come to my door with a Windows computer as a revenge if it doesn't work. :)
- There is only a couple of things that need to be done. Since the library doesn't support localization/internationalization due to speed and database size, GUI need the i18n files for the resources which will be formatted as .desktop files. You'll see.
Update (14. 1. 2007.)
- I've received an e-mail tonight with concerns about the progress of the Kamion
since there was no news on this blog for almost two months (didn't even know
that someone is reading this :) ).
I would like to be able to say that the project is completed and production ready, but the stall that begun because of the exams got completely new dimension when the computer started communicating with me using the smoke signals. My mother board was burnt down. So I was without my precious for more than one month.
In the next few days, I'll update the project to work with the latest KDE trunk and upload it so the KDE SVN.
Sorry for the delay...
Stall (13. 11. 2006.)
- There is only a small amount of work needed to be done to finish the Kamion but it will need to be put aside for a couple of weeks. Exams and money earning are the reasons for this stall. :)
Latest changes (26. 10. 2006.)
|
|
|
- Redesigned Exception system in libKamion. The GUI now reacts to all exceptions raised by the library with user-friendly messages
- Slightly altered look and feel of the Kamion GUI
- Configuration dialog finished. Option to change the default Kamion database location added.
Some screenshots of the latest version (19. 10. 2006.)
|
|
|
Kamion Application Tree Widget (11. 10. 2006.)
-
The main component for displaying the Kamion application database is finished. It has advanced filtering features
similar to those in Synaptic package manager, marking the application as favorite (the star on the right in the
screenshot)...
Problems, CMake and GUI (15. 9. 2006.)
- Last period begun with many hardware related problems which took a lot of time to solve. Now (at last) my computer runs well under Edgy (testing version of Ubuntu GNU/Linux). And I have compiled SVN version of KDE4 today.
- In the last couple of days I switched the building system of the project to CMake - to be KDE 4 compatible.
- The basic GUI shell is finished (in QT4) - now the main problem is creating a couple of custom widgets for displaying application information and resources.
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
| Data Structures | 100% |
| Backends | |
| SQLite 3 | 100% |
| XML (via QT SAX API) | 100% |
| XML (via Xerces-C)* | 0% |
| Archiving/Dearchiving | |
| Format Specification | 100% |
| Archiving Implementation (via QProcess) | 100% |
| Dearchiving Implementation (via QProcess) | 100% |
| Implementation (via PThreads)* | 0% |
| Kamion KDE GUI | |
| Look and Feel | 100% |
| Implementation | 90% |
| Other UIs* | |
| 100% | |
| GTK2 UI | 0% |
| User Friendly Console UI | 0% |
* 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.





