Hello!
We are Adrian Niţu and Andrei Datcu, two students who with the help and guidelines of our mentor, Veaceslav Munteanu tried to make our first, small steps into the great world of open source by working for digiKam project.
What is DigiKam?
DigiKam is a photo editing and management software. It’s motto is “Manage your photographs like a professional with the power of open source”. Because it’s a very big and important project, digiKam is divided into two parts: digiKam core and KipiPlugins, which is a backbone constantly extended and maintained thus offering it’s users many features. It uses the following technologies:
- C++
- Qt
Our tasks:
Our first tasks, implied working on SendImages, TimeAdjust and KmlExport kipi-plugins. Firstly, we had to add some labels and hints in the SendImages plugin, in order to explain unclear functionalities [1]. Our next tasks was to improve the TimeAdjust plugin. We had to add the option for a user to zoom using Ctrl+Mouse Wheel and +/-[2]. Therefore, following the advice of the developers we changed the class used for image display and replaced TimeAdjust’s original class with a common, shared class. This added not only the above functionalities, but also made the code clearer and improved it’s modularity. Also on the TimeAdjust plugin, we added a new feature, consisting of a progress bar to show not only how much of the task was completed, but also that the plugin is still working. The KmlExport plugin had an file convert bug. Although as simple as a formatting glitch, it took us a while to find exactly where the bug was found.
Our second challenge was to try to port two plugins from one threading architecture to another. ThreadWeaver is becoming a powerfull standard in parallel processing, and the Digikam software collection wanted to take advantage of it’s strenghts. It was quite difficult trying to work for it as it involved rewriting a class entirely, and we were pressured by time as we also had some partial exams during that time. However, shortly before the completion of CDL we found out that somebody else had already completed these tasks, making our progress null and void. This made us sad, but it also served as a reminder that in the Open Source world we are never truly working alone.
Conclusion:
Although we did not manage to finish all our tasks, we now have the taste of open source programming. We have learned a lot of things, especially how to work as a team, for such an important project like digiKam.
During the CDL course we found out the importance of code understanding and team work and, more important, that weekends spent at school can be fun.
[1]: https://bugs.kde.org/show_bug.cgi?id=268315
[2]: https://bugs.kde.org/show_bug.cgi?id=268317
