J’utilise Lightroom 3 depuis quelques jours et j’ai découvert les possibilités offertes par les services de publication, fonction nouvelle de cette version. Ces services permettent de synchroniser — bien qu’en fait cela ne fonctionne (pour l’instant peut-être) que dans un sens, application vers extérieur — un dossier, une collection, une sélection de photos vers un support extérieur comme un dossier du disque dur, un compte Flickr, etc — j’ai par exemple vu au gré de mes recherches sur le net un plugin de publication FTP qui peut être installé et utilisé dans Lightroom comme service de publication.
Les photos gérées par ces services peuvent avoir 4 états différents : Photos à publier, Photos modifiées à republier, Photos publiées et Photos à supprimer. Dans certains cas les photos qui viennent d’être publiées sont marquées comme étant des photos modifiées à republier alors qu’elle devrait être marquées comme publiées. C’est un bug rapporté par plusieurs sur le net et je pense qu’Adobe doit être en train de régler ce problème, peut-être même qu’il l’est déjà dans la version 3.2 RC qui circule en ce moment. Cela arrive sur certaines installations et pas sur d’autres et pour l’instant rien n’a permis de comprendre pourquoi.
En attendant ce bug est relativement gênant dès lors que vous avez un nombre conséquent de photos dans l’ensemble géré par le service. Ce qui est mon cas pour certains d’entre eux. Autant perdre quelques minutes pour republier 70 photos alors qu’une nouvelle seulement est à publier ne pose pas tant de problème que ça, par contre lorsqu’il s’agit de presque 800 photos dont la republication durera pas loin d’une heure — rendant pendant ce temps le mac aussi chaud et bruyant qu’un PC — je trouve que ça dépasse un peu les bornes des limites.
Après avoir pas mal investigué il s’avère que pour l’instant, sur Mac, le seul moyen de remédier à ce problème est de changer l’état de ces photos indument marquées comme étant modifiées et à republier est de changer directement cette information dans le catalogue qui est en fait une base de données SQLite3. Magie du Mac, SQLite3 est justement installé d’office et peut être utilisé pour faire cela. Je vous livre le détail des opérations :
Premièrement, après avoir quitté Lightroom, faire une copie du catalogue, au cas où[1]. Il se peut que votre catalogue se trouve dans un autre dossier, il vous faudra dans ce cas adapter les lignes ci-dessous :
cd ~/Pictures/Lightroom cp Lightroom\ 3\ Catalog.lrcat Lightroom\ 3\ Catalog.lrcat.SOS
Voilà qui est fait. Ensuite, lancement de SQLite3 et modification de l’état des photos. Attention cette manipulation va agir sur toutes les photos de tous les services de publication. Pensez-y avant de la lancer :
sqlite3 Lightroom\ 3\ Catalog.lrcat sqlite3> update AgRemotePhoto set photoNeedsUpdating = 0; sqlite3> .quit
Et c’est tout. Vous pouvez relancer Lightroom et contrôler que toutes les photos marquées auparavant comme étant modifiées et à republier sont maintenant dans l’état Photos publiées. Notez également que cela ne modifie pas l’état des photos n’ayant jamais été publiées ni celles devant être supprimées (d’ailleurs le nom du champ dont le contenu est modifié dans la requête SQL ci-dessus est suffisamment explicite pour le comprendre).
À vous de jouer ;-)
Édition du 23/08/2010 11:00 : Adobe vient de me contacter suite à la demande de support déposée hier chez eux. Le problème devrait remonter vers l’équipe de développement. À suivre donc…
Édition du 31/08/2010 11:00 : Adobe vient de sortir une mise à jour de Lightroom, la 3.2, qui malheureusement ne corrige pas ce problème. La procédure décrite dans ce billet restera donc d’actualité encore quelques semaines voire quelques mois en attendant une correction de l’éditeur.
Références
Notes
[1] Vous pouvez aussi, avant de quitter Lightroom, demander une sauvegarde immédiate du catalogue à la fermeture (voir dans les préférences du catalogue), la sauvegarde hebdomadaire étant restaurée au démarrage suivant.
1 De Cunégonde -
Va falloir que je l’essaie car depuis que je suis passée à la 3, je n’ai rien synchroniser, snif.
2 De AlbySpace -
This was very helpful and I felt the need to turn it into an applescript. Here’s the result:
I am not an expert nor in Terminal commands nor in applescript and because of that I found no way to compile the applescript with spaces in the filename. I mean, the terminal accepts them, but between the “do script” commas in applescript I wasn’t able to make the script editor accept the “Lightroom 3 Catalog.lrcat” syntax. Because of that I simply renamed the catalog… without any space in it :)
This is not an elegant way to solve the problem but it works and if you’re more into this things than me (which it seems) can you suggest me how to keep the spaces and make this script more “universal”?
Thanks again for the command lines, I was very crossed to see my photos republished over and over without any reason.
3 De Franck -
Thank you AlbySpace for your contribution !
4 De Franck -
About spaces in filename, at least in an AppleScript, maybe you have to try to use
\\
(two backslahes) to escape them ? (seen here)5 De AlbySpace -
Interesting, that seems to work!
I also put a delay to let the script copy the catalog safely. I found the code here.Thanks a lot.
Here’s the code corrected, for everybody to enjoy.
6 De Franck -
Thanks a lot AlbySpace.
As far as I know the last release of Adobe Lightroom, the version 3.4.1, fixes this problem. May be you should upgrade ?
7 De nikoroe -
Precieux Applescript. Merci a tout le monde !