• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Where are preset group UUIDs stored?

New Here ,
Jul 01, 2018 Jul 01, 2018

Copy link to clipboard

Copied

I'm currently looking into LR presets and how they get managed as I noticed everything is different now with the latest updates (presets stored as XMP, etc).

One thing I'm yet to work out is how LR (and Camera Raw) decides on what UUID to give each preset group / directory. I know that it keeps some kind of reference somewhere as the group UUIDs are used in FavoriteStyles.xmp to define the preset groups that should be hidden in LR and Camera Raw. I can't find any other reference to the group UUIDs in any file other than FavoriteStyles.xmp.

Does anyone know where these preset group UUIDs are stored, or how they map back to a preset group / directory?

Robin

Views

756

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jul 01, 2018 Jul 01, 2018

Copy link to clipboard

Copied

The ids might be digests of the group names, e.g. MD5 digests:

- They're hex numbers with 32 digits (128 bits), the right length for an MD5 digest.

- When you create a new group in LR's user interface, no file within ~/Library/Application Support/Adobe changes other than the new .xmp file and the Index_*.dat file. Running "strings" on the Index_*.dat file shows that the id of the group isn't stored in it.

- If you rename a group, the id recorded in FavoriteStyles.xmp changes. Typically in systems that store persistent unique ids for objects, when you rename the object, the unique id stays the same.

If this is true, it's not a straight MD5 digest of the name -- it may be a different kind of digest, or it might be a digest of the group name with a suffix or prefix added.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 02, 2018 Jul 02, 2018

Copy link to clipboard

Copied

Thanks for the insight, that's given me a direction to head toward!

It makes sense about the MD5 digest, I hadn't considered that. I did some testing earlier and the digest definitely isn't just the group name so there's something else going on. The fact it changes on rename does imply that it's connected to the name in some sense so hopefully we can work out what else gets mixed into the name to create the digest. I've got a couple of variations I want to try but they're nothing but wild guesses.

Would love to get to the bottom of this. We're so close!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 02, 2018 Jul 02, 2018

Copy link to clipboard

Copied

So after some more digging I'm pretty sure that the UUID is a variant of the standardised UUID spec​. I think it might be a version 3 UUID that combines a namespace and string to create the UUID. If so, I'm stumped as to what the namespace is so it doesn't help the end result of being able to decode or confirm which preset groups the UUIDs are referring to. At a loss for now.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jul 02, 2018 Jul 02, 2018

Copy link to clipboard

Copied

I ran Process Monitor on Windows and verified that when you create a preset in a new group, the only files being modified are the preset's .xmp, the LR catalog, and the Index_*.dat file.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 02, 2018 Jul 02, 2018

Copy link to clipboard

Copied

LATEST

I'm guessing that the key to all this is stored somewhere inside the LR and ACR codebase. Would be a shame if there was no other way to work out the piece of the puzzle that turns the preset group name into a UUID. I experimented with trying to create a group with an identical name to another earlier and ACR wouldn't let me, so that's more evidence that the UUID is probably a fairly simple representation of the name and if two groups had the same name then they'd have the same UUID.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines