Digikam/GSoC2014

From KDE Community Wiki

digiKam Google Summer of Code 2014 Projects list

Integrate KIPI Export Plugins directly in the GUI of KIPI host applications

Add a quick access to Labels in dedicated tree-view

  • Student  : Mohamed Anwer <mohammed dot ahmed dot anwer at gmail dot com>
  • Come from  : Cairo, Egypt
  • Lead Mentor  : Smit Mehta
  • Alternative Mentor : Marcel Wiesweg
  • Working on  : digiKam "gsoc2014-qaccess" Git branch
  • Proposal page
  • Status : Done

Port Greystoration CImg interface to GMic

  • Student  : Veaceslav Munteanu <veaceslav dot munteanu90 at gmail dot com>
  • Come from  : Bucharest, Romania
  • Lead Mentor  : Gilles Caulier
  • Alternative Mentor : Smit Mehta
  • Working on  : digiKam "gsoc2014-greyc" Git branch
  • Proposal page
  • Status : In Progress

Mentors List and Coordination

Name Email Come From
Gilles Caulier <caulier dot gilles at gmail dot com> Aix en provence, France
Marcel Wiesweg <marcel dot wiesweg at gmx dot de> Essen, Germany
Smit Mehta <smit dot meh at gmail dot com> Chennai, India
Teemu Rytilahti <tpr at iki dot fi> Oulu, Finland


Students and mentors will use digikam-soc-devel at kde dot org mailing-list to coordinate projects.

Repositories, Branching, and Dates

Developer Account

To be able to code and work on digiKam project, each student must ask for a developer account to KDE Git repository administrator. See this page for details about KDE developers rules.

Coverity Analyzer Account

digiKam has registred in Coverty Scan Program to report all source code dysfunctions. Code is parsed automatically through a cronned script each week end. Reports are forwarded to digikam-soc-devel_at_kde_dot_org mailing-list.

To be able to review and fix errors reported by Scan analyzer, all students must be registered in the relevant Coverity project :

KDE Repository

All students working on digiKam will play with KDE Git repository from Git master branch.

We have a digiKam Software Compilation Repository where you will be able to checkout all sub-repositories including all shared libraries managed by team.

Students must have configured KDE developer account and checkout all code from KDE repository using SSH method.

Instructions to checkout and compile code is given in this README file.

Branches Creation and Maintenance

During GSoC 2013 coding time, git/master will still the stable implementation receiving important fixes. Each students must create a dedicated development branch for each project (your branch name is defined in project list by "Working on" property). In charge for each students to sync it with git/master periodically. To do it, see below as example how to sync digiKam "MY_DEVEL_BRANCH" branch tracking "remotes/origin/development/MY_DEVEL_BRANCH" from KDE git repository:

$>git checkout master
$>git pull --rebase
$>git checkout -b MY_DEVEL_BRANCH remotes/origin/development/MY_DEVEL_BRANCH
  Branch MY_DEVEL_BRANCH set up to track remote branch development/MY_DEVEL_BRANCH from origin.
  Switched to a new branch 'MY_DEVEL_BRANCH'
$>git merge master
  Merge made by the 'recursive' strategy.
  ...
$>git push


The 2 first lines take a sure that your local master repository is up to date. The 3rd line create in local the "MY_DEVEL_BRANCH" development branch. Merge between master and MY_DEVEL_BRANCH branch is done with 4th line. Git can ask you to resolve conflicts here. When it's done, it will ask you a commit comment. Finally push your merge into remote KDE repository.

Note: If you have already created MY_DEVEL_BRANCH branch, just run "git checkout MY_DEVEL_BRANCH" as well instead git checkout -b MY_DEVEL_BRANCH remotes/origin/development/MY_DEVEL_BRANCH. This give this concatenated command line:

$>git checkout master; git pull --rebase; git checkout MY_DEVEL_BRANCH; git pull; git merge master
  ...
$>git push


For advanced rules, especially to create remote working branches in KDE git repository, please look on this tutorial from KDE TechBase.