After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 718586 - Support reading ACDSee tags from XMP data
Support reading ACDSee tags from XMP data
Status: RESOLVED FIXED
Product: shotwell
Classification: Other
Component: general
unspecified
Other All
: Normal enhancement
: 0.26
Assigned To: Shotwell Maintainers
Shotwell Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-05-22 12:58 UTC by Shotwell Maintainers
Modified: 2016-09-29 06:58 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
IMG_0600X - CopyB.jpg (1006.96 KB, image/jpeg)
2012-05-22 12:58 UTC, Shotwell Maintainers
  Details
Support acdsee tags (3.27 KB, patch)
2016-09-21 18:33 UTC, Jens Georg
none Details | Review
Convert hierarchical categories to | taglist (1.82 KB, text/plain)
2016-09-21 21:13 UTC, Jens Georg
  Details
Support acdsee tags (9.48 KB, patch)
2016-09-24 21:31 UTC, Jens Georg
none Details | Review
Support acdsee tags (10.12 KB, patch)
2016-09-24 21:31 UTC, Jens Georg
committed Details | Review

Description Charles Lindsay 2013-11-25 21:57:13 UTC


---- Reported by shotwell-maint@gnome.bugs 2012-05-22 05:58:00 -0700 ----

Original Redmine bug id: 5285
Original URL: http://redmine.yorba.org/issues/5285
Searchable id: yorba-bug-5285
Original author: Ryan Lortie
Original description:

A friend of mine asked me yesterday if he should "make the switch" to
Ubuntu/Fedora/etc. We went over all of the typical things that he needed to do
to find out if he could survive the switch.

We managed to check off every box but one. There is a popular photo management
program for windows called ACDSee that's quite similar to Shotwell in a lot of
ways. He's using that and he has invested quite a lot of time in tagging and
adding notes to his photos. I had him export an image for me with some tags
and a note.

The result is a jpeg that I can open in eog (no surprise). When I go to Image
properties, under Details, then under "XMP Other", I see there are the
following keys:

acdsee:caption, acdsee:datetime, acdsee:author acdsee:rating acdsee:notes,
acdsee:tagged, acdsee:categories

Some types:

    
    - caption is presumably a string (but is empty in this example file he gave me)  
     - datetime is an ISO8601 string.  
     - rating is an int.  
     - notes is a string  
     - tagged is a boolean which is set to 'False' in my example image (even though there are tags added)  
     - categories is an XML fragment that looks like so:

<Categories>

<Category Assigned="0">

Places

<Category Assigned="1">

Bermudes 83

</Category>

</Category>

</Categories>

So there appears to be some nested tagging going on (and from what I saw of
the program, that's the case).

It would probably be pretty straight-forward to support looking for the tags
at import and converting them to Shotwell tags -- either in Shotwell or a
plugin. As for adding notes, I didn't find an equivalent feature in the
Shotwell UI, so that may be a bit more complicated.

I've attached a specimen.



---- Additional Comments From shotwell-maint@gnome.bugs 2012-05-22 07:42:00 -0700 ----

### History

####

#1

Updated by Adam Dingle over 1 year ago

Thanks for the suggestion, Ryan. I don't think we've heard of ACDSee before
(cool name, though!) so we're probably not going to build this into Shotwell
core any time soon, but I agree this would make a great plugin. Unfortunately
our plugin system doesn't allow plugins to perform transformations like this
at import time, but we should extend it to allow that.

Shotwell doesn't yet allow adding notes to a photo, but we've wanted that
feature for a long time: see #1573. Hopefully before too long.



--- Bug imported by chaz@yorba.org 2013-11-25 21:57 UTC  ---

This bug was previously known as _bug_ 5285 at http://redmine.yorba.org/show_bug.cgi?id=5285
Imported an attachment (id=262412)

Unknown Component 
   Using default product and component set in Parameters 
Unknown version " in product shotwell. 
   Setting version to "!unspecified".
Unknown milestone "unknown in product shotwell. 
   Setting to default milestone for this product, "---".
Setting qa contact to the default for this product.
   This bug either had no qa contact or an invalid one.
Resolution set on an open status.
   Dropping resolution 

Comment 1 Alan Pater 2015-03-18 15:28:42 UTC
I've done some work on understanding the ACDSee Categories property. These are hierarchical tags, with the same functionality as Lightroom Hierarchical Subjects and Microsoft Photo Last Keyword. digikam also has it's own internal property for hierarchical tags: Tags List. I think that the Adobe format is a defacto standard.

The format of ACDSee Categories is quite different from the others:

* Digikam 4.8 & MS Photo 
  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>

I've suggested elsewhere that converting between these formats be implemented in gexiv2, as part of it's composite tags support.

    https://bugzilla.gnome.org/show_bug.cgi?id=712429
Comment 2 Alan Pater 2015-03-18 16:08:48 UTC
This same issue has recently been brought up on the digikam users mailing list.

The digikam feature request is here:

   https://bugs.kde.org/show_bug.cgi?id=345220
Comment 3 Alan Pater 2015-04-21 20:35:04 UTC
Maik and Gilles have come through with support for converting from ACDSee in digikam.

    https://bugsfiles.kde.org/attachment.cgi?id=92108

And I have added support in exiv2, which allows writing to those properties.

   http://dev.exiv2.org/projects/exiv2/repository/revisions/3715

Who wants to commit to Shotwell keeping up?
Comment 4 Jens Georg 2016-07-17 18:58:28 UTC
I started looking into this, but currently I'm quite confused how adding "Xmp.acdsee.caption" in PhotoMetadata.get_title() ends up setting the title to the contents of "Xmp.acdsee.timestamp".
Comment 5 Jens Georg 2016-07-17 20:29:42 UTC
(In reply to Jens Georg from comment #4)
> I started looking into this, but currently I'm quite confused how adding
> "Xmp.acdsee.caption" in PhotoMetadata.get_title() ends up setting the title
> to the contents of "Xmp.acdsee.timestamp".

That was an issue in gexiv2: bug 768906
Comment 6 Jens Georg 2016-09-21 18:07:59 UTC
That's actually a bit more complex:

From ACDSEE 19:

Xmp.acdsee.caption                           XmpText    10  jdsflkdsjf
Xmp.acdsee.datetime                          XmpText    23  2008-03-14T13:59:26.000
Xmp.acdsee.author                            XmpText     6  Author
Xmp.acdsee.rating                            XmpText     1  4
Xmp.acdsee.notes                             XmpText     6  Remark
Xmp.acdsee.tagged                            XmpText     5  False
Xmp.acdsee.keywords                          XmpBag      1  Test|Blah
Xmp.acdsee.categories                        XmpText    64  <Categories><Category Assigned="1">Alben</Category></Categories>
Xmp.acdsee.collections                       XmpText     0  

And additionally it uses Xmp.xmp.Label.

So .keywords looks like the same as Xmp.lr.hierarchicalSubject. The interesting thing is whether to support keywords or categories or both.
Comment 7 Jens Georg 2016-09-21 18:33:32 UTC
Created attachment 336024 [details] [review]
Support acdsee tags

Signed-off-by: Jens Georg <mail@jensge.org>
Comment 8 Jens Georg 2016-09-21 18:34:04 UTC
First throw. That should probably be modified and made read-only for some tags.
Comment 9 Alan Pater 2016-09-21 19:20:16 UTC
Cool! 

There is an apparent typo in the patch, "Xml.acdsee.datetime" should likely be "Xmp.acdsee.datetime".

Regarding support for keywords or categories, I would vote for including categories as well as it has been in use by ACDSee apps for years and therefor exists in tons of images. The keywords property seems to be new, I did not see that in previous versions.

Of course, the coding to include acdsee.categories is much more complex, as you can see in the digikam link.
Comment 10 Jens Georg 2016-09-21 20:12:15 UTC
Oh, thanks. Well spotted.

There also seems to be an issue with the assignment of the lr tags. In ACDSEE I assigned Foo and Foo|Bar, but shotwell interprets that as only Bar being assigned.
Comment 11 Jens Georg 2016-09-21 20:13:08 UTC
(In reply to Alan Pater from comment #9)

> Regarding support for keywords or categories, I would vote for including
> categories as well as it has been in use by ACDSee apps for years and
> therefor exists in tons of images. The keywords property seems to be new, I
> did not see that in previous versions.
> 
> Of course, the coding to include acdsee.categories is much more complex, as
> you can see in the digikam link.

Doesn't look too bad, digikam is just doing some string magic there.
Comment 12 Jens Georg 2016-09-21 21:13:24 UTC
Created attachment 336035 [details]
Convert hierarchical categories to | taglist

Convert from pseudo-xml to |-separated hierarchical tags
Comment 13 Jens Georg 2016-09-21 21:14:22 UTC
(In reply to Jens Georg from comment #12)
> Created attachment 336035 [details]
> Convert hierarchical categories to | taglist
> 
> Convert from pseudo-xml to |-separated hierarchical tags

Input:

<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>

output:
6 Level|6.2 Level|
6 Level|6.2 Level|6.3 Level|6.4 Level|6.5 Level|

Needs some polishing and error handling, but I think that's equivalent.
Comment 14 Jens Georg 2016-09-24 21:31:06 UTC
Created attachment 336203 [details] [review]
Support acdsee tags

Signed-off-by: Jens Georg <mail@jensge.org>
Comment 15 Jens Georg 2016-09-24 21:31:44 UTC
Created attachment 336204 [details] [review]
Support acdsee tags

Signed-off-by: Jens Georg <mail@jensge.org>
Comment 16 Jens Georg 2016-09-29 06:58:15 UTC
Attachment 336204 [details] pushed as 9218b13 - Support acdsee tags