[Digikam-devel] extragear/graphics/digikam/utilities

Sebastian Trüg trueg at kde.org
Tue Jun 23 23:39:18 CEST 2009

very cool. Below a comment which could avoid some code duplication:

On Tuesday 23 June 2009 23:24:57 Marcel Wiesweg wrote:
> Nepomuk coding sprint results:
> Initial revision of a Digikam <-> Nepomuk synchronisation bridge.
> For now this is implemented as a Nepomuk service running independently
> from the main digikam instance.
> Syncs rating, comment and tags; tags is one-way currently, syncing tags
> from Nepomuk to digikam is awaiting implementation.
> Changes in digikam are immediately pushed to Nepomuk by listening to
> digikam's DBus signals. After first start, a full sync of all entries
> is triggered. The initial sync is recorded in the database.
> Changes in Nepomuk are registered by listening to global change signals.
> After a timed delay a Sparql query retrieves all relevant changes

You can use Soprano::Utils::SignalCacheModel to get cached signals using a 
configurable timeout.

> that occurred since the last check. The time is recorded in the database.
> The database file path is read from the digikam configuration file.
> If an instance is running, it is queried directly. If the database file
> changes, the service is informed by digikam. (This does not scale well to
> several
> instances running different DBs, but digikam does not support this scenario
> anyway)
> Both syncing directions are independently configurable. Default is false
> for now;
> we should consider defaulting to true.
> Note: I am running KDE4.3beta2 at the moment. If there is code not
> compiling with
> KDE4.2, we must add a conditional switch to CMake.
> CCMAIL: digikam-devel at kde.org, trueg at kde.org
>  A             nepomuk (directory)
>  A             nepomuk/digikamnepomukservice.cpp   [License: GPL (v2+)]
>  A             nepomuk/digikamnepomukservice.desktop
>  A             nepomuk/digikamnepomukservice.h   [License: GPL (v2+)]

More information about the Digikam-devel mailing list