[Digikam-users] Import from iPhoto 9.5, XMP sidecar format

Jens Benecke jens-digikam at spamfreemail.de
Mon Aug 17 22:24:40 BST 2015


Hello everybody,

I have - finally - decided to try to move my 41000 images, movies and 
edits from iPhoto to Digikam and am currently writing an import script 
to automate as much of the import as possible. I have already succeeded 
in converting a lot automatically by creating XMP sidecar files for 
every image, but some bits are still missing.

As a starting point I used the "iphoto2xmp.rb" script from here:
https://gist.github.com/lpar/2191225

So far this script can convert

- Original photos only (no modified versions, ie. crops, edits, 
optimizations)
- iPhoto's Events as folders (= Albums in Digikam),
- Photo names (= filenames), descriptions, ratings
- Face names (as keywords)
- Locations (as GPS coordinates)

The following is missing and I plan to implement it. If anybody has a 
script or info about how exactly to export this from iPhotos mess of 
SQLite databases, please do speak up! Unfortunately these bits are 
missing exactly because they are not contained in the AlbumData.xml file 
which iPhoto creates for interoperability with other software.

- Import modified photos as a second version of the original
   ... how do I specify within the XMP sidecar that an image is a second 
version of another image?
- iPhotos keywords (from Database/Keywords.plist and 
Database/apdb/Library.apdb::RKKeyword)
- iPhotos Albums as "album" keywords (from AlbumData.xml "List of 
Albums" key)
- iPhotos Folders as "folder" keywords (Database/Library.apdb::RKFolder)
- Location names (found in Database/Properties.apdb as a "RKPlace" 
SQlite table) with radius
- Hidden and Starred flags (as appropriate keywords)
- Face rectangles within images
   ... how do I make Digikam's recognition engine learn from an existing 
confirmed set of named Faces?

Can anybody shed some light on the open questions above or maybe even 
share a script that does things like the above already?
Is the XMP sidecar format that Digikam accepts and expects - and the 
list of parameters that it understands - documented somewhere?


Thank you!
Jens



More information about the Digikam-users mailing list