Lightroom SDK: Support all data types in custom metadata

  • 7
  • Idea
  • Updated 1 week ago
This is my #1 feature request for the Lightroom SDK

Presently, custom metadata values do not have to be text, but they will be treated as text anyway in library filter & smart collections. There are four problems with this:

1. If plugin assigns a numeric value of 1.667 to some metadata field, as example, then if the user tries to match all fields whose value is 1.667, there won't be a match, because the filtering software is looking for "1.667" as a text string, yet the numeric data value of 1.667, does not look like the equivalent text string to the software (although it looks exactly like it to the user). To the user, it just appears flaky / broken.

2. Plugin programmers would be wise to convert all numeric / date / boolean... values to text before assigning to custom metadata fields, which is a big bummer, since once this problem is fixed, all existing metadata will need to be converted to its proper data-type, and all plugins that support metadata will need to be updated accordingly.

3. Custom metadata that really should not be textual does not behave like it would if it were native.

4. There is presently no support for constraining custom metadata numerically, or as date...
For example, there is no (good) way to find all photos whose DevMeta/Highlight-Recovery is greater than 1, since numeric comparison does not work on text strings... Likewise, there is no way to constrain ExifMeta/Last-Update to old dates only... - since dates are also handled like text...

Summary:
------------
Although I have many high hopes for Lightroom SDK, if only one thing were fixed - this one would have my vote.

Note to Adobe: If a separate Lightroom SDK sub-product type is created for this site - please move this FR/Idea there.
Photo of Rob Cole

Rob Cole

  • 4831 Posts
  • 385 Reply Likes
  • admittedly bummed about this one...

Posted 8 years ago

  • 7
Photo of Photographe

Photographe

  • 243 Posts
  • 31 Reply Likes
Seems like a good idea to me.
Photo of Rob Cole

Rob Cole

  • 4831 Posts
  • 385 Reply Likes
I'd rest a lot easier if this one were at least acknowledged by Adobe - I'm not sure why this isn't just fixed in the next dot release, but please please please do not let it persist into Lr4.

Note to users who don't use plugins: this won't really take away from other features - it's a small thing to fix that's a big thing for (metadata) plugin users.
Photo of Rob Cole

Rob Cole

  • 4831 Posts
  • 385 Reply Likes
still not fixed @Lr4b
Photo of Rob Cole

Rob Cole

  • 4831 Posts
  • 385 Reply Likes
I hope this hole is plugged in Lr5.
Photo of Rory Hill

Rory Hill

  • 242 Posts
  • 35 Reply Likes
This is why I do not use Adobe SDKs. For example, they have a bug in the Bridge CS6 javascript implementation where you cannot use scriptui, thereby crippling virtually all bridge scripts that have a UI. This has been known for a year now and still nothing. I could go on. Who wants to sit on their thumbs for years in the hope things get fixed. Adobe simply does not support their SDKs.
Photo of Rob Cole

Rob Cole

  • 4831 Posts
  • 384 Reply Likes
I'm not wholly disappointed with Lr's SDK. In fact, in many respects, it's quite good.

That said, it is extremely frustrating when seemingly quick-to-fix things go unfixed for so long. Aarggghhhhh....

I realize this one isn't a 5-minute fix, but I bet it could be done in a few hours - all things considered and included...

Thanks for the heads up about Bridge's SDK ;-}.

Cheers,
Rob
Photo of Rob Cole

Rob Cole

  • 4831 Posts
  • 385 Reply Likes
Adobe: please add support for numerics & date/time in Lr6 - this is still my #1 feature request for the SDK.

Boolean would be nice too, but can be implemented as enum so less critical.

PS - If you can't muster what it takes for date/time, at least give us numerics - please, please, please...

Thanks for listening...
Rob
Photo of Jun48

Jun48

  • 85 Posts
  • 12 Reply Likes
This reply was created from a merged topic originally titled Add numeric data type for Custom metadata.

Currently custom metadata supports string, enum,URL data type.
Please Add ‘numeric’ data type.
I m working image evaluate plugin using OpenCV , searching result from
Smart collection, that needed like ‘greater than’ numeric search operator.
Photo of Alan Harper

Alan Harper

  • 440 Posts
  • 86 Reply Likes
This reply was created from a merged topic originally titled Add numeric data type for Custom metadata (merging).

Hi Jun48

I know that this is not what you were looking for, but the chances of Adobe making this change are small.

Have you considered encoded image value like "X" "XX" "XXX" etc so then you can say "Image quality contains XXXXXXX" for quality of 7 or greater. I'm not sure that anyone needs more than ten bins for image quality.

Note: This conversation was created from a reply on: Add numeric data type for Custom metadata.
Photo of Jun48

Jun48

  • 85 Posts
  • 12 Reply Likes
Hi , Harper

Of course I considered such idea but no way to determine lengthy of string and cannot use it with search.

Possible un-smart way is store numbers as string, and make lineup with search “begin with [1]” and “begin with [2]” ...


SDK Does not changed from 6.0, Does adobe abandoned lua plugin implovement?
(Edited)
Photo of john beardsworth

john beardsworth

  • 1117 Posts
  • 261 Reply Likes
"SDK Does not changed from 6.0, Does adobe abandoned lua plugin implovement?"
Not totally, but there are long gaps between improvements.

I agree with the underlying request, but realistically-speaking, you're going to have to find a workaround.
Photo of John R. Ellis

John R. Ellis, Champion

  • 3894 Posts
  • 1034 Reply Likes
As an inconvenient workaround, the Any Filter plugin lets you do numeric comparisons on string-valued fields (e.g. custom metadata fields).
Photo of John R. Ellis

John R. Ellis, Champion

  • 3894 Posts
  • 1034 Reply Likes
"SDK Does not changed from 6.0, Does adobe abandoned lua plugin implovement?"

Just last week noticed there a small number of documented changes in 7.4. Usually, when Adobe (rarely) releases a new version of the SDK, there are undocumented changes as well, and I generate a list of these semi-automatically.  I haven't gotten around to doing this for the 7.4 changes yet.
Photo of john beardsworth

john beardsworth

  • 1121 Posts
  • 262 Reply Likes
"I generate a list of these semi-automatically"

How do you do this, John?
Photo of John R. Ellis

John R. Ellis, Champion

  • 3894 Posts
  • 1034 Reply Likes
I have a Lua script that tests for the presence of globals and methods and members of existing object types.
Photo of john beardsworth

john beardsworth

  • 1121 Posts
  • 262 Reply Likes
Interesting, thanks.