[KimDaBa] About the renaming issue
Jesper K. Pedersen
blackie at kde.org
Wed Jan 14 11:28:27 GMT 2004
One quick question from a quick read though while compiling.
If I split up the index.xml file, how would you the represent it in the xml
files when images has been moved in KimDaBa.
Imagine I have this order in KimDaBa:
misc/img1 party-42/img12 misc/img2 party42/img42
currently I get the order from the order in the XML file, but if I split
up one file per directory, I would loose that feature.
Regarding the idea only of having md5 sums in the db (from Darios email):
I tried creating md5 sums for 892 images, which took approx 30 secs.
Are you really willing to wait 30 secs/1000 image when KimDaBa starts up?
and back to work.....
Jean-Michel FAYARD <boulot.dodo at laposte.net> writes:
| Hello
| I've browsed the ml-archives, and I've seen people asking for
| some kind of support for renaming files, and so on
|
| I think it's a difficult issue that would need a lot of work,
| if we want to do it right, a bit like why you don't have currently
| mass files renamings and ID3-tag changing in popular jukebox like
| rhythmbox.
| That would bring bloat in Kimdaba, killing his currently simple,
| well-thought, efficient GUI-design.
|
| I will be much better if people use the right tool for that,
| i.e. Konqueror, bash, the init script of your USB camera or whatever you
| want.
|
| ***********************
|
| Unfortunately the current way Kimdaba store his data sucks for that.
| Here is what people may want to do :
| (I've put a (**) for things Kimdaba does currently right)
|
| 0) thanks Kimdaba's #1 design rule : select every n photos you
| want, and you can change very easily their attribute
|
| 1) Someone have a new folder with fotos. He would like to just put it
| alongside with his friends, and the software find it.(**)
|
| 2) Kimdaba organize my fotos, this is fine, but I keep my filesystem
| organized nevertheless. Say I have it like that :
|
| [Pictures]# tree -d | grep -v ThumbNails
| .
| |-- 2003-10-15_Strabaparty
| |-- 2003-11-28_BadenBaden
| |-- 2003-12-12_StrasburgNoel1
| |-- 2004-01-01
| |-- 2004-01-07_Normandie_Honfleur_Deauville
| |-- things
| `-- 2004-01-11
|
| Now I would like to send all my pictures taken in BadenBaden
| to the people which were with me.
| Ideally, I just would have to zip the 2003-11-28_BadenBaden
| folder and to send it to them
|
| 3) Arghh! Not enough room on the hardrive. Someone would want
| to remove this « 2004-01-01 » folder which take a lot of places
| and is not very interesting. He just delete it with Konqueror.
| Those two folders « 2003-12-12_StrasburgNoel1 » and
| « 2004-01-01 » are interesting, but take a lot of place.
| Well, it's time to use this nice CD-burner(**).
| Now, he see a folder named « things ». That is pretty much unseful.
| He renames it « 2004-01-03_Paris »
|
| 4) Someone do some triage in a folder. He can put(**) other fotos in the
| folder, or remove some fotos he finds ugly. Once this fotos are
| deleted, they should not appear anymore in Kimdaba(***)
| In this folder, there is a lot of photos named dsc_0084-488830.jpg
| That is plain ugly. He change their names with Konqueror, or with
| this little bash script :
|
| next() {
| res=`echo $1 | sed "s/^0*//"`
| res=$(( $res + 1))
| test $res -lt 10 && res=0$res
| test $res -lt 100 && res=0$res
| echo $res
| }
| i=0; for file in dsc* ; do i=$(next i); mv $file PartyWithJane_$i.jpg ; done
|
| 5) Someone may want to pick this one and this other photo
| in ten differents folder, and do something with them,
| for example, send them to a friend.
|
| 6) other scenario you can think of ?
|
|
| ******** Sumarry : put a index.xml in each subfolder ******
|
| For the use cases 2) et 3), the obvious solution which keeps the advantages
| of 0) is to move from this one « index.xml » database to a model
| where each subfolder has is own self-containing little database.
| When Kimdaba starts, he does the equivalent of
| find $BASEDIR -type d | grep -v -i thumbnails | xargs HandleDirectory
|
| The HandleDirectory thing means that we merge all the data together,
| so that 0) is still possible.
|
| Say I have put things on a cdrom, I just have to do a quick link :
| ln -s /mnt/cdrom $BASEDIR/fotos_on_cd
| Say I rename, move remove a directory
| Say I send a zipped directory to my friend
| and this just work
|
| Thanks to that, we don't have the use anymore of Kimdaba's offline mode,
| which is in my humble opinion irritating when you have removed unuseful
| files like in (***)
|
| As a side note, it is now very cheap to handle photos with multiple
| roots :
| find $BASEDIRS -type d | grep -v -i thumbnails | xargs HandleDirectory
|
|
| How would the new index.xml per subfolder looks like ?
| The current version of the database is like that :
| start =
| element KimDaBa { Config & kimdaba.Options & ConfigWindowSetup &
| Member-groups? & Images }
| A design goal is that this database makes sense on his own,
| so that we need to have the « Images » portion, the relevant subset
| of « member-groups », and the relevant subset of « kimdaba.Options »
|
| The rest is just configuratin stuff, irrelevant to share, and should
| probably go in $HOME or $HOME/.kde
|
|
| ****** Summary : use md5sums or equivalent
| For 4) to work, we need a thing like md5sums, (i've seend it in your
| TODO list).
| <images> should also have both a « file » attribute, this time
| relative to the subfolder, and a « tag » attribute in which we compute
| the md5sum when we can (for example, after the thumbnails generations)
| (as a side note, thumbnails should be probably renamed according to the
| md5sum when it is compute).
| When we scan the directory, we trust the « file » attribute, and if it's
| not here we use the « tag » attribute. If there is no photo that match,
| the user probably delete it like in (***), so we don't show it.
|
| ****** 5)
| This is the one case where Konqueror, bash, ... is _not_ the appropriate
| GUI to handle that. It's better to do it within Kimdaba, you can select
| easily the photos thanks the thumbnails, or do a search thanks all the
| data you've entered
| Then, with this list, we can do something like :
| create a new directory,
| create a hardlink for each selected photo in this directory
| create a hardlink for the relevant thumbnails
| create a « index.xml » file
| Now, one care share this directory, just like before.
|
| ****************
| So, it's time to stop this mail which is already too long.
| I think it's worth that we force the filesystem and one's prefered
| file manager do 90% of the work for us, instead of implementing
| something complicated.
|
| But this would changed the file format used, so it's better to discuss
| what we need (not), and what else we need (other use cases ?) before
| we reach global world domination.
| _______________________________________________
| KimDaBa mailing list
| KimDaBa at klaralvdalens-datakonsult.se
| http://sulaco.hrhansen.dk/mailman/listinfo/kimdaba
|
--
Jesper K. Pedersen | Klarälvdalens Datakonsult
Senior Software Engineer | www.klaralvdalens-datakonsult.se
Peder Skrams Gade 27 3. tv. |
6700 Esbjerg | Platform-independent
Denmark | software solutions
More information about the Kphotoalbum
mailing list