[Digikam-devel] New database schema

Marcel Wiesweg marcel.wiesweg at gmx.de
Wed Oct 17 20:08:15 BST 2007


during the last weeks I have been working on implementing the new database 
schema that has been discussed for a long time.
The code will be merged into SVN tonight. It is a basic working version, with 
a lot still to do (see below).

If you are a brave SVN user, this means for you:
- your old database will not be touched, it will be copied to digikam4.db and 
updated to the new schema. The new database cannot be used with digikam 0.9.
- we do not guarantee yet that the final schema for 0.10 is be reached. Bugs 
may still emerge. This means you may be required to delete your digikam4.db 
file when problems arise. This state is (deliberately) set to last at most 
one month from now (Nov 17th)
=> dont use digikam 0.10 yet for production work

Enough of that, what is new?
The new database schema offers room for much more information from the images. 
For example, almost everything that you can read in the Image Properties 
sidebar is now stored in the db. This means as well that it will be 
searchable. It offers a wealth of new possibilities and I hope it will close 
some long-standing bugs.
Secondly, we will have support for multiple album roots. There is no reason 
why digikam should be restricted to one directory only. With hardware support 
from Solid, we will also support CDs and other removable media. Network share 
support is planned as well
Along with multiple paths, and albums on removable media, comes that 
requirement that images are not removed from the DB only because their 
storage is currently not accessible.
Connected with that as well is the idea to track images by their contents. 
This idea I have to admit is impudently copied from Amarok. And it is not 
implemented yet; but we have the necessary hash value in the database to 
compare files.
We want as well to add support for similarity searching using a Haar 
algorithm. (This is a completely different hash, build from the decoded image 

Now the backdraw:
You dont see anything from all this if you try out SVN right now. You will 
even notice that support for comments is broken. With the db change, we have 
the fundament and the structural work, but we need to build on top of that.

Immediate TODOs include:
- fix the listing by date
- add progress display to the collection scan during database upgrade
- change notification need to be restored
- a class for you to access the DownloadHistory table
- make use of the information in sidebar, tooltip etc.
- comments are currently disabled, at least a basic version need to be 
restored (multiple language and comment type support needs to have UI, too)


More information about the Digikam-devel mailing list