[digikam] [Bug 345220] New: Import ACDSee Categories to hierarchical Tags

classic Classic list List threaded Threaded
64 messages Options
1234
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] New: Import ACDSee Categories to hierarchical Tags

Alan Pater
https://bugs.kde.org/show_bug.cgi?id=345220

            Bug ID: 345220
           Summary: Import ACDSee Categories to hierarchical Tags
           Product: digikam
           Version: 4.8.0
          Platform: unspecified
                OS: Linux
            Status: UNCONFIRMED
          Severity: wishlist
          Priority: NOR
         Component: Metadata
          Assignee: [hidden email]
          Reporter: [hidden email]

The ACDSee family of photo management applications has it's own schema to store
hierarchical keywords or tags. digikam does not recognize these as tags and
does not import them. Users trying to migrate from ACDSee to digikam lose
access to these tags.

digikam has implemented it's own schema as has Microsoft and Adobe Lightroom.
The MWG also has proposed a standard schema. However, the Adobe schema can be
considered as the defacto standard, as many other imaging applications have
adopted it.

I've documented how various applications implement hierarchical keywords/tags.
In each application I created the same 6 level hierarchy and tagged a sample
image with level 2 and level 5. I then used exiv2 to read the resulting
metadata. These are just the main hierarchical fields written, flat tags are
also in xmp.dc.subject, for example.

    6 Level
(X)     6.2 Level
            6.3 Level
                6.4 Level
(X)                 6.5 Level
                        6.6 Level


* Digikam 4.8
Xmp.digiKam.TagsList        XmpSeq  2  6 Level/6.2 Level/6.3 Level/6.4
Level/6.5 Level, 6 Level/6.2 Level

* Adobe Lightroom 4.4
Xmp.lr.hierarchicalSubject  XmpBag  2  6 Level|6.2 Level, 6 Level|6.2 Level|6.3
Level|6.4 Level|6.5 Level

* ACDSee 8 Pro
Xmp.acdsee.categories   XmpText   282   <Categories><Category Assigned="0">6
Level<Category Assigned="1">6.2 Level<Category Assigned="0">6.3 Level<Category
Assigned="0">6.4 Level<Category Assigned="1">6.5
Level</Category></Category></Category></Category></Category></Categories>


Reproducible: Always

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Gilles Caulier-4
https://bugs.kde.org/show_bug.cgi?id=345220

Gilles Caulier <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Import ACDSee Categories to |HUB : Import ACDSee
                   |hierarchical Tags           |Categories to hierarchical
                   |                            |Tags
                 CC|                            |[hidden email]

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Alan Pater
In reply to this post by Alan Pater
https://bugs.kde.org/show_bug.cgi?id=345220

--- Comment #1 from Alan Pater <[hidden email]> ---
Created attachment 91582
  --> https://bugs.kde.org/attachment.cgi?id=91582&action=edit
Test image from ACDSee

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Alan Pater
In reply to this post by Alan Pater
https://bugs.kde.org/show_bug.cgi?id=345220

--- Comment #2 from Alan Pater <[hidden email]> ---
Created attachment 91621
  --> https://bugs.kde.org/attachment.cgi?id=91621&action=edit
Sample image from Heikki Rekki

Issue was originally brought up on digikam users mailing list.

   https://mail.kde.org/pipermail/digikam-users/2015-March/020752.html
This sample image was provided.

   https://mail.kde.org/pipermail/digikam-users/2015-March/020769.html

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Alan Pater
In reply to this post by Alan Pater
https://bugs.kde.org/show_bug.cgi?id=345220

--- Comment #3 from Alan Pater <[hidden email]> ---
Created attachment 91622
  --> https://bugs.kde.org/attachment.cgi?id=91622&action=edit
Sample image from Shotwell report

This issue has also been brought up as a Shotwell bug report and this image was
provided as a sample.

   https://bugzilla.gnome.org/show_bug.cgi?id=718586

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: [digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Alan Pater
Does anyone have the time to work on this in time for digikam 4.9?
I've been looking through the digikam code and am totally lost on
figuring out how this might be implemented or where it might go.

Should it be in libkexiv2 so that other apps can benefit?

Has someone implemented something similar, converting xml to a separated string?

Alan



On Mon, Mar 16, 2015 at 11:58 AM, Gilles Caulier
<[hidden email]> wrote:

> https://bugs.kde.org/show_bug.cgi?id=345220
>
> Gilles Caulier <[hidden email]> changed:
>
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>             Summary|Import ACDSee Categories to |HUB : Import ACDSee
>                    |hierarchical Tags           |Categories to hierarchical
>                    |                            |Tags
>                  CC|                            |[hidden email]
>
> --
> You are receiving this mail because:
> You reported the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Alan Pater
In reply to this post by Alan Pater
https://bugs.kde.org/show_bug.cgi?id=345220

Alan Pater <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[hidden email]

--- Comment #4 from Alan Pater <[hidden email]> ---
Created attachment 91907
  --> https://bugs.kde.org/attachment.cgi?id=91907&action=edit
Code example

This example code in perl was supplied by Robin Mills over at exiv2. It has two
issues:

1) I have no idea how this code might be converted for use in digikam.
2) It needs to only write the string if it encounters <Category Assigned="1">

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Alan Pater
In reply to this post by Alan Pater
https://bugs.kde.org/show_bug.cgi?id=345220

--- Comment #5 from Alan Pater <[hidden email]> ---
I've been trying to figure out what tool to use for this string
conversion. I don't have any QT experience and very little c++. What
I've found are things like QString replace, QRegExp, QXmlStreamReader.

Which of these would be the right tool for the job? Or is there
something better and easier?

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Gilles Caulier-4
In reply to this post by Alan Pater
https://bugs.kde.org/show_bug.cgi?id=345220

--- Comment #6 from Gilles Caulier <[hidden email]> ---
Qt::QString/QStringList must be enough.

Look current Tags conversion code in Digikam::DMetatadata class :

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/libs/dmetadata/dmetadata.cpp#L1192

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/libs/dmetadata/dmetadata.cpp#L1267

Gilles Caulier

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Maik Qualmann
In reply to this post by Alan Pater
https://bugs.kde.org/show_bug.cgi?id=345220

Maik Qualmann <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[hidden email]

--- Comment #7 from Maik Qualmann <[hidden email]> ---
Created attachment 92014
  --> https://bugs.kde.org/attachment.cgi?id=92014&action=edit
acdseetags.patch

Here is a first version of a patch for import tags from ACDSee. It only uses
QString and QStringList. Please test...

Maik

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Maik Qualmann
In reply to this post by Alan Pater
https://bugs.kde.org/show_bug.cgi?id=345220

Maik Qualmann <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #92014|0                           |1
        is obsolete|                            |

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Maik Qualmann
In reply to this post by Alan Pater
https://bugs.kde.org/show_bug.cgi?id=345220

--- Comment #8 from Maik Qualmann <[hidden email]> ---
Created attachment 92022
  --> https://bugs.kde.org/attachment.cgi?id=92022&action=edit
acdseetags2.patch

Minor code optimizations.

Maik

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Gilles Caulier-4
In reply to this post by Alan Pater
https://bugs.kde.org/show_bug.cgi?id=345220

--- Comment #9 from Gilles Caulier <[hidden email]> ---
Maik,

I look your code (not yet tested). I sound right.

Some suggestions :

- export from digiKam to ACDSEE (the revert way) must be implemented to
setImageTagsPath() for interroperability purpose, as i already do for LR for
ex.

- Not mandatory, but better, is to implement a small QTest code in core/tests
to check if these methods work fine.

 For "get" method :
   * make a metadata container with ACDSee tag paths
   * get tag paths to string list and look results.

For "set" method :
   * pass tag paths to string list
   * look if metadata container is set properly.

Note : this can be extended to LR, M$ Windows Live Photo Gallery, Imach, and
Windows keywords.

Gilles

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Gilles Caulier-4
In reply to this post by Alan Pater
https://bugs.kde.org/show_bug.cgi?id=345220

--- Comment #10 from Gilles Caulier <[hidden email]> ---
ALan,

If you can give a feedback about Maik patch to see if it's the right way, we
can plan to integrate this feature in next 4.10.0

Gilles

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Maik Qualmann
In reply to this post by Alan Pater
https://bugs.kde.org/show_bug.cgi?id=345220

--- Comment #11 from Maik Qualmann <[hidden email]> ---
Created attachment 92023
  --> https://bugs.kde.org/attachment.cgi?id=92023&action=edit
result.txt

On request of Alan the results for the attachments in this bug report.

Maik

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Alan Pater
In reply to this post by Alan Pater
https://bugs.kde.org/show_bug.cgi?id=345220

--- Comment #12 from Alan Pater <[hidden email]> ---
Looks good Maik!

Gilles, if you want to export to acdsee, I'll add the acdsee namespace and
properties directly to exiv2.

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Gilles Caulier-4
In reply to this post by Alan Pater
https://bugs.kde.org/show_bug.cgi?id=345220

--- Comment #13 from Gilles Caulier <[hidden email]> ---
Alan,

Yes, this is the usual way to expand compatibility. If Exiv2 has more namespace
defined, this will help...

but...

The most important is too release Exiv2 quickly now. Library have not been
updated since a while. In OpenSource, release plan is very important. Do no
lets to much time between releases...

Just my experience to share

Gilles

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Alan Pater
In reply to this post by Alan Pater
https://bugs.kde.org/show_bug.cgi?id=345220

--- Comment #14 from Alan Pater <[hidden email]> ---
Gilles, agreed. Wait for the next exiv2 release before submitting more changes.

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Alan Pater
In reply to this post by Alan Pater
https://bugs.kde.org/show_bug.cgi?id=345220

--- Comment #15 from Alan Pater <[hidden email]> ---
Unless I'm formatting things wrong, it looks to me like the result from
attachment 91621 is not quite right. Here it is what I think it should look
like, expanded to make it easier to read.

>>> acdsee <<< categories :
<Categories>

    <Category Assigned="0">Ihmiset
        <Category Assigned="1">Oma perhe
            <Category Assigned="1">Marjatta
            </Category>
            <Category Assigned="1">Jouni
            </Category>
        </Category>
    </Category>

    <Category Assigned="0">Paikat
        <Category Assigned="1">koti
            <Category Assigned="1">Kouvola
            </Category>
        </Category>
    </Category>

</Categories>

>>> digiKam-Schema <<< Tags List :

    Ihmiset/Oma perhe,
    Ihmiset/Oma perhe/Marjatta,
    Ihmiset/Oma perhe/Jouni,

    Paikat/koti,
    Paikat/koti/Kouvola,

>>> lr <<< hierarchicalSubject :

  Ihmiset|Oma perhe,
  Ihmiset|Oma perhe|Marjatta,
  Ihmiset|Oma perhe|Jouni,

  Paikat|koti,
  Paikat|koti|Kouvola

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 345220] HUB : Import ACDSee Categories to hierarchical Tags

Alan Pater
In reply to this post by Alan Pater
https://bugs.kde.org/show_bug.cgi?id=345220

--- Comment #16 from Alan Pater <[hidden email]> ---
Created attachment 92063
  --> https://bugs.kde.org/attachment.cgi?id=92063&action=edit
Additional ACDSee properties

In addition to the Categories property, acdsee also adds the following:

Xmp.acdsee.caption                           XmpText     0  
Xmp.acdsee.datetime                          XmpText    23
2012-03-30T19:05:24.000
Xmp.acdsee.author                            XmpText     0  
Xmp.acdsee.rating                            XmpText     1  0
Xmp.acdsee.notes                             XmpText    91  Quebec - Cours de
perfectionnement de la Chambre des notaires du Quebec - Chateau Frontenac
Xmp.acdsee.tagged                            XmpText     5  False
Xmp.acdsee.keywords                          XmpBag      2  Coca, River

The attached tries to address the "rating", "notes", and "keywords" properties,
and includes Maik's work on "Categories".

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
1234