adobe-dmeservices / custom-metadata

The home for a Custom Metadata Panel extension for Creative Cloud
https://exchange.adobe.com/creativecloud.details.103752.html
17 stars 8 forks source link

Map values from dropdowns to fields #41

Open mrfpinto opened 1 month ago

mrfpinto commented 1 month ago

Hello good evening, first of all thank you for having developed a tool like this.

Secondly, I'd like to ask for a development that I think will be of interest to many. For example, I photograph soccer and it would be interesting for me to be able, for example, to have the names, numbers and clubs of the players in a dropdown and then, at the bottom, in the number and text fields, to be able to map this data that I have chosen in the dropdown. I don't know if I'm making myself clear?

mrfpinto commented 1 month ago

Or maybe you can give me another solution that already exists and is just as effective. As long as you don't have to write all this data down by hand. Something similar to what happened with the Photo Mechanic code replacement.

jameslockman commented 1 month ago

If I understand correctly, you want to make a selection in one dropdown and have that propagate a specific value or values into another Field. For example, you choose "team cockatoo" from the dropdown in field one. This then sets the value of field two to "17" and the value of field 3 to "White."

The closest thing we have is Filtering Options, which allows you to filter the values of one dropdown based on the value of another dropdown. Multiple fields can use the same filter source, so you could narrow down the choices to a few or one based on a single menu pick.

You might also use this in conjunction with Selection Groups.

mrfpinto commented 4 weeks ago

Thanks for the quick reply! For example, like foto mechanic, but for tags. I have an Array with the Team Name, Name, Number and if it's a player or technical team and when I search for the value in the tags, all this information is added in a single tag. This is because I've also read the documentation and it's not possible to use filters on tags... And if it's possible for multicomboboxes to be searched by value instead of just by label

jameslockman commented 4 weeks ago

For search, you are asking for a Bridge feature, not a Custom Metadata Panel feature. We are not the Bridge product team, so we cannot speak for their plans.

Bridge can search on all asset XMP metadata, so if you are using properties that are not available in the normal filters, or if you are using a custom metadata namespace, then Bridge will search when you select "all metadata" in a search query. image

Bridge can only search the values, so if your value is different from the label, you will not be able to search for the label.

We are considering multiple options for pre-filling property values based on other values. In your case, you want to specify in the dropdown options JSON what should happen for each choice in your dropdown, as a way to simplify search later. We are also considering simple calculations, so that a field might have a value that is defined by the value(s) of other properties. We are concerned about malicious applications of script execution, so we need to be very cautious.

mrfpinto commented 4 weeks ago

right, I don't think you understand what I mean, for example in my case I would use it for soccer as such, if I may, let's do the following example.

I add Multidropdown to the field and put the following in the json to be loaded:

[ { “label” : “4 Coates - Sporting Clube Portugal”, “value” : “scp4” } ]

When I search in the field, I have to search by “label”, because if I search by “value”, no value is returned, and in my case, in order to speed up the process, it would be much better to do it by “value” than by “label”. Is it noticeable now? I apologize if I misled you.

jameslockman commented 4 weeks ago

I am not following. We write VALUE to the property in XMP, not LABEL. So, if you have a multi-dropdown, the asset will have your property with the VALUEs that you have chosen by selecting the LABEL in the dropdown. The Label is a convenience to help humans understand what the values mean.

It would be very helpful if you could upload your View JSON and an asset on which you have applied some metadata using this View.

mrfpinto commented 3 weeks ago

[ { "id": "pslrbZHnFq", "displayName": "Identificação Fotografia", "type": "Divider", "disabled": false, "dependencies": [] }, { "id": "1", "displayName": "Autor", "prefix": "dc", "namespace": "http://purl.org/dc/elements/1.1/", "propertyName": "creator", "type": "MultiText", "readOnly": false, "dependencies": [], "arrayType": "seq", "disabled": false }, { "id": "2", "displayName": "Data", "prefix": "xmp", "namespace": "http://ns.adobe.com/xap/1.0/", "propertyName": "photoshop:DateCreated", "type": "Date", "options": "", "dependencies": [], "readOnly": false, "multiLine": false, "disabled": false }, { "id": "EZZguFulDJ", "displayName": "Informações TD", "type": "Divider", "disabled": false, "dependencies": [] }, { "id": "2q7Lus5Y27", "displayName": "Circuito", "prefix": "trackday", "namespace": "http://mariuss.trackday.com", "propertyName": "circuito", "type": "Dropdown", "dependencies": [], "readOnly": false, "disabled": false, "options": [ { "label": "Circuito Estoril", "value": "circuitoEstoril" } ] }, { "id": "y7WZ51Y4lp", "displayName": "Entidade Organizadora", "prefix": "trackday", "namespace": "http://mariuss.trackday.com", "propertyName": "organizacao", "type": "Dropdown", "dependencies": [], "readOnly": false, "options": [ { "label": "Estoril Experience Day", "value": "EstorilExperienceDay", "parent": "circuitoEstoril" }, { "label": "Driving Days", "value": "DrivingDays", "parent": "circuitoEstoril" } ], "disabled": false, "filterOptionsSource": "2q7Lus5Y27" }, { "id": "8kMwxvky4R", "displayName": "Nível Carro", "prefix": "trackday", "namespace": "http://mariuss.trackday.com", "propertyName": "car_level", "type": "Dropdown", "dependencies": [ "y7WZ51Y4lp" ], "readOnly": false, "disabled": false, "options": [ { "label": "Nível 1", "value": "level_1", "parent": "EstorilExperienceDay" }, { "label": "Nível 2", "value": "level_2", "parent": "EstorilExperienceDay" }, { "label": "Nível 3", "value": "level_3", "parent": "EstorilExperienceDay" }, { "label": "Sessão Manhã", "value": "sessaoManha", "parent": "DrivingDays" }, { "label": "Sessão Tarde", "value": "sessaoTarde", "parent": "DrivingDays" }, { "label": "Fotografias Paddock", "value": "fotografiasPaddock", "parent": [ "DrivingDays", "EstorilExperienceDay" ] } ], "filterOptionsSource": "y7WZ51Y4lp" }, { "id": "wTp1lqe4Kl", "displayName": "Sessão", "prefix": "trackday", "namespace": "http://mariuss.trackday.com", "propertyName": "sessao", "type": "Dropdown", "dependencies": [ "8kMwxvky4R" ], "readOnly": false, "filterOptionsSource": "8kMwxvky4R", "disabled": false, "options": [ { "label": "Sessão 1", "value": "sessao1", "parent": [ "level_1", "level_2", "level_3" ] }, { "label": "Sessão 2", "value": "sessao2", "parent": [ "level_1", "level_2", "level_3" ] }, { "label": "Sessão 3", "value": "sessao3", "parent": [ "level_1", "level_2", "level_3" ] } ] }, { "id": "7C8oaC98N4", "displayName": "Informação Carro / Piloto", "type": "Subsection", "disabled": false, "dependencies": [] }, { "id": "beK4opmxgg", "displayName": "Marca / Modelo Carro", "prefix": "trackday", "namespace": "http://mariuss.trackday.com", "propertyName": "marca_modelo", "type": "Tags", "dependencies": [], "readOnly": false, "arrayType": "bag", "allowCreate": true, "disabled": false }, { "id": "BCg03U38ZJ", "displayName": "Nome Piloto", "prefix": "trackday", "namespace": "http://mariuss.trackday.com", "propertyName": "nome_piloto", "type": "Text", "dependencies": [], "readOnly": false, "multiLine": false, "altLang": [ "pt" ], "altLangDefault": "pt", "altLangEnabled": true, "disabled": false } ]

mrfpinto commented 3 weeks ago

Now I have another question, and I apologize for the time you've wasted on me. When I create a customized field, how do I find this metadata in lightroom, for example?

jameslockman commented 3 weeks ago

Thanks, and there is no time wasted with your questions.

Lightroom is not supported via Custom Metadata Panel. This is because Lightroom has no extensibility model, and Lightroom Classic uses a different extensibility framework than other Creative Cloud applications. If you want to use Lightroom to view any metadata that has been applied via Custom Metadata, you would need to not use any custom namespaces, and instead use namespaces and properties that Lightroom can display.

Thank you for sending your View JSON. Can you also send an asset that you've tagged using this form?

mrfpinto commented 3 weeks ago

https://we.tl/t-qflsgmqEmC

mrfpinto commented 3 weeks ago

Since it's not possible to see custom inputs in some Adobe applications, is it possible, for example, to create a Multidropdown and map it to the “Original Description”, in which case the description will show what I chose in the dropdown?

mrfpinto commented 3 weeks ago

I only ask all these questions because they are points that are important to many people. I feel that it's much more useful than, for example, a well-known paid application that I've already mentioned, but it does lack something as their main feature... such as “Code Replacement”.

jameslockman commented 3 weeks ago

Thanks for your input. We'll consider safe ways to allow for more flexible menu/data manipulation options as we work on Version 3. We will have one last release of Version 2 out soon, that adds some more field types (such as synced fields, hidden fields, and copy and paste between Views in the configurator.

mrfpinto commented 3 weeks ago

Out of curiosity, what do you call synchronized fields? So, given my problem of not being able to see and search for custom fields, what solution can you give me using your extension?

jameslockman commented 3 weeks ago

Synchronized fields will ensure that any data entered in one field is synchronized to another field. It only allows syncing between the same field types (text with text, multidropdown with multidropdown, etc) and the new type, hidden. Hidden fields will record data and write/read it to XMP, but the user will not see it in the form.

syncedfields

mrfpinto commented 3 weeks ago

Okok, very good. I just wish I could do this so that the items chosen in the drops could appear in the “description”.