[KPhotoAlbum] Breaking changes in file layout
Johannes Zarl-Zierl
johannes at zarl-zierl.at
Sun Apr 5 20:48:30 BST 2020
Hi everybody,
I'm thinking about introducing some breaking changes in KPhotoAlbum 5.7 (or
maybe 5.8) regarding the file layout.
As you know, kphotoalbum creates a bunch of files and directories:
DBDIR/index.xml
DBDIR/CategoryImages/
DBDIR/layout.dat
DBDIR/exif-info.db
DBDIR/.thumbnails/
DBDIR/.videoThumbnails
XDG_DATA_DIR/kxmlgui5/kphotoalbum/kphotoalbumui.rc
XDG_CONFIG_DIR/kphotoalbumrc
This directory layout worked ok, but has some shortcomings:
- it's unclear to the user which files they can safely delete
- potential problems with DBDIR on non-local storage
-> there are occasional problems with people on NFS
-> SQLITE files on CIFS seem to be unsupported
- different performance requirements:
-> the cache files have different access patterns than the images themselves
- sharing an image directory across different computers can lead to subtle
problems (e.g. different thumbnail size)
Therefore, I plan on restructuring the file hierarchy like this:
DBDIR/index.xml
DBDIR/CategoryImages
XDG_CACHE_DIR/kphotoalbum/<db>/exif-info.db
XDG_CACHE_DIR/kphotoalbum/<db>/.thumbnails/
XDG_CACHE_DIR/kphotoalbum/<db>/.videoThumbnails/
XDG_DATA_DIR/kxmlgui5/kphotoalbum/kphotoalbumui.rc
XDG_DATA_DIR/kphotoalbum/<db>/layout.dat
XDG_CONFIG_DIR/kphotoalbumrc
The "<db>" part in these paths would be the md5 sum of DBDIR/index.xml (e.g.
"echo -n /home/johannes/Pictures/index.xml | md5sum").
As was previously pointed out, some settings in kphotoalbumrc may also be
better moved directly into the index.xml file (e.g. the "untagged category"
info). I would propose making these changes at the same time...
Any thoughts?
Cheers,
Johannes
More information about the Kphotoalbum
mailing list