[KPhotoAlbum] Breaking changes in file layout

Johannes Zarl-Zierl johannes at zarl-zierl.at
Mon Apr 6 22:35:09 BST 2020


Am Montag, 6. April 2020, 15:57:03 CEST schrieb Robert Krawitz:
> On Mon, 06 Apr 2020 08:58:36 +0200, Tobias Leupold wrote:
> >> XDG_CACHE_DIR/kphotoalbum/<db>/.thumbnails/
> >> XDG_CACHE_DIR/kphotoalbum/<db>/.videoThumbnails/
> > 
> > Do you think the leading dot is needed (making the directory hidden)?
> > We're
> > already in "kphotoalbum/" one leven below, so why not "thumbnails/" and
> > "videoThumbnails/"?
> 
> Agreed.

Yes, that was a copy/paste error of mine.

> >> I get your point, but I'm not a big fan of constructs like "/home/
> >> johannes/.cache/kphotoalbum/home/johannes/Pictures" either.
> > 
> > I personally would prefer the hash. Maybe we could add a file like
> > "collection" or such containing the path to index.xml for easier user-side
> > identification. I wouldn't add the whole path. If so, please at least
> > don't
> > use pipe symbols to mask the slashes, that also have to be masked when
> > using the directory name ...
> 
> I hate hashes when they aren't used to reduce the storage requirement
> for something or are needed for cryptographic security (such as
> passwords).  Hashing the contents of a file to quickly determine
> whether two files are identical is one thing.  In this case, it makes
> it hard to trace the origin without improving security (non-issue in
> this case) or saving space.
> 
> There's no perfect solution to the fact that slashes can't be filename
> components, but I don't think this really has to be absolutely
> perfect.

Maybe a good middle ground would be to keep the full file name without 
escaping, but strip the home directory if applicable.

Advantages:
+ short names on average (e.g. ~/.cache/kphotoalbum/Pictures)
+ no escaping involved

Disadvantages:
+ still not 100% scriptable for unusual paths (i.e. paths outside $HOME)
+ potentially deep directory structure

> > This one could actually be hidden by a leading dot imo, like
> > "DBDIR/.CategoryImages/"
> 
> Or moved to XDG_CACHE_DIR/kphotoalbum/<db>/CategoryImages?

This is *not* a cache. It's user-created data.

Quoting from a different part of the thread:

> Should it be part of the index.xml file proper?

I'm not a big fan of CDATA sections in XML files. Moving the files into 
index.xml would create more problems than it solves: I like my index.xml file 
easily editable by hand and diffable. Also, I don't want to deal with the 
files during database-load and keep them in memory for later.






More information about the Kphotoalbum mailing list