Why are the higher-level fields not written?

Post Reply
Bongo
Posts: 87
Joined: 22 Mar 10 18:11
Location: Ingolstadt, Germany
Contact:

Why are the higher-level fields not written?

Post by Bongo »

I've built a new structure for Darwin Core. Each label is mapping to a field. For example dwc: Taxon.dwc: kingdom. When I save the metadata, the entire hierarchy is written in the keywords. But the Dawin Core fields are not written.

I've tried a lot. When I start the “Remove all existing XMP” script and then save the metadata again, it works. But the script doesn't always work. It works once out of 20 attempts.

So there are 2 problems.
1. Why are the higher-level fields not written?
2. Why doesn't the script “Remove all existing XMP” always work?

hc_431.png
hc_431.png (17.75 KiB) Viewed 5918 times
hc_432.png
hc_432.png (84.56 KiB) Viewed 5918 times
Regards, Bongo
Photo Supreme V2024 Single User Edition, Windows 11.
fbungarz
Posts: 1828
Joined: 08 Dec 06 4:03
Location: Arizona, USA

Re: Why are the higher-level fields not written?

Post by fbungarz »

Hi Bongo,
the screenshots do not show how you have mapped your labels.

Here is how my labels are mapped:
Mapping_to-DWC.jpg
Mapping_to-DWC.jpg (232.04 KiB) Viewed 5897 times
By enabling "process parent mapping" the next label further up in the hierarchy gets also processed (but not ALL of the parents, only the next one up).
If you want to make sure ALL parents are processed, they ALL need to be mapped to the correct fields and for all of them "process parent mapping" needs to be checked:
Mapping_to-DWC_02.jpg
Mapping_to-DWC_02.jpg (204.22 KiB) Viewed 5897 times
This seems quite cumbersome, but the good thing is that you can actually configure the label details for several labels all in one go, here:
Mapping_to-DWC_03.jpg
Mapping_to-DWC_03.jpg (223.69 KiB) Viewed 5897 times
That of course works only for labels that are at the same rank in your taxonomic hierarchy (so all the species map to dwc:scientificName, all the genera to dwc:genus, all the families to dwc:family, etc.)

Hope that helps.

Cheers,
Frank
Bongo
Posts: 87
Joined: 22 Mar 10 18:11
Location: Ingolstadt, Germany
Contact:

Re: Why are the higher-level fields not written?

Post by Bongo »

Hi Frank,

I assigned the labels as you described. I did not select "Process parent mapping" because I selected it in the Preferences. But I also tried the way you described it.
With new photos, it works as desired. That means the settings are correct. But it doesn't work with the old photos.
Regards, Bongo
Photo Supreme V2024 Single User Edition, Windows 11.
Bongo
Posts: 87
Joined: 22 Mar 10 18:11
Location: Ingolstadt, Germany
Contact:

Re: Why are the higher-level fields not written?

Post by Bongo »

Hi Frank,

I removed the label from the photo, saved it, added it back and saved it again. Nothing changes.
Unfortunately, I can't use Darwin Core like this.
Regards, Bongo
Photo Supreme V2024 Single User Edition, Windows 11.
Bongo
Posts: 87
Joined: 22 Mar 10 18:11
Location: Ingolstadt, Germany
Contact:

Re: Why are the higher-level fields not written?

Post by Bongo »

Somehow it seems to be a problem with Darwin Core after all. Without a hierarchy, I have specified the fields in the mapping. Only the Darwin Core fields are not written.
hc_440.png
hc_440.png (69.67 KiB) Viewed 5799 times
hc_441.png
hc_441.png (10.04 KiB) Viewed 5799 times
I don't know why "Familie" is written. I tried something before.

Only Taxon Family can be found in the XMP.
hc_442.png
hc_442.png (24.86 KiB) Viewed 5799 times
Regards, Bongo
Photo Supreme V2024 Single User Edition, Windows 11.
fbungarz
Posts: 1828
Joined: 08 Dec 06 4:03
Location: Arizona, USA

Re: Why are the higher-level fields not written?

Post by fbungarz »

Hi Bongo,
hhmmm...
I am not quite sure what is going on. It looks like I am using things quite differently. My mapping schema is typically 1:1, you are trying to write one label simultaneously into several XMP fields - correct?
In your example it seems your label is configured to write Test Item with its parent Test into "decription", "title", and several DarwinCore fields. Correct?
My mappings are one label written into one DarwinCore field, e.g., the name of a lichen "Buellia spuria (Schaer.) Anzi" into the XMP-dwc field "scientificName". Then I do have also checked the box "process parent mapping" and have the next field higher up, the parent "Buellia" mapped to "genus", that one again has its parent processing enabled, so that "Caliciaceae" is written into "family". It generally works on my system.
What does usually not work so well, is if I want to remove a label. Clearing the label does not necessarily remove the XMP entry. I have to delete those manually. An alternative is "clearing" one label metadata entry by assigning another one. But in that case the "Unassign labels with same parent" needs to be configured as "Yes".

Perhaps what you are trying to do - writing one and the same label into several fields simultaneously creates a conflict? In my case, if I want one lable to fill in several fields I configure the label with "apply detail profile".
I assigned the labels as you described. I did not select "Process parent mapping" because I selected it in the Preferences.
I am not aware that there is a option in Preferences that generally processes all parent mappings. Where is that supposed to be? I cannot find that option on my system. The "process parent mapping" is not the same as the option to "include all parent level labels as keywords". That option simply writes all higher level labels as separate keywords, it does not "assign" the parent level labels.

I hope you can figure it out. It works pretty well on my system. But when Hert first agreed to implement DarwinCore XMP support it was pretty buggy and we went back and forth until it all finally worked. It would be a pain if it still doesn't work correctly on your system. If you can reproduce the steps, which fields are written (or not) perhaps best file a bug report in Mantis?
I am really interested to know that this will actually work, because some collaborators are planning to eventually also use this...

Keep me posted.

Cheers,
Frank
Bongo
Posts: 87
Joined: 22 Mar 10 18:11
Location: Ingolstadt, Germany
Contact:

Re: Why are the higher-level fields not written?

Post by Bongo »

Through a tip from Frank, I made a label in the Detail Profile where the contents of the fields of Darwin Core is deleted.
hc_455.png
hc_455.png (90.1 KiB) Viewed 5672 times
Then label added, saved, label removed, saved.

From this time everything is written as it should. Also in the hierarchy.
Strangely, the photos had a problem with whom I played and tested and all over the family of Amarillisgewächs. Now new and old photos work. And if it does not work, I do that with the label "Delete Fields".
But it would be interesting why that happened. But I can not reproduce it anymore.
Regards, Bongo
Photo Supreme V2024 Single User Edition, Windows 11.
Shutter Bug
Posts: 16
Joined: 19 Apr 20 23:12

Re: Why are the higher-level fields not written?

Post by Shutter Bug »

Hi,
I realize this is an little bit of an older thread but I'm trying to understand how "process parent mapping" works and I have a question about something fbungarz said:
By enabling "process parent mapping" the next label further up in the hierarchy gets also processed (but not ALL of the parents, only the next one up).
If you want to make sure ALL parents are processed, they ALL need to be mapped to the correct fields and for all of them "process parent mapping" needs to be checked:

Mapping_to-DWC_02.jpg
I don't seem to be able to get it to work that way. I created a category hierarchy called "Test Category" with a hierarchy of Great Grandparent, Grandparent, Parent, and Child underneath it. It is in no way connected to the "people" tag, because I know that has some built in special behaviors as do places, objects, and events. It's just a generic test category.

It is my understanding, but I could be wrong, that "Process Parent Mapping" only applies the fields in "Mapped to" (vs keywords aka "dc:subject) so I created some custom fields named Top Level, Mid level, Bottom level and Leaf and displayed the corresponding categories above. When I configure all of those categories with "Process Parent mapping" off, the only field that shows populated when I look at it on the info panel is the "Child" (leaf) category. However, when I turn "Process Parent mapping" to be "on" just on the child (leaf) node (after deselecting child as a label so I could reapply it after I made this change"), and reapply the label, it applies all of the levels so the Top level field through the Child (Leaf) Node are all populated on the info screen.

I find that the same is true for "Also assign its parents". If I mark that as "yes" on the leaf node, it applies that all the way up the hierarchy, not just its immediate parents. (Just a side note- that only works as long as the whole hierarchy has create keywords turned on. So "also assign its parents" seems to override the assignment of the keywords at a level, but not the creation of them. I hope I didn't muddy the waters there -- that could be a side thread unto itself.)

Is that the behavior others are seeing as well?

If it is intended to write all the way up through the hierarchy whenever you make either of those "yes" then I would suggest that the name be changed to "Also assign its hierarchy (or lineage or the whole tree or whatever) and the same with Process "parent" mapping to reflect that it's not just the parents, but the parents of all the parents up to the top level.

If I'm incorrect, which is entirely possible as I'm still trying to figure all this out, please let me know what I might have configured or done incorrectly to give the results I'm seeing.

I'm working on moving from another tool to PSU with probably 300,000+ photos so I'm trying to make sure I really understand the implications of all of these settings before I import as there would be a high price to pay in time if I have to restructure things or change configuration or settings after the import. ;) So I'm doing a lot of case by case testing to try to understand what setting does what. I have a Electrical engineering degree so of course there is a spreadsheet involved for a matrix of test cases). ;)

Thanks in advance for any insight anyone can give.
******************
Shutter Bug
G8DHE
Posts: 762
Joined: 21 Aug 17 12:58

Re: Why are the higher-level fields not written?

Post by G8DHE »

I've not noticed that the Keywords has to be turned on, but I tend to use the script "Switch ON Assign Parent Labels for All Catalog Labels.psc" every now and then to make sure they are all turned ON etc.
Geoff Mather (G8DHE)
Shutter Bug
Posts: 16
Joined: 19 Apr 20 23:12

Re: Why are the higher-level fields not written?

Post by Shutter Bug »

G8DHE wrote: 17 Feb 22 22:17 I've not noticed that the Keywords has to be turned on, but I tend to use the script "Switch ON Assign Parent Labels for All Catalog Labels.psc" every now and then to make sure they are all turned ON etc.
Thanks for the reply. I didn't know that script existed so that's good to know. I really need to go browsing through the repository to find what other treasures exist there.

I'm really more curious about the opposite though ... when you have assign parents and/or parent mapping "turned on" only at the leaf level, does yours assign all the way up the hierarchy or does it truly stop at the leaf's actual parents (vs. grandparents or great grandparents)? Mine goes all the way up the hierarchy just from having the leaf level as yes/on but the rest of the hierarchy as no/off.
******************
Shutter Bug
Hert
Posts: 7911
Joined: 13 Sep 03 6:24

Re: Why are the higher-level fields not written?

Post by Hert »

when you have assign parents and/or parent mapping "turned on" only at the leaf level, does yours assign all the way up the hierarchy
All the way up.
This is a user-to-user forum. If you have suggestions, requests or need support then please send a message
Post Reply