[Digikam-devel] Getting Started For GSOC

Varun Gupta varungupta1803 at gmail.com
Sun Mar 6 03:17:33 GMT 2016


Yeah i am done with thumbsdb and facesengine, still have to go through
coredb. No questions for now, if I get any problems with coredb i wll post
questions soon

On Fri, Mar 4, 2016 at 3:33 PM, Gilles Caulier <caulier.gilles at gmail.com>
wrote:

> Varun,
>
> Any progress here ? Any pending questions ?
>
> Gilles Caulier
>
> 2016-02-29 10:49 GMT+01:00 Felix Leif Keppmann <felix.leif at keppmann.de>:
>
>> Hello Varun,
>>
>>
>> once you integrated changes/improvements, I would be happy to help
>> testing. Thus, if I don't get active by myself, just give me a hint.
>>
>> Usually, I use a dedicated MySQL server also for hosting the three
>> Digikam databases. But currently, MySQL support in Digikam master is -
>> subjectively perceived from the perspective of a user - 10 to 15 times
>> slower than SQLite and some things are broken. Thats why I had to switch
>> to SQLite.
>>
>> For testing, I could rescan a large collection, including several face
>> tags, and populate those databases.
>>
>>
>> Regards
>> Felix / fekepp
>>
>>
>>
>>
>> On 29.02.2016 09:28, Gilles Caulier wrote:
>> > In core/libs/database, the README file give some description for each
>> > sub-directories :
>> >
>> >
>> https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/libs/database/README
>> >
>> > As i said previously, DK use 3 Databases (core, thumbs, faces), with 3
>> > differents schemas. For these 3 databases, we have 3 backends :
>> >
>> > 1/ sqlite,
>> > 2/ local mysql server
>> > 3/ remote Mysql
>> >
>> > For the 2/, we have a dedicated implementation outside core :
>> >
>> >
>> https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/show/databaseserver
>> >
>> > For this project the most important parts will be
>> > /core/libs/database/engine which will includes all parent classes for 3
>> > DK databases (core, thumbs, faces). All of these are located repectively
>> > in core/libs/database/coredb, core/libs/database/thumbsdb, and
>> > core/libs/facesengine/facedb. This last one is outside
>> > core/libs/database for compilation reasons due to OpenCV dependency.
>> >
>> > For each databases (core, thumbs, faces), the /core/libs/database/engine
>> > provide classes to :
>> >
>> > - access through a singleton : facesdbaccess.h for ex.
>> > - a wrapper to Database type (sqlite, local mysql, remote mysql) :
>> > facesbackend.h for ex. This one will init the database in memory
>> > accordingly with settings. This one load the right schema. Most of
>> > implementation are give by parent classes in core/libs/database/engine
>> > - a schema updater to host porting rules from old to new schema versions
>> > : facesdbschemaupdater.h
>> > - a specific implementation dedicated to host relevant tasks : facesdb.h
>> > for ex
>> > - a specific implementation dedicated to host grouping DB tasks :
>> > facesdboperationgroup.h for ex
>> >
>> > The ex given to FacesDB is the most simple to start because the
>> > implementation is not too complex. Look alos the ThumbDB which is simple
>> > too. The most complex DB implementation is CoreDB, where you will found
>> > same king of classes plus more one to delegate specific tasks. The
>> > CoreDB is the most huge database (schema), with a lots of triggers
>> > between tables.
>> >
>> > In core/libs/database/, outside core, thumbs DB, you have these sub
>> > directories :
>> >
>> > - collection which host classes to handle the digiKam collections (root
>> > albums, local, remote, removable). You will need to take a look later
>> > certainly, this depend of reports from bugzilla to fix.
>> > - dbjobs which is a multi-threaded/multi-core low level interface
>> > dedicated to query the database. No need to touch it for the moment,
>> > this work well.
>> > - haar which is dedicated to host image similarities fingerprints. This
>> > is out of your project.
>> > - imagehistory which is dedicated to host image tree-histories
>> > accordingly with corrections applied to image by editor and BQM. This is
>> > out of your project.
>> > - imgqsort which is dedicated to host image algorithm to sort images
>> > accordingly with noise,exposure, sharp level, etc. This is out of your
>> > project.
>> > - items which is dedicated to host classes for image properties. You
>> > will need to take a look later certainly, this depend of reports from
>> > bugzilla to fix.
>> > - servers which are low level classes for mysql local server. Later we
>> > will certainly write new one for PostGreSql. This is out of your
>> project.
>> > - tags which is dedicated to host classes for virtual album as tags. You
>> > will need to take a look later certainly, this depend of reports from
>> > bugzilla to fix.
>> > - utils where you will found some miscs classes as DB settings widgets
>> > and dialogs.
>> >
>> > This respond partially to your question ?
>> >
>> > BEst
>> >
>> > Gilles Caulier
>> >
>> >
>> > 2016-02-29 2:10 GMT+01:00 Varun Gupta <varungupta1803 at gmail.com
>> > <mailto:varungupta1803 at gmail.com>>:
>> >
>> >     I have finished with reading the code in the folder collection and
>> >     coredb from link [1]. I got familiar with the code but I guess there
>> >     is lots of code to read , so it would be helpful if you could
>> >     redirect me to the parts which are immediately essential so I get
>> >     the understanding of the important parts and then go on with the
>> >     rest of the code.
>> >
>> >     Regards,
>> >     varun
>> >
>> >     On Sun, Feb 28, 2016 at 4:49 PM, Gilles Caulier
>> >     <caulier.gilles at gmail.com <mailto:caulier.gilles at gmail.com>> wrote:
>> >
>> >         Any feddback here. Did you checkout code and look in DB
>> >         interface implementation ? Any questions ?
>> >
>> >         Best
>> >
>> >         Gilles Caulier
>> >
>> >         2016-02-24 22:07 GMT+01:00 Gilles Caulier
>> >         <caulier.gilles at gmail.com <mailto:caulier.gilles at gmail.com>>:
>> >
>> >
>> >
>> >             2016-02-24 21:42 GMT+01:00 Varun Gupta
>> >             <varungupta1803 at gmail.com <mailto:varungupta1803 at gmail.com
>> >>:
>> >
>> >                 I have started looking at the code from the given link
>> >                 [1] . I still have doubts what do you mean by the last
>> >                 stage , in the doc do i have to list all the main
>> >                 problems that need to be fixed for MYSQL types?
>> >
>> >
>> >             Exactly. Accordingly with Agile method, bugzilla is the
>> >             reference to evolute and fix open source application. I
>> >             already review and sort all entries in bugzilla (including
>> >             duplicates) about MySql support. It will be not to hard to
>> >             list the main dysfunctions about Mysql support depending of
>> >             users contexts reported. Of course, there is an order to fix
>> >             the problem due to interdépendances between tasks to patch
>> >             the current implementation of database interface.
>> >
>> >             Gilles Caulier
>> >
>> >
>> >
>> >         _______________________________________________
>> >         Digikam-devel mailing list
>> >         Digikam-devel at kde.org <mailto:Digikam-devel at kde.org>
>> >         https://mail.kde.org/mailman/listinfo/digikam-devel
>> >
>> >
>> >
>> >     _______________________________________________
>> >     Digikam-devel mailing list
>> >     Digikam-devel at kde.org <mailto:Digikam-devel at kde.org>
>> >     https://mail.kde.org/mailman/listinfo/digikam-devel
>> >
>> >
>> >
>> >
>> > _______________________________________________
>> > Digikam-devel mailing list
>> > Digikam-devel at kde.org
>> > https://mail.kde.org/mailman/listinfo/digikam-devel
>> >
>> _______________________________________________
>> Digikam-devel mailing list
>> Digikam-devel at kde.org
>> https://mail.kde.org/mailman/listinfo/digikam-devel
>>
>
>
> _______________________________________________
> Digikam-devel mailing list
> Digikam-devel at kde.org
> https://mail.kde.org/mailman/listinfo/digikam-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/digikam-devel/attachments/20160306/56e46ae7/attachment.html>


More information about the Digikam-devel mailing list