Jump to content

Digikam/GSoC2013: Difference between revisions

From KDE Community Wiki
 
(168 intermediate revisions by 9 users not shown)
Line 1: Line 1:
= Small Projects to Introduce Students =
= Small Projects to Introduce Students =


== Read face from Picasa metadata to populate digiKam database ==
== libjpeg-turbo detection ==


* Bugzilla entry : https://bugs.kde.org/show_bug.cgi?id=314509
* Review Board entry : https://git.reviewboard.kde.org/r/108821/
* Bugzilla entry : https://bugs.kde.org/show_bug.cgi?id=277429
* Assigned to : Pothineni sai bhushan
* Assigned to : Veaceslav Munteanu
* Status : <span style="color:green">Pending</span>


== Auto-Lens correction tool don't work in BQM ==
== Auto-Lens correction tool don't work in BQM ==
Line 11: Line 11:
* Bugzilla entry : https://bugs.kde.org/show_bug.cgi?id=303848
* Bugzilla entry : https://bugs.kde.org/show_bug.cgi?id=303848
* Assigned to : Akshay Ratan
* Assigned to : Akshay Ratan
* Status : <span style="color:green">Pending</span>


== Keyboard Tagging Improvements ==
== Keyboard Tagging Improvements ==


* Patch to review : http://git.reviewboard.kde.org/r/108382/
* Patch to review : http://git.reviewboard.kde.org/r/108382/
* Assigned to : ???
* 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.
* Note : author keyboard workflow need to be understood and tested. It miss some menu entries to make shortcuts visible to end users.
* Status : <span style="color:green">Pending</span>
== 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 : <span style="color:green">Pending</span>
== Read face from Picasa metadata to populate digiKam database ==
* Bugzilla entry : https://bugs.kde.org/show_bug.cgi?id=314509
* Bugzilla entry : https://bugs.kde.org/show_bug.cgi?id=277429
* Assigned to : Veaceslav Munteanu
* Status : <span style="color:red">Completed</span>
== 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 : <span style="color:red">Completed</span>
== Fix KML export file generator ==
* Bugzilla entry : https://bugs.kde.org/show_bug.cgi?id=316597
* Assigned to : shashank chakravarthy
* Status : <span style="color:red">Completed</span>
== Remove internal Clapack library ==
* Bugzilla entry : https://bugs.kde.org/show_bug.cgi?id=295423
* Bugzilla entry : https://bugs.kde.org/show_bug.cgi?id=251563
* Assigned to : Gowtham Ashok
* Status : <span style="color:red">Completed</span>
== 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:  [https://bugs.kde.org/show_bug.cgi?id=267436 267436], [https://bugs.kde.org/show_bug.cgi?id=204135 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 : <span style="color:red">Completed</span>
== JAlbum plugin ==
* Bugzilla Entry : https://bugs.kde.org/show_bug.cgi?id=316719
* Assigned to : Gowtham Ashok
* Status : <span style="color:red">Completed</span>


== Sort Image by Pixel Size and Image Ratio ==
== Sort Image by Pixel Size and Image Ratio ==
Line 23: Line 74:
* Assigned to : Pankaj Kumar
* 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.
* 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 : <span style="color:red">Completed</span>
= digiKam Google Summer of Code 2013 Projects list =
== Port Image digiKam Editor Canvas Classes to Qt4 Model/View ==
* Student            : [https://plus.google.com/101883964009694930513 Yiou Wang] <geow812 at gmail dot com>
* Come from          : Beijing, China
* Lead Mentor        : Islam Wazery
* Alternative Mentor : Marcel Wiesweg
* 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]
* Status : <span style="color:red">Completed</span>
== Port Showfoto Thumb bar to Qt4 Model/View ==
* Student            : [https://plus.google.com/106020792892118847381 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 "<span style="color:orange">gsoc2013-thumbbar-mv</span>" Git branch
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/tootis/1 Proposal page]
* Status : <span style="color:red">Completed</span>
== digiKam Tag Manager ==
* Student            : [https://plus.google.com/114906808699351374523 Veaceslav Munteanu] <veaceslav dot munteanu90 at gmail dot com>
* Come from          : Bucharest, Romania
* Lead Mentor        : Smit Mehta
* Alternative Mentor : Marcel Wiesweg
* 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]
* Status : <span style="color:red">Completed</span>
== Image Quality Sorter for digiKam ==
* Student            : [https://plus.google.com/u/0/113235187016472722859 Gowtham Ashok] <gwty93 at gmail dot com>
* Come from          : Chennai, India
* Lead Mentor        : Gilles Caulier
* Alternative Mentor : Marcel Wiesweg
* 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]
* Status : <span style="color:red">Completed</span>
== Local Adjustment Tool in digiKam ==
* Student            : [https://plus.google.com/u/0/100302360459800439676 Sayantan Datta] <kenzo dot zombie at gmail dot com>
* Come from          : Durgapur, India
* Lead Mentor        : Gilles Caulier
* Alternative Mentor : ???
* 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]
* Status : <span style="color:green">Pending</span>
== Cloud Integration Export Plugin ==
* Student            : [https://plus.google.com/104511513259179445417 Saurabh Patel] <saurabhpatel7717 at gmail dot com>
* Come from          : Ahmedabad, India
* Lead Mentor        : Pankaj Kumar
* Alternative Mentor : Smit Mehta
* 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]
* Status : <span style="color:red">Completed</span>
== HDR Composer Plugin ==
* Student            : [https://plus.google.com/113001344646173538510 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 "<span style="color:orange">gsoc2013-hdr</span>" Git branch
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/soumajyoti/1 Proposal page]
* Status : <span style="color:green">Pending</span>
== Video Metadata Write support for Exiv2 ==
* Student            : [https://plus.google.com/113704327590506304403 Mahesh Hegde] <maheshmhegade at gmail dot com>
* Come from          : Bangalore, India
* Lead Mentor        : Abhinav Badola
* Alternative Mentor : Gilles Caulier
* 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]
* Status : <span style="color:green">Pending</span>
== Exiv2 "Cloud Ready" Project ==
* Student            : [https://plus.google.com/110063807819910771416 Nhu Dinh Tuan] <nhudinhtuan at gmail dot com>
* Come from          : Singapore, Asia
* Lead Mentor        : Robin Mills
* Alternative Mentor : Abhinav Badola
* 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]
* Status : <span style="color:green">Pending</span>
= Mentors List and Coordination =
{| border="1" class="wikitable"
|-
! Name
! Email
! Come From
|-
| [https://plus.google.com/u/0/116398684787400584523 Gilles Caulier]
| <caulier dot gilles at gmail dot com>
| Aix en provence, France
|-
| [http://www.facebook.com/profile.php?id=1332031299 Marcel Wiesweg]
| <marcel dot wiesweg at gmx dot de>
| Essen, Germany
|-
| [https://plus.google.com/u/0/107198225472060439855 Abhinav Badola]
| <mail dot abu dot to at gmail dot com>
| Chandigarh, India
|-
| [https://plus.google.com/u/0/113404087048256151794 Smit Mehta]
| <smit dot meh at gmail dot com>
|  Chennai, India
|-
| [https://plus.google.com/u/0/114444774108176364727 Islam Wazery]
| <wazery at ubuntu dot com>
| Cairo, Egypt
|-
| [https://plus.google.com/u/0/109282675370620103497 Benjamin Girault]
| <benjamin dot girault at gmail dot com>
| Lyon, France
|-
| [https://plus.google.com/u/0/105109738484224357562 Robin Mills]
| <robin at clanmills dot com>
| San Jose, USA
|-
| [https://plus.google.com/114958890691877878308 Pankaj Kumar]
| <me at panks dot me>
| Hyderabad, India
|-
|}
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 =
== 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.


== Video Support in Advanced Search Tool ==
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 :


* Bugzilla entry : https://bugs.kde.org/show_bug.cgi?id=164442
* [http://scan2.coverity.com/projects/285 digiKam]
* Assigned to : ???
* [http://scan2.coverity.com/projects/297 Exiv2]
* 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.


== Add OLYMPUS M.14-42mm F3.5-5.6 II R lens support ==
== KDE Repository ==


* Bugzilla entry : https://bugs.kde.org/show_bug.cgi?id=311295
All students working on digiKam will play with KDE Git repository from Git master branch.
* Patch to review : http://git.reviewboard.kde.org/r/109017/
* Assigned to : ???


== Auto-Detected Camera are Unsuitable ==
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.


* Bugzilla entry : https://bugs.kde.org/show_bug.cgi?id=311393
Students must have configured KDE developer account and checkout all code from KDE repository using SSH method.
* Assigned to : ???


= digiKam Google Summer of Code 2013 Proposals =
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].


== Auto Crop Tool ==
== Branches Creation and Maintenance ==


* '''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.
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:
* '''Dependencies:''' Batch Queue Manager, Image Editor.
* '''Bugzilla entries:''' [https://bugs.kde.org/show_bug.cgi?id=267436 267436], [https://bugs.kde.org/show_bug.cgi?id=204135 204135]
* '''Knowledge Prerequisite:''' C/C++, Qt, Imagery
* '''Expected results:''' new editor and batch queue manager tools to crop automatically images
* '''Difficulty:''' medium
* '''Lead Mentor:''' ???
* '''Alternative Mentor:''' Gilles Caulier <caulier dot gilles at gmail dot com>


== Tags Manager ==
<source lang="bash">
$>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
</source>


* '''Brief explanation:''' Moving tags around in the small tags views from right or left digiKam sidebar can be fastidious, especially with a huge collection of items. A new dedicated windows must be created to manage all tags and relevant properties hosted by digiKam database. This tool must support drag and drop, multiple selections, copy/move operations, properties edition and duplication.
* '''Dependencies:''' : digiKam core implementation
* '''Bugzilla entries:''' [https://bugs.kde.org/show_bug.cgi?id=263299 263299]
* '''Knowledge Prerequisite:''' C/C++, Qt/KDE, GUI
* '''Expected results:''' new window to edit and manage all digiKam tags
* '''Difficulty:''' medium
* '''Lead Mentor:''' Smit Metha  <smit dot meh at gmail dot com>
* '''Alternative Mentor:''' Gilles Caulier  <caulier dot gilles at gmail dot com>


== HDR Composer ==
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.


* '''Brief explanation:'''  digiKam already include a tool to make pseudo HDR image through ExpoBlending tool, based on align_image_stack and enfuse programs from Hugin project. This tool is limited to improve a litlle bit exposure latitude of images. It has creativity limitations and cannot reproduce nice HDR images, as Luminance HDR do. The goal of this project is to extend current ExpoBlending tool to add new advanced HDR worklflow. Also, some GUI improvment need to be done to be able to process more that on set of bracketing shots at the same time.
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:
* '''Bugzilla entries:''' [https://bugs.kde.org/show_bug.cgi?id=275364 275364], [https://bugs.kde.org/show_bug.cgi?id=273254 273254]
* '''Dependencies:''' ExpoBlending tool
* '''Knowledge Prerequisite:''' C/C++, Qt, Imagery, math
* '''Expected results:''' new tool to perform high quality HDR composing
* '''Difficulty:''' high
* '''Lead Mentor:''' ???
* '''Alternative Mentor:''' Gilles Caulier  <caulier dot gilles at gmail dot com>


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


* '''Brief explanation:'''  Creating a kipi export plugin for putting the pictures on cloud storage devices like Google Drive, DropBox, Skydrive, etc. Depends on the availability of an open source API. For any cloud storage facility, there are two possibilities, either they give an API in a common programming language, which is freely distributed and is easily implementable in our codebase. Or someone else than the service provider has created an open source API. You should be able to see some examples on github or sourceforge. Some service providers want only their API to be used, some dont mind other tool accessing the cloud using OAuth, etc. The student is expected to go through both the options for a particular cloud storage, identify the solution which is best suitable for already existing kipi-plugins framework, i.e. C++ / Qt, and implement it over the summer for atleast two major cloud services Google Drive and Dropbox.
* '''Bugzilla entries:''' [https://bugs.kde.org/show_bug.cgi?id=300445 300445]
* '''Dependencies:''' APIs from G+, Dropbox, Skydrive tool
* '''Knowledge Prerequisite:''' C/C++, Qt
* '''Expected results:''' new tool to import/export items to Cloud web service
* '''Difficulty:''' easy / medium
* '''Lead Mentor:''' Smit Mehta  <smit dot meh at gmail dot com>
* '''Alternative Mentor:''' ???


== Port Showfoto thumb-bar to Qt model/view ==
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.


* '''Brief explanation:'''  ThumbBarView is a Qt3Support class based on Q3ScrollView class which will disappear with next Qt5. This class still only used by Showfoto editor. It must be ported to Qt model/view implementation using already existing common classes used in digiKam core.
== Roadmap and Releases Plan including all GSoC-2013 works ==
* '''Dependencies:''' digiKam core, Qt model view
* '''Knowledge Prerequisite:''' C/C++, Qt, model/view
* '''Expected results:''' implement Showfoto thumb-bar to model/view
* '''Difficulty:''' medium
* '''Lead Mentor:''' Islam Wazery  <wazery at ubuntu dot com>
* '''Alternative Mentor:''' ???


== Port image editor Canvas classes to Qt model/view ==


* '''Brief explanation:'''  Image Editor canvas classes are Qt3Support classes based on Q3ScrollView which will disappear with next Qt5. This class is used by digiKam Image editor to render lead editor canvas and some tools canvas as ColorCorrection, CurvesAdjust, LevelAdjust, etc. It must be ported to Qt4 model/view implementation using already existing common classes used in digiKam core.
{| border="1" class="wikitable"
* '''Dependencies:''' digiKam core, Image Editor, Qt model view
|-
* '''Knowledge Prerequisite:''' C/C++, Qt, model/view
! Date
* '''Expected results:''' implement image editor canvas to model/view
! Action
* '''Difficulty:''' high
! Remark
* '''Lead Mentor:''' Islam Wazery <wazery at ubuntu dot com>
|-
* '''Alternative Mentor:''' Gilles Caulier  <caulier dot gilles at gmail dot com>
| bgcolor="#00FFAA" | 02 Jun 2013
| 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]
|-
| bgcolor="#00FFAA" | 29 Sep 2013
| 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]
|-
| bgcolor="#00FFAA" | 02 Oct 2013
| bgcolor="#00FFAA" | digiKam GSoC-2013 development branches are merged back to git/master
| bgcolor="#00FFAA" | Note : only Tags Manager and Image Quality Sort projects
|-
| bgcolor="#00FFAA" | 03 Nov 2013
| bgcolor="#00FFAA" | Kipi-plugins GSoC-2013 development branches are merged back to git/master
| bgcolor="#00FFAA" | Note : only Cloud Integration Export project
|-
| bgcolor="#00FFAA" | 01 Dec 2013
| bgcolor="#00FFAA" | digiKam Software Collection 4.0.0 beta1
| bgcolor="#00FFAA" | Note : new implementation of libkdcraw using an external shared libraw
|-
| bgcolor="#00FFAA" | 15 Dec 2013
| bgcolor="#00FFAA" | digiKam GSoC-2013 development branches are merged back to git/master
| bgcolor="#00FFAA" | Note : only Showfoto Qt4 model/view port project
|-
| bgcolor="#00FFAA" | 12 Jan 2014
| bgcolor="#00FFAA" | digiKam Software Collection 4.0.0 beta2
| bgcolor="#00FFAA" | Note : huge fixes from Import tool included
|-
| bgcolor="#00FFAA" | 02 Feb 2014
| bgcolor="#00FFAA" | digiKam GSoC-2013 development branches are merged back to git/master
| bgcolor="#00FFAA" | Note : only Image Editor Qt4 model/view port project
|-
| bgcolor="#00FFAA" | 23 Feb 2014
| bgcolor="#00FFAA" | digiKam Software Collection 4.0.0 beta3
| bgcolor="#00FFAA" | Note : Qt3Support classes dependency removed
|-
| bgcolor="#00FFAA" | 30 mar 2014
| bgcolor="#00FFAA" | digiKam Software Collection 4.0.0 beta4
| bgcolor="#00FFAA" |
|-
| bgcolor="#FF9900" | 13 apr 2014
| bgcolor="#FF9900" | digiKam Software Collection 4.0.0 RC
| bgcolor="#FF9900" |
|-
| bgcolor="#FF9900" | 11 may 2014
| bgcolor="#FF9900" | digiKam Software Collection 4.0.0
| bgcolor="#FF9900" | sync with [http://techbase.kde.org/Schedules/KDE4/4.12_Release_Schedule KDE SC 4.12.3]
|}


== Port Greystoration CImg interface to GMic ==
== Coding Sprint ==


* '''Brief explanation:''' digiKam include CImg library to be able to use Greystoration algortihm which give nice fix to image based on Vortex theory, as Restoration tool. Since CImg > 3.0.0, Greystoration algorithm have been move in a new library named GMic with a completely different API. The goal of this project is to adapt digiKam Greystoration interface to GMic library.
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.
* '''Dependencies:''' digiKam core, Retauration/Inpaint editor tools
* '''Knowledge Prerequisite:''' C/C++, math, Qt,
* '''Expected results:''' port image restoration algorithm from CImg to GMic API
* '''Difficulty:''' high
* '''Lead Mentor:''' Gilles Caulier  <caulier dot gilles at gmail dot com>
* '''Alternative Mentor:''' ???


==== Project: Video Metadata Support Improvements ====
* [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.


* '''Brief explanation:''' All recent digital-still camera devices provide video capture. digiKam must be able to manage these files as it do with images, to catalog and sort items (by date, camera name, and all record conditions). Through Exiv2 shared library improvement done at GoSC 2012, digiKam is now able to manage some video metadata from avi, divx, mkv, WebM, mp4, mov, 3gp, wmv, asf, but it lack some important video format metadata as MPEG and VOB used in video workflow. To improve video files support, video metadata management done in background need to be improved, to patch [http://www.exiv2.org Exiv2 shared library], already used by digiKam for photo metadata handling.
* [https://plus.google.com/113691654116060042197 Pradeepto Bhattacharya] propose through G+ to organize the events somewhere in India.
* '''Bugzilla entries:''' [https://bugs.kde.org/show_bug.cgi?id=164442 164442]
*'''Knowledge Prerequisite:''' C++, Qt, video format, metadata
* '''Expected results:''' Add missing video files support to Exiv2. Patch digiKam advanced search tool to handle video information.
* '''Difficulty:''' high
* '''Lead Mentor:''' Andreas Huggel  <ahuggel at gmx dot net>
* '''Alternative Mentor:''' Gilles Caulier  <caulier dot gilles at gmail dot com>

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.