erixpage dot com

Neposync, to synchronize Nepomuk with files metadata

UPDATE: project moved to github, links updated. Plus, new post about new features of neposync.

With KDE SC 4.4 and integration of Virtuoso in distributions, semantic desktop is no more a futuristic project but a reality: I tested tagging, rating, filters in Gwenview, searches in Dolphin, all works fine.

But before starting the long work of tagging my gigabytes of photos, I wanted to be sure the work would not be lost if I change my computer or my distribution. The problem is that there is no utility to backup/export the Nepomuk Virtuoso database at this time. [1] [2]

So I decided to write a simple tool to:

  • read tags/ratings from Nepomuk and store them in files metadata (same metadata used by Digikam)
  • read tags/ratings from files metadata and store them in Nepomuk

This is a command-line tool very easy to use. You just cd to a directory containing images tagged/rated via Dolphin or Gwenview and you type:

neposync --nepomuk-to-files

That's it: all tags/ratings for images in the current directory are now stored in files metadata and will never be lost. If you copy these images on another KDE powered computer, you just have to type:

neposync --files-to-nepomuk

to fill Nepomuk database with your valuable manual work.

The tool also allows you to display all tags/ratings stored in Nepomuk, or to clear them (see usage below).

Download

Neposync is a simple Qt C++ program, using KDE libs. At your choice, you can:

  • download the source tarfile: neposync-0.2.tar.gz
    To compile, just type qmake && make
  • retrieve git sources: git clone git://github.com/ericpignet/neposync.git
  • install the ArchLinux package from AUR: just type yaourt neposync

That's all for now.

Please tell me if you use the tool !

Usage

The full usage of the tool is:

Common usage:
  neposync -nf OPTIONS.. DIRECTORY
  neposync -fn OPTIONS.. DIRECTORY
Actions:
  -nf, --nepomuk-to-files    Read tags/ratings from Nepomuk and store them in files metadata
  -fn, --files-to-nepomuk    Read tags/ratings from files metadata and store them in Nepomuk
  -dn, --display-nepomuk     Display all Nepomuk tags/ratings
  -cn, --clear-nepomuk       Clear all Nepomuk tags/ratings
Options:
  -r   --recursive           Recurse into sub-directories
  -f   --force               Copy tags/ratings even if empty on source side
  -V   --verbose             Display all nepomuk output (depending on KDebug settings)
  -h   --help                Display this usage information
DIRECTORY is optional, if absent the current directory is synchronized

Remark: neposync uses IPTC 'keyword' metadata to read/store tags in files (as Digikam)
        neposync uses XMP 'Rating' metadata to read/store ratings in files (as Digikam)

Notes

[1] I mean, nothing reliable. Save my soprano-virtuoso.db file is not option: nothing guarantees that if some files/configs are different on the new installation, nepomuk will not show an error at startup.

[2] There is a GSoc project, but who knows when something reliable is released.

Au revoir et merci Kubuntu, bonjour ArchLinux

Voici près de 4 ans jour pour jour que j'ai écris mon dernier post sur ce blog, il concernait le futur de Kubuntu.

Je serai resté environ 5 ans sous Kubuntu en tout, et je dois avouer c'était un plaisir. Pas une seule réinstallation complète pendant ce temps, juste des mises à jour. J'ai fait beaucoup de choses pendant ces années et le plaisir justement, c'était de ne pas avoir à me soucier de mon système d'exploitation, de juste l'utiliser.

Cependant il y a quelques semaines une conjonction de faits m'a convaincu de donner sa chance à ArchLinux:

  • un nouveau disque dur avec plein de place dessus
  • quelques soucis mineurs sur Kubuntu (les vidéos Flash HD s'affichent... toutes roses!)
  • l'envie depuis toujours de tester une distribution en rolling release (toujours des logiciels à jours, et pas de mega-update risqué)
  • pas mal de bon commentaires concernant ArchLinux sur LinuxFR
  • le test très convainquant du LiveCD Chakra-project, basé sur ArchLinux

J'ai donc installé sans difficultés ArchLinux avec KDEMod, grâce aux wikis français et anglais. La configuration est manuelle mais c'est très relatif: quelques paquets à installer (X, alsa, UDev, HAL...) et deux trois fichiers de configurations... que de toutes façons j'avais aussi dû modifier sur Kubuntu.

Je ne vais pas faire une présentation d'Arch, c'est facile d'en trouver sur Internet. Mais ce qui m'a frappé une fois que j'avais mon bureau KDE configuré, c'est que... Nepomuk était parfaitement fonctionnel et rapide, ce qui n'avait jamais été le cas sur Kubuntu. Ca apporte vraiment un gros plus au bureau: que toutes les applications partagent les mêmes tags/notations de fichier, pour par exemple rechercher facilement toutes les photos de son chat depuis le gestionnaire de fichiers... La raison est simple: ArchLinux package le backend Virtuoso, fiable et rapide.

Si j'ai écrit ce billet, ce n'était pas à l'origine pour parler d'ArchLinux mais plutôt pour introduire le billet qui va suivre, concernant Neposync.