Digikam/GSoC2013

From KDE Community Wiki

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 Git branch
  • Proposal page
  • Status : pending

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 Git branch
  • Proposal page
  • Status : pending

digiKam Tag Manager

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

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 Git branch
  • Proposal page
  • Status : pending

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 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 Git branch
  • Proposal page
  • Status : pending

HDR Composer Plugin

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

Video Metadata Write support for Exiv2

  • Student  : Mahesh Hegde <maheshmhegade at gmail dot com>
  • Come from  : Bangalore, India
  • Lead Mentor  : Abhinav Badola
  • Alternative Mentor : Gilles Caulier
  • Working on  : Exiv2 gsoc2013 Svn branch
  • Proposal page
  • Status : pending

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 Svn branch
  • Proposal page
  • Status : pending

Mentors List and Coordination


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

Repositories Branching and Dates

Branches Creation and Maintenance

  • To create remote working branches in KDE git repository, please look on this tutorial from KDE TechBase.
  • During GSoC 2013 coding time, git/master will still the stable implementation receiving important fixes. A development branch must be sync 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:
$>git checkout master
$>git pull --rebase
$>git checkout -b gsoc2013 remotes/origin/development/gsoc2013
  Branch gsoc2013 set up to track remote branch development/gsoc2013 from origin.
  Switched to a new branch 'gsoc2013'
$>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 "gsoc2013" 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. 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:

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

digiKam

Kipi-plugins

Exiv2

Roadmap and Releases Plan including all GSoC-2013 works

  • 29 May 2013 : digiKam gsco2013 branch created from KDE git/master.
  • 29 May 2013 : Kipi-plugins gsco2013 branch created from KDE git/master.
  • 29 May 2013 : Exiv2 gsoc2013 branch created from SVN.
  • 20 Aug 2013 : Exiv2 gsoc2013 branch merged to SVN trunk.
  • 21 Jul 2013 : digiKam Software Collection 3.3.0 released.
  • 18 Aug 2013 : digiKam Software Collection 3.4.0 released (sync with KDE 4.11).
  • 08 sep 2013 : digiKam and Kipi-plugins gsco2013 development branches are merged back to git/master.
  • 15 Sep 2013 : digiKam Software Collection 4.0.0 beta1 including all GSoC 2013 works.
  • 06 Oct 2013 : digiKam Software Collection 4.0.0 beta2.
  • 10 Nov 2013 : digiKam Software Collection 4.0.0 beta3.
  • 22 Dec 2013 : digiKam Software Collection 4.0.0 RC.
  • 09 feb 2014 : digiKam Software Collection 4.0.0 Final (sync with KDE 5.0).

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.

3/one-more-thing FOSS.IN/2013] event.