digiKam digest - 2009-06-28
Submitted by mikolajmachowski on Sun, 2009-06-28 23:56
Interesting things which happened last week:
- Bugfixing, bugfixing, bugfixing, especially in new multi-language comments
- Optimizations, always welcome
- Improved interoperability with LightRoom (import/export of tags)
- Initial version of digiKam-Nepomuk cooperation
- Metadata templates (note: this is early version of GUI and may change in future)
- Discussions about efficiency of sqlite as database backend
Bug/wish table
| Opened bugs | Opened last week | Closed last week | Change | Opened wishes | Opened last week | Closed last week | Change | |
|---|---|---|---|---|---|---|---|---|
| digikam | 237 | +20 | -17 | 3 | 275 | +2 | -2 | 0 |
| kipiplugins | 114 | +6 | -6 | 0 | 148 | +1 | -0 | 1 |
Full tables:
NEWS reports
Issues closed last week (note: due to different methodologies numbers may not add up with table above)
digiKam
+General : Added support of LightRoom keywords path for interoperability purpose.
+045 ==> 152219 : Impossible to clear comments in metadata.
+046 ==> 197198 : Libpng not detected during configure.
+047 ==> 152199 : Deleting tags can leave orphaned IPTC keywords inside files.
+048 ==> 197285 : Understand keyword hierarchies with different delimitors.
+049 ==> 197640 : Add the "New folder" Option while dragging items to folders.
+050 ==> 197744 : Lists of languages miss en-US.
+051 ==> 197622 : digiKam crashes on exit.
+052 ==> 197808 : Bad images sort order when starting digiKam.
+053 ==> 197641 : Can't delete exif x-default caption once set.
+054 ==> 196437 : digiKam crashes at startup.
+056 ==> 197868 : digiKam crashes on startup (digikam-0.10.0-2/x86_64/Archlinux).
+057 ==> 196686 : Iconview (Qt4 Model/View based) : Select multiple images with Ctrl + Mouse not working anymore in 1.0.0-beta1
+058 ==> 197961 : Cameragui freezes digikam when starting to download images from camera.
+059 ==> 197445 : digiKam freezes while attempting to import images from canon powershot a540.
+060 ==> 198067 : digiKam does not show any pictures.
Kipi-plugins
+024 ==> AquireImages : 194341 : digiKam crashed with seg fault.
+025 ==> BatchProcessImages : 198039 : digiKam crashed after resizing several photos.
+026 ==> BatchProcessImages : 197764 : Batch resize crashes digiKam upon clicking the "close" option once resizing is done.
+027 ==> BatchProcessImages : 193488 : Abort after batch processing.
+028 ==> BatchProcessImages : 191955 : Turn off when resizing.
+029 ==> GalleryExport : 198058 : EXIF information is lost on gallery export (only when resizing).
Selected commits
SVN commit 985202 by mwiesweg:
Remove "optimization" in slotLayoutChanged that only causes relayout if certain tested
filter parameters have changed. But neither testing these parameters nor testing
for rowCount can rule out the necessity of a relayout (our filter models e.g. dont
care about these parameters. Row count may be the same but completely different
indexes may be present).
Remove dataChanged reimplementation. This may cause side effects!
But I see no need for this. And even less for caching visual rect before
a possible relayout. For me, if a proxy model wants to re-categorize,
it should emit layoutChanged().
3 files changed
SVN commit 985047 by aclemens:
Dropping an album into an empty space in the albumfolderview added this
album to the albumroot. But since we have multiple collections, this
isn't working anymore.
Disabling it for now because we get an error, but I would suggest to
remove this forever, because we can not guess the
correct collection, in where the album should be moved.
1 file changed
SVN commit 985196 by mwiesweg:
Pass current tag ids to removeAllTags (which is hardly used at all)
to get better state in the change message.
Fix possible crashes in ImageInfo (check for m_data)
5 files changed
SVN commit 985199 by mwiesweg:
Retrieve image + album ids in one call from given album root, album path and file name
2 files changed
SVN commit 985245 by cgilles:
Update photographer info container following ImageCopyright class to prepare registration in DB.
Next stage is to make Photographers indentity manager for digiKAm setup, and later add to ALbumGUI
and CameraGui right sidebar a new settings to adjust photo author informations.
Marcel : as ImageComment, same problem in ImageCopyright class : how to remove copyright informations from DB ?
We can Add/Append new item, but not delete...
CCMAIL: marcel.wiesweg@gmx.de
4 files changed
SVN commit 985160 by cgilles:
polish comments metadata registration. If default comment string isNull (not isEmpty), tags which host only one comments are removed as well.
CCBUGS: 152219
2 files changed
SVN commit 985198 by mwiesweg:
- keep thumb db files out of mod date list
- make sure there is a complete scan after changing the database while running
1 file changed
SVN commit 985277 by aclemens:
Add a new method to get invalid filePaths. This should speed up the
batch thumbnailer a lot if used on a big collection.
Unfortunately it seems that we are not (yet) using the NoThumbnail flag
(or we don't add files without thumbs at all to the filePaths table).
When adding new files, they don't appear in the thumbsDB when the album
has not been opened or the batch thumbnailer has not yet run.
Maybe we should add files immediately to the thumbsDB when they are
added to the collection and set the NoThumbnail flag.
3 files changed
SVN commit 985220 by cgilles:
displatch dirty state from caption widget to sidebar.
User can now press apply button to register current caption edited.
3 files changed
SVN commit 985393 by aclemens:
Use InfoDlg as base class for RawCameraDlg to have a more common look in
these dialogs.
InfoDlg can be factorized a little bit to make adding new widgets
easier.
3 files changed
SVN commit 985414 by cgilles:
set-up credits.xml info file to store photographer identies.
re-write setup identity page as photographers info manager
TODO : use these info to store data in DB and metadata
http://websvn.kde.org/?view=rev&revision=985414
7 files changed
SVN commit 985792 by cgilles:
import tags hierarchies from LightRoom
CCBUGS: 197285
2 files changed
SVN commit 985834 by cgilles:
Export digiKam tags hierarchies to LightRoom XMP namespace
CCBUGS: 197285
1 file changed
SVN commit 985689 by cgilles:
Camera GUI : add option to apply metadata template to items to download from camera.
CCBUGS: 139361
4 files changed
SVN commit 986000 by mwiesweg:
Nepomuk coding sprint results:
Initial revision of a Digikam <-> Nepomuk synchronisation bridge.
For now this is implemented as a Nepomuk service running independently
from the main digikam instance.
Syncs rating, comment and tags; tags is one-way currently, syncing tags
from Nepomuk to digikam is awaiting implementation.
Changes in digikam are immediately pushed to Nepomuk by listening to
digikam's DBus signals. After first start, a full sync of all entries
is triggered. The initial sync is recorded in the database.
Changes in Nepomuk are registered by listening to global change signals.
After a timed delay a Sparql query retrieves all relevant changes
that occurred since the last check. The time is recorded in the database.
The database file path is read from the digikam configuration file.
If an instance is running, it is queried directly. If the database file
changes, the service is informed by digikam. (This does not scale well to several
instances running different DBs, but digikam does not support this scenario anyway)
Both syncing directions are independently configurable. Default is false for now;
we should consider defaulting to true.
Note: I am running KDE4.3beta2 at the moment. If there is code not compiling with
KDE4.2, we must add a conditional switch to CMake.
CCMAIL: digikam-devel@kde.org trueg@kde.org
4 files changed
SVN commit 986001 by mwiesweg:
Add compilation of Nepomuk sync service.
Please test if this is fine with KDE4.2! If not, we must make it optional
for KDE >= 4.3. I guess that should be possible with CMake.
2 files changed
SVN commit 985996 by mwiesweg:
Add various remove and replace methods, adjust API, some internal changes
2 files changed
SVN commit 986124 by mwiesweg:
Compile nepomuk service only with KDE4.3 (beta currently)
1 file changed
SVN commit 986203 by cgilles:
new findBytContents method
2 files changed
SVN commit 986271 by cgilles:
new method to export ImageCopyright to Template class
2 files changed
SVN commit 986330 by mwiesweg:
Clear selection before calling setCurrentIndex() at those places where the intention
is clearly to set exactly one selected + current index.
If Ctrl or Shift are pressed, maybe for any unrelated purpose, it would be taken
into account because the selectionCommand() is shared for all purposes including
mouse selection, keyboard selection and programmatical selection.
1 file changed
SVN commit 986979 by cgilles:
added template management to Caption and tags right side bar.
CCBUGS: 139361
http://websvn.kde.org/?view=rev&revision=986979
4 files changed
SVN commit 987080 by cgilles:
Template management : to be able to host more than one author at the same time.
http://websvn.kde.org/?view=rev&revision=987080
9 files changed
SVN commit 987077 by aclemens:
Fix sharpen method "unsharp mask".
We use the "radius" input as diameter. Actually this setting has been
wrong for a long time, and ha become visible by using CImg::blur() now.
2 files changed
SVN commit 987110 by aclemens:
Add new tests for ImageLoader classes.
They don't do much yet, but it seems we already found a bug in
PNGLoader.
We need definitely more test cases for digiKam ;-) also to reduce
regression errors.
5 files changed
SVN commit 987220 by mwiesweg:
Dont drop newly inserted comments...
CCBUG: 197641
1 file changed
SVN commit 987612 by mwiesweg:
Read rights usage terms and instruction correctly from metadata to database
1 file changed
SVN commit 987695 by mwiesweg:
Ignore activation by click on thumbnail if the Ctrl or Shift modifiers are pressed.
BUG: 196686
1 file changed
SVN commit 987819 by mwiesweg:
Implement method to retrieve all entries of a property with language code.
CCBUG: 139361
2 files changed
SVN commit 987694 by mwiesweg:
Got enough of this: Port Qt's QListView code for setSelection and replace
home-brewn implementation.
In my tests it worked nicely.
This fixes the problems of "Weird behavior with Shift + Click" (any bug report?)
and the problem "Ctrl + rubberband selection deselects previous selection".
CCBUG: 196686
2 files changed
SVN commit 987818 by mwiesweg:
Remove hardcoded FreeDesktopStandard value - remove thumbnails properly
from thumbnails db after JPEG lossless rotation or adjusting EXIF orientation flag
1 file changed
SVN commit 988101 by cgilles:
Matadata Template : support of multi-language alternative contents.
CCBUGS: 139361
http://websvn.kde.org/?view=rev&revision=988101
8 files changed
SVN commit 988170 by cgilles:
new Metadata Template Batch tool for Batch Queue Manager
3 files changed
SVN commit 988322 by aclemens:
Removing this code again, it will not make things faster.
I did a lot of I/O performance testing now and at least with our sqlite3
solution, we really have reached the limit, it is just not performing
well on bigger collections.
My thumbsDB is 970MB big, and when the disk cache has not been already
filled, querying the database is painfully slow.
This is not digiKam's fault, it can be easily reproduced in the sqlite3
command line tool.
as root:
sync
echo 1 > /proc/sys/vm/drop_caches
Now your disk cache is cleared, as if the system just started up.
Run a simple query on a bigger thumbsDB like:
select count(*) from thumbnails where type = 0;
Even though this query delivers no results, it takes up to 20 seconds to
completely parse the table.
When used in digiKam, the application is not responding at all during
this operation, you get the impression that digiKam just hung up.
I have a large RAM here (4GB), but I don't know what happens if you run
digiKam 1.0.0 on an average system with 512MB or 1GB RAM.
For me the only solution is to go with embedded MySQL or even a real
MySQL server solution.
Because now we don't have just one, but two rather big databases.
CCMAIL:digikam-devel@kde.org
3 files changed
SVN commit 988708 by mwiesweg:
Clean up album thumbnail loader thread at shutdown
3 files changed
SVN commit 988845 by aclemens:
Little performance improvement: Don't call if (QRect.contains()) for
every single point to draw the transparent gray overlay for
the aspect ratio widget. Especially when images are bigger, this is very
slow. It still isn't fluent, but at least a little bit faster.
1 file changed




>or even a real MySQL server
>or even a real MySQL server solution.
Then hopefully postgresql would be supported too.
Disclaimer: IAMD (I am not
Disclaimer: IAMD (I am not developer)
*If* digiKam abandons sqlite in first round it should be something MySQL based to minimize digiKam specific dependencies. MySQL-embedded is used in Amarok, very popular music player, and full MySQL server is backend for Akonadi, core part of KDE.
In future... Who knows? :)
nepomuk
i'm VERY happy for the nepomuk integration!
Exciting stuff in DigiKam
First of all - DigiKam is one of the most important applications to me as photography for me is a way to relax :-)
Congratulations on the progress you are making. I think it looks exciting and I am looking forward to new releases!
The compatibility with Lightroom is especially interesting to me as I am a paying Lightroom owner and would love to be able to move all of it over and keep as much as possible.
One feature from Lightroom that I miss on import of pictures is the possibility to autocreate folders based on a date pattern (of when the picture was taken, not imported) e.g. Pictures/year/month/day is a systems I prefer using.
Regarding MySQL - I would love to be able to put all pictures on the server at home and use DigiKam on everyone PC's to watch the pictures. That would make things a bit easier. Especially if I could mark all my pictures as Read-only so the others could not save any changes to the originals. As we are in the digital age, originals should actually be marked read-only automatically on import.
One big wish from me is to move a little closer to the color correction of Lightroom. I really like the way you work there and the options.
Do you mean in example, that
Do you mean in example, that you have shooted on three days on last week and when you import, the digiKam reads all the metadata and creates albums like 2009_06_31, 2009_06_28 and 2009_06_25 ?