Digikam/GSoC2013: Difference between revisions

From KDE Community Wiki
 
(93 intermediate revisions by 6 users not shown)
Line 84: Line 84:
* Lead Mentor        : Islam Wazery
* Lead Mentor        : Islam Wazery
* Alternative Mentor : Marcel Wiesweg
* Alternative Mentor : Marcel Wiesweg
* Working on        : digiKam "gsoc2013-editorcanvas-mv" Git branch
* Working on        : digiKam "<span style="color:orange">gsoc2013-editorcanvas-mv</span>" Git branch
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/geow812/2001 Proposal page]
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/geow812/2001 Proposal page]
* Status : pending
* Status : <span style="color:red">Completed</span>


== Port Showfoto Thumb bar to Qt4 Model/View ==
== Port Showfoto Thumb bar to Qt4 Model/View ==
Line 94: Line 94:
* Lead Mentor        : Islam Wazery
* Lead Mentor        : Islam Wazery
* Alternative Mentor : Gilles Caulier
* Alternative Mentor : Gilles Caulier
* Working on        : digiKam "gsoc2013-thumbbar-mv" Git branch
* Working on        : digiKam "<span style="color:orange">gsoc2013-thumbbar-mv</span>" Git branch
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/tootis/1 Proposal page]
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/tootis/1 Proposal page]
* Status : pending
* Status : <span style="color:red">Completed</span>


== digiKam Tag Manager ==
== digiKam Tag Manager ==


* Student            : [https://plus.google.com/114906808699351374523 Veaceslav Munteanu] <slavuttici at gmail dot com>
* Student            : [https://plus.google.com/114906808699351374523 Veaceslav Munteanu] <veaceslav dot munteanu90 at gmail dot com>
* Come from          : Bucharest, Romania
* Come from          : Bucharest, Romania
* Lead Mentor        : Smit Mehta
* Lead Mentor        : Smit Mehta
* Alternative Mentor : Marcel Wiesweg
* Alternative Mentor : Marcel Wiesweg
* Working on        : digiKam "gsoc2013-tagmngr" Git branch
* Working on        : digiKam "<span style="color:orange">gsoc2013-tagmngr</span>" Git branch
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/slavuttici/35001 Proposal page]
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/slavuttici/35001 Proposal page]
* Status : pending
* Status : <span style="color:red">Completed</span>


== Image Quality Sorter for digiKam ==
== Image Quality Sorter for digiKam ==
Line 114: Line 114:
* Lead Mentor        : Gilles Caulier
* Lead Mentor        : Gilles Caulier
* Alternative Mentor : Marcel Wiesweg
* Alternative Mentor : Marcel Wiesweg
* Working on        : digiKam "gsoc2013-imgqsort" Git branch
* Working on        : digiKam "<span style="color:orange">gsoc2013-imgqsort</span>" Git branch
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/gwty/1 Proposal page]
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/gwty/1 Proposal page]
* Status : pending
* Status : <span style="color:red">Completed</span>


== Local Adjustment Tool in digiKam ==
== Local Adjustment Tool in digiKam ==
Line 124: Line 124:
* Lead Mentor        : Gilles Caulier
* Lead Mentor        : Gilles Caulier
* Alternative Mentor : ???
* Alternative Mentor : ???
* Working on        : digiKam "gsoc2013-localadj" Git branch
* Working on        : digiKam "<span style="color:orange">gsoc2013-localadj</span>" Git branch
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/sayantand/1 Proposal page]
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/sayantand/1 Proposal page]
* Status : pending
* Status : <span style="color:green">Pending</span>


== Cloud Integration Export Plugin ==
== Cloud Integration Export Plugin ==
Line 134: Line 134:
* Lead Mentor        : Pankaj Kumar
* Lead Mentor        : Pankaj Kumar
* Alternative Mentor : Smit Mehta
* Alternative Mentor : Smit Mehta
* Working on        : Kipi-plugins "gsoc2013-cloudexport" Git branch
* Working on        : Kipi-plugins "<span style="color:orange">gsoc2013-cloudexport</span>" Git branch
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/saurabh_patel/1 Proposal page]
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/saurabh_patel/1 Proposal page]
* Status : pending
* Status : <span style="color:red">Completed</span>


== HDR Composer Plugin ==
== HDR Composer Plugin ==


* Student            : [https://plus.google.com/113001344646173538510 Soumajyoti Sarkar] <ergy dot ergy at gmail dot com>
* Student            : [https://plus.google.com/113001344646173538510 Soumajyoti Sarkar] <ergy dot ergy at gmail dot com>
* Come from          : Nagpur, India
* Come from          : Shibpur, India
* Lead Mentor        : Benjamin Girault
* Lead Mentor        : Benjamin Girault
* Alternative Mentor : Janardhan Reddy and Marcel Wiesweg
* Alternative Mentor : Janardhan Reddy and Marcel Wiesweg
* Working on        : Kipi-plugins "gsoc2013-hdr" Git branch
* Working on        : Kipi-plugins "<span style="color:orange">gsoc2013-hdr</span>" Git branch
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/soumajyoti/1 Proposal page]
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/soumajyoti/1 Proposal page]
* Status : pending
* Status : <span style="color:green">Pending</span>


== Video Metadata Write support for Exiv2 ==
== Video Metadata Write support for Exiv2 ==
Line 154: Line 154:
* Lead Mentor        : Abhinav Badola
* Lead Mentor        : Abhinav Badola
* Alternative Mentor : Gilles Caulier
* Alternative Mentor : Gilles Caulier
* Working on        : Exiv2 "gsoc2013-videow" Svn branch
* Working on        : [https://code.google.com/p/cocoatutorials/source/list Exiv2] and [https://projects.kde.org/projects/extragear/graphics/kipi-plugins/repository/show?rev=development%2Fgsoc2013-videow kipi-plugins],[https://projects.kde.org/projects/kde/kdegraphics/libs/libkexiv2/repository/show?rev=development%2Fgsoc2013-videow libkexiv2]
* Wiki Page         
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/maheshhegde/45001 Proposal page]
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/maheshhegde/45001 Proposal page]
* Status : pending
* Status : <span style="color:green">Pending</span>


== Exiv2 "Cloud Ready" Project ==
== Exiv2 "Cloud Ready" Project ==
Line 164: Line 165:
* Lead Mentor        : Robin Mills
* Lead Mentor        : Robin Mills
* Alternative Mentor : Abhinav Badola
* Alternative Mentor : Abhinav Badola
* Working on        : Exiv2 "gsoc2013-cloudr" Svn branch
* Working on        : Exiv2 "<span style="color:orange">gsoc2013-cloudr</span>" Svn branch
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/nhu_dinh_tuan/18001 Proposal page]
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/nhu_dinh_tuan/18001 Proposal page]
* Status : pending
* Status : <span style="color:green">Pending</span>


= Mentors List and Coordination =
= Mentors List and Coordination =
Line 174: Line 175:
! Name  
! Name  
! Email  
! Email  
! Country
! Come From
|-
|-
| [https://plus.google.com/u/0/116398684787400584523 Gilles Caulier]
| [https://plus.google.com/u/0/116398684787400584523 Gilles Caulier]
| <caulier dot gilles at gmail dot com>
| <caulier dot gilles at gmail dot com>
| France
| Aix en provence, France
|-
|-
| [http://www.facebook.com/profile.php?id=1332031299 Marcel Wiesweg]
| [http://www.facebook.com/profile.php?id=1332031299 Marcel Wiesweg]
| <marcel dot wiesweg at gmx dot de>
| <marcel dot wiesweg at gmx dot de>
| Germany
| Essen, Germany
|-
|-
| [https://plus.google.com/u/0/107198225472060439855 Abhinav Badola]
| [https://plus.google.com/u/0/107198225472060439855 Abhinav Badola]
| <mail dot abu dot to at gmail dot com>
| <mail dot abu dot to at gmail dot com>
| India
| Chandigarh, India
|-
|-
| [https://plus.google.com/u/0/113404087048256151794 Smit Mehta]
| [https://plus.google.com/u/0/113404087048256151794 Smit Mehta]
| <smit dot meh at gmail dot com>
| <smit dot meh at gmail dot com>
| India
| Chennai, India
|-
|-
| [https://plus.google.com/u/0/114444774108176364727 Islam Wazery]
| [https://plus.google.com/u/0/114444774108176364727 Islam Wazery]
| <wazery at ubuntu dot com>
| <wazery at ubuntu dot com>
| Egypt
| Cairo, Egypt
|-
|-
| [https://plus.google.com/u/0/109282675370620103497 Benjamin Girault]  
| [https://plus.google.com/u/0/109282675370620103497 Benjamin Girault]  
| <benjamin dot girault at gmail dot com>
| <benjamin dot girault at gmail dot com>
| France
| Lyon, France
|-
|-
| [https://plus.google.com/u/0/105109738484224357562 Robin Mills]
| [https://plus.google.com/u/0/105109738484224357562 Robin Mills]
| <robin at clanmills dot com>
| <robin at clanmills dot com>
| USA
| San Jose, USA
|-
|-
| [https://plus.google.com/114958890691877878308 Pankaj Kumar]
| [https://plus.google.com/114958890691877878308 Pankaj Kumar]
| <me at panks dot me>
| <me at panks dot me>
| India
| Hyderabad, India
|-
| [https://plus.google.com/u/0/115189234663281150047 Janardhan Reddy]
| <annapareddyjanardhanreddy at gmail dot com>
| India
|-
|-
|}
|}
Line 217: Line 214:
Students and mentors will use [https://mail.kde.org/mailman/listinfo/digikam-soc-devel digikam-soc-devel at kde dot org] mailing-list to coordinate projects.
Students and mentors will use [https://mail.kde.org/mailman/listinfo/digikam-soc-devel digikam-soc-devel at kde dot org] mailing-list to coordinate projects.


= Repositories Branching and Dates =
= 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 [http://techbase.kde.org/Contribute/Get_a_Contributor_Account this page for details] about KDE developers rules.
 
For '''Exiv2 project''', please contact your mentor to get write access on Subversion repository.
 
== Coverity Analyzer Account ==
 
digiKam and Exiv2 have registred in [http://scan2.coverity.com/ 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 :
 
* [http://scan2.coverity.com/projects/285 digiKam]
* [http://scan2.coverity.com/projects/297 Exiv2]
 
== KDE Repository ==
 
All students working on digiKam will play with KDE Git repository from Git master branch.
 
We have a [https://projects.kde.org/projects/extragear/graphics/digikam/digikam-software-compilation digiKam Software Compilation Repository] where you will be able to checkout all sub-repositories including all shared libraries managed by team. This not included [http://www.exiv2.org/download.html Exiv2] which is hosted outside KDE.
 
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 [https://projects.kde.org/projects/extragear/graphics/digikam/digikam-software-compilation/repository/revisions/master/raw/README this README file].


== Branches Creation and Maintenance ==
== 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. In charge for each students to sync it with git/master periodically. To do it, see below as example how to sync digiKam "gsoc2013" branch tracking "remotes/origin/development/gsoc2013" from KDE git repository:
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:


<source lang="bash">
<source lang="bash">
$>git checkout master
$>git checkout master
$>git pull --rebase
$>git pull --rebase
$>git checkout -b gsoc2013 remotes/origin/development/gsoc2013
$>git checkout -b MY_DEVEL_BRANCH remotes/origin/development/MY_DEVEL_BRANCH
   Branch gsoc2013 set up to track remote branch development/gsoc2013 from origin.
   Branch MY_DEVEL_BRANCH set up to track remote branch development/MY_DEVEL_BRANCH from origin.
   Switched to a new branch 'gsoc2013'
   Switched to a new branch 'MY_DEVEL_BRANCH'
$>git merge master
$>git merge master
   Merge made by the 'recursive' strategy.
   Merge made by the 'recursive' strategy.
Line 234: Line 256:
$>git push
$>git push
</source>
</source>


The 2 first lines take a sure that your local master repository is up to date.
The 2 first lines take a sure that your local master repository is up to date.
The 3rd line create in local the "gsoc2013" development branch.
The 3rd line create in local the "MY_DEVEL_BRANCH" development branch.
Merge between master and gsoc2013 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.
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.
Finally push your merge into remote KDE repository.


Note: If you have already created gsoc2013 branch, just run "git checkout gsoc2013" as well instead git checkout -b gsoc2013 remotes/origin/development/gsoc2013. This give this concatened command line:
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:


<source lang="bash">
<source lang="bash">
$>git checkout master; git pull --rebase; git checkout gsoc2013; git pull; git merge master
$>git checkout master; git pull --rebase; git checkout MY_DEVEL_BRANCH; git pull; git merge master
   ...
   ...
$>git push
$>git push
</source>
</source>


For advanced rules, especially to create remote working branches in KDE git repository, please look on [http://techbase.kde.org/Development/Git/Recipes#Creating_.2F_Deleting_Remote_Branches this tutorial] from KDE TechBase.
For advanced rules, especially to create remote working branches in KDE git repository, please look on [http://techbase.kde.org/Development/Git/Recipes#Creating_.2F_Deleting_Remote_Branches this tutorial] from KDE TechBase.
Line 259: Line 283:
! Remark  
! Remark  
|-
|-
| 29 May 2013
| bgcolor="#00FFAA" | 02 Jun 2013
| digiKam gsoc2013 branch created from KDE git/master
| bgcolor="#00FFAA" | digiKam Software Collection 3.3.0-beta1 released
| -
| bgcolor="#00FFAA" | -
|-
| bgcolor="#00FFAA" | 09 Jun 2013
| bgcolor="#00FFAA" | digiKam GSoC-2013 branches created in KDE git repository
| bgcolor="#00FFAA" | see branches listed in [http://community.kde.org/Digikam/GSoC2013#digiKam_Google_Summer_of_Code_2013_Projects_list projects list]
|-
| bgcolor="#00FFAA" | 09 Jun 2013
| bgcolor="#00FFAA" | Kipi-plugins GSoC-2013 branches created in KDE git repository
| bgcolor="#00FFAA" | see branches listed in [http://community.kde.org/Digikam/GSoC2013#digiKam_Google_Summer_of_Code_2013_Projects_list projects list]
|-
| bgcolor="#00FFAA" | 09 Jun 2013
| bgcolor="#00FFAA" | Exiv2 GSoC-2013 branches created in SVN repository
| bgcolor="#00FFAA" | see branches listed in [http://community.kde.org/Digikam/GSoC2013#digiKam_Google_Summer_of_Code_2013_Projects_list projects list]
|-
| bgcolor="#00FFAA" | 21 Jul 2013
| bgcolor="#00FFAA" | digiKam Software Collection 3.3.0 released
| bgcolor="#00FFAA" | sync with [http://techbase.kde.org/Schedules/KDE4/4.10_Release_Schedule KDE SC 4.10.5]
|-
| bgcolor="#00FFAA" | 01 Sep 2013
| bgcolor="#00FFAA" | digiKam Software Collection 3.4.0 released
| bgcolor="#00FFAA" | sync with [http://techbase.kde.org/Schedules/KDE4/4.11_Release_Schedule KDE SC 4.11.1]
|-
|-
| 29 May 2013
| bgcolor="#00FFAA" | 29 Sep 2013
| Kipi-plugins gsoc2013 branch created from KDE git/master
| bgcolor="#00FFAA" | digiKam Software Collection 3.5.0 released
| -
| bgcolor="#00FFAA" | sync with [http://techbase.kde.org/Schedules/KDE4/4.11_Release_Schedule KDE SC 4.11.2]
|-
|-
| 29 May 2013
| bgcolor="#00FFAA" | 02 Oct 2013
| Exiv2 gsoc2013 branch created from SVN
| bgcolor="#00FFAA" | digiKam GSoC-2013 development branches are merged back to git/master
| -
| bgcolor="#00FFAA" | Note : only Tags Manager and Image Quality Sort projects
|-
|-
| 21 Jul 2013
| bgcolor="#00FFAA" | 03 Nov 2013
| digiKam Software Collection 3.3.0 released
| bgcolor="#00FFAA" | Kipi-plugins GSoC-2013 development branches are merged back to git/master
| -
| bgcolor="#00FFAA" | Note : only Cloud Integration Export project
|-
|-
| 18 Aug 2013
| bgcolor="#00FFAA" | 01 Dec 2013
| digiKam Software Collection 3.4.0 released
| bgcolor="#00FFAA" | digiKam Software Collection 4.0.0 beta1
| Sync with KDE 4.11
| bgcolor="#00FFAA" | Note : new implementation of libkdcraw using an external shared libraw
|-
|-
| 20 Aug 2013
| bgcolor="#00FFAA" | 15 Dec 2013
| Exiv2 gsoc2013 branch merged to SVN trunk
| bgcolor="#00FFAA" | digiKam GSoC-2013 development branches are merged back to git/master
| -
| bgcolor="#00FFAA" | Note : only Showfoto Qt4 model/view port project
|-
|-
| 08 sep 2013
| bgcolor="#00FFAA" | 12 Jan 2014
| digiKam and Kipi-plugins gsoc2013 development branches are merged back to git/master
| bgcolor="#00FFAA" | digiKam Software Collection 4.0.0 beta2
| -
| bgcolor="#00FFAA" | Note : huge fixes from Import tool included
|-
|-
| 15 Sep 2013
| bgcolor="#00FFAA" | 02 Feb 2014
| digiKam Software Collection 4.0.0 beta1 including all GSoC 2013 works
| bgcolor="#00FFAA" | digiKam GSoC-2013 development branches are merged back to git/master
| -
| bgcolor="#00FFAA" | Note : only Image Editor Qt4 model/view port project
|-
|-
| 06 Oct 2013
| bgcolor="#00FFAA" | 23 Feb 2014
| digiKam Software Collection 4.0.0 beta2
| bgcolor="#00FFAA" | digiKam Software Collection 4.0.0 beta3
| -
| bgcolor="#00FFAA" | Note : Qt3Support classes dependency removed
|-
|-
| 10 Nov 2013
| bgcolor="#00FFAA" | 30 mar 2014
| digiKam Software Collection 4.0.0 beta3
| bgcolor="#00FFAA" | digiKam Software Collection 4.0.0 beta4
| -
| bgcolor="#00FFAA" |
|-
|-
| 22 Dec 2013
| bgcolor="#FF9900" | 13 apr 2014
| digiKam Software Collection 4.0.0 RC
| bgcolor="#FF9900" | digiKam Software Collection 4.0.0 RC
| -
| bgcolor="#FF9900" |
|-
|-
| 09 feb 2014
| bgcolor="#FF9900" | 11 may 2014
| digiKam Software Collection 4.0.0 Final
| bgcolor="#FF9900" | digiKam Software Collection 4.0.0
| sync with KDE 4.12
| bgcolor="#FF9900" | sync with [http://techbase.kde.org/Schedules/KDE4/4.12_Release_Schedule KDE SC 4.12.3]
|}
|}


== Coding Sprint ==
== Coding Sprint ==


As a lots of students come from India this year, it will be nice to plan a reunion between developers in  this country to reduce travel and hotel costs.
As lots of students come from India this year, it will be nice to plan a reunion between developers in  this country to reduce travel and hotel costs.


* [https://plus.google.com/u/0/105465824670275586186 Colin Guthrie] suggesting to apply for future [http://atulchitnis.net/2013/one-more-thing FOSS.IN/2013] event.
* [https://plus.google.com/u/0/105465824670275586186 Colin Guthrie] suggesting to apply for future [http://atulchitnis.net/2013/one-more-thing FOSS.IN/2013] event.


* [https://plus.google.com/113691654116060042197 Pradeepto Bhattacharya] propose through G+ to organize the events somewhere in India.
* [https://plus.google.com/113691654116060042197 Pradeepto Bhattacharya] propose through G+ to organize the events somewhere in India.

Latest revision as of 12:43, 31 March 2014

Small Projects to Introduce Students

libjpeg-turbo detection

Auto-Lens correction tool don't work in BQM

Keyboard Tagging Improvements

  • Patch to review : http://git.reviewboard.kde.org/r/108382/
  • Assigned to : Saurabh Patel
  • Note : author keyboard workflow need to be understood and tested. It miss some menu entries to make shortcuts visible to end users.
  • Status : Pending

Panorama Tool - Hiding binaries details

  • Brief explanation : The goal is to hide the external binaries table when all the binaries are found on the system. A "Binaries' Details" button should be added, which upon clicked will show the table. If all the binaries are not found on start-up, then, the table should be shown by default (can be done by simply generating a pseudo click on the above described button once its implemented). Once it is successfully implemented here, it can be extended to all kipi-plugins which use external binaries.
  • Knowledge Prerequisite : C++, Qt
  • Assigned to : Nishita Tanwar
  • Status : Pending

Read face from Picasa metadata to populate digiKam database

Video Support in Advanced Search Tool

  • Bugzilla entry : https://bugs.kde.org/show_bug.cgi?id=164442
  • Assigned to : Yiou Wang
  • Note : an initial patch for Advanced Search tool GUI have been posted and must be adapted to last code from git/master. But DB queries builder is not patched and need to be done.
  • Status : Completed

Fix KML export file generator

Remove internal Clapack library

Auto Crop Tool

  • Brief explanation: In some users case relevant of photo workflow, as Panorama assembly for example, digiKam need an algorithm to detect black hole borders of image and crop it automatically, respecting the most largest suitable image area. No adjustment must be require by end user. As JPEG is the most used image format used in photography and as JPEG library support a loss-less crop feature, a specific way must be implemented to process JPEG crop in batch without to lose image quality.
  • Dependencies: Batch Queue Manager, Image Editor.
  • Bugzilla entry: 267436, 204135
  • Knowledge Prerequisite: C/C++, Qt, Imagery
  • Expected results: new editor and batch queue manager tools to crop automatically images
  • Assigned to : Sayantan Datta
  • Status : Completed

JAlbum plugin

Sort Image by Pixel Size and Image Ratio

  • Patch to review : http://git.reviewboard.kde.org/r/108574/
  • Assigned to : Pankaj Kumar
  • Note : this patch is incomplete. It miss something to do in Filter tab from icon view right sidebar, and Advanced Search tool to perform search based on these criteria.
  • Status : Completed

digiKam Google Summer of Code 2013 Projects list

Port Image digiKam Editor Canvas Classes to Qt4 Model/View

  • Student  : Yiou Wang <geow812 at gmail dot com>
  • Come from  : Beijing, China
  • Lead Mentor  : Islam Wazery
  • Alternative Mentor : Marcel Wiesweg
  • Working on  : digiKam "gsoc2013-editorcanvas-mv" Git branch
  • Proposal page
  • Status : Completed

Port Showfoto Thumb bar to Qt4 Model/View

  • Student  : Mohamed Anwer <mohammed dot ahmed dot anwer at gmail dot com>
  • Come from  : Cairo, Egypt
  • Lead Mentor  : Islam Wazery
  • Alternative Mentor : Gilles Caulier
  • Working on  : digiKam "gsoc2013-thumbbar-mv" Git branch
  • Proposal page
  • Status : Completed

digiKam Tag Manager

  • Student  : Veaceslav Munteanu <veaceslav dot munteanu90 at gmail dot com>
  • Come from  : Bucharest, Romania
  • Lead Mentor  : Smit Mehta
  • Alternative Mentor : Marcel Wiesweg
  • Working on  : digiKam "gsoc2013-tagmngr" Git branch
  • Proposal page
  • Status : Completed

Image Quality Sorter for digiKam

  • Student  : Gowtham Ashok <gwty93 at gmail dot com>
  • Come from  : Chennai, India
  • Lead Mentor  : Gilles Caulier
  • Alternative Mentor : Marcel Wiesweg
  • Working on  : digiKam "gsoc2013-imgqsort" Git branch
  • Proposal page
  • Status : Completed

Local Adjustment Tool in digiKam

  • Student  : Sayantan Datta <kenzo dot zombie at gmail dot com>
  • Come from  : Durgapur, India
  • Lead Mentor  : Gilles Caulier
  • Alternative Mentor : ???
  • Working on  : digiKam "gsoc2013-localadj" Git branch
  • Proposal page
  • Status : Pending

Cloud Integration Export Plugin

  • Student  : Saurabh Patel <saurabhpatel7717 at gmail dot com>
  • Come from  : Ahmedabad, India
  • Lead Mentor  : Pankaj Kumar
  • Alternative Mentor : Smit Mehta
  • Working on  : Kipi-plugins "gsoc2013-cloudexport" Git branch
  • Proposal page
  • Status : Completed

HDR Composer Plugin

  • Student  : Soumajyoti Sarkar <ergy dot ergy at gmail dot com>
  • Come from  : Shibpur, India
  • Lead Mentor  : Benjamin Girault
  • Alternative Mentor : Janardhan Reddy and Marcel Wiesweg
  • Working on  : Kipi-plugins "gsoc2013-hdr" Git branch
  • Proposal page
  • Status : Pending

Video Metadata Write support for Exiv2

Exiv2 "Cloud Ready" Project

  • Student  : Nhu Dinh Tuan <nhudinhtuan at gmail dot com>
  • Come from  : Singapore, Asia
  • Lead Mentor  : Robin Mills
  • Alternative Mentor : Abhinav Badola
  • Working on  : Exiv2 "gsoc2013-cloudr" Svn branch
  • Proposal page
  • Status : Pending

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
Abhinav Badola <mail dot abu dot to at gmail dot com> Chandigarh, India
Smit Mehta <smit dot meh at gmail dot com> Chennai, India
Islam Wazery <wazery at ubuntu dot com> Cairo, Egypt
Benjamin Girault <benjamin dot girault at gmail dot com> Lyon, France
Robin Mills <robin at clanmills dot com> San Jose, USA
Pankaj Kumar <me at panks dot me> Hyderabad, India


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.

For Exiv2 project, please contact your mentor to get write access on Subversion repository.

Coverity Analyzer Account

digiKam and Exiv2 have 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. This not included Exiv2 which is hosted outside KDE.

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.

Roadmap and Releases Plan including all GSoC-2013 works

Date Action Remark
02 Jun 2013 digiKam Software Collection 3.3.0-beta1 released -
09 Jun 2013 digiKam GSoC-2013 branches created in KDE git repository see branches listed in projects list
09 Jun 2013 Kipi-plugins GSoC-2013 branches created in KDE git repository see branches listed in projects list
09 Jun 2013 Exiv2 GSoC-2013 branches created in SVN repository see branches listed in projects list
21 Jul 2013 digiKam Software Collection 3.3.0 released sync with KDE SC 4.10.5
01 Sep 2013 digiKam Software Collection 3.4.0 released sync with KDE SC 4.11.1
29 Sep 2013 digiKam Software Collection 3.5.0 released sync with KDE SC 4.11.2
02 Oct 2013 digiKam GSoC-2013 development branches are merged back to git/master Note : only Tags Manager and Image Quality Sort projects
03 Nov 2013 Kipi-plugins GSoC-2013 development branches are merged back to git/master Note : only Cloud Integration Export project
01 Dec 2013 digiKam Software Collection 4.0.0 beta1 Note : new implementation of libkdcraw using an external shared libraw
15 Dec 2013 digiKam GSoC-2013 development branches are merged back to git/master Note : only Showfoto Qt4 model/view port project
12 Jan 2014 digiKam Software Collection 4.0.0 beta2 Note : huge fixes from Import tool included
02 Feb 2014 digiKam GSoC-2013 development branches are merged back to git/master Note : only Image Editor Qt4 model/view port project
23 Feb 2014 digiKam Software Collection 4.0.0 beta3 Note : Qt3Support classes dependency removed
30 mar 2014 digiKam Software Collection 4.0.0 beta4
13 apr 2014 digiKam Software Collection 4.0.0 RC
11 may 2014 digiKam Software Collection 4.0.0 sync with KDE SC 4.12.3

Coding Sprint

As lots of students come from India this year, it will be nice to plan a reunion between developers in this country to reduce travel and hotel costs.