File Lens Metadata Panel customization

Started by Mario, October 25, 2017, 06:47:49 PM

Previous topic - Next topic

Mario

Knowing my users I have designed the metadata input form section in the File Lens to be user-configurable.

This is done by providing a custom configuration in form of a JSON file.
Having to change a text file to add/remove fields from the form is a bit more involved that having some sort of full-fledged layout editor like we have in IMatch. But it does not blow up IMatch WebViewer and thus keeps it trim and fast.

Please have a look at this (click to zoom):



This definition in the configuration file produces this input form in the File Lens (click to zoom):



The definition represents one 'group' and each group produces one separate tab (in the example above, we have 3 tabs: Standard, Rights and Location).

It's up to you if you pack all the tags you want to see/edit into one group or if you split them into several groups.
Several groups works better on smaller screens with less screen height.

There are many features you can use, from setting custom row heights to configuring localized names for the groups and/or tags.
The concept is also easily extensible for future releases and for incorporating user requests.

Forms support a list data type. This is a list of predefined values for a tag. Such a field is represented by a list with fixed choices. Very handy if you want to limit user input to one out of n, for example. List fields can be linked, to keep two lists in sync.

I did use this for the country and country code fields in this form. If you change the country, the country code is changed as well. And vice-versa.

-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Jingo

Wonderful - you now we LOVE flexible configuration!!!  I'm would love to create an app in IM that lets the user select the display fields (drag/drop perhaps) and generates the appropriate JSON file...  ;D  FUN!!

Mario

Quote from: Jingo on October 25, 2017, 07:06:33 PM
Wonderful - you now we LOVE flexible configuration!!!  I'm would love to create an app in IM that lets the user select the display fields (drag/drop perhaps) and generates the appropriate JSON file...  ;D  FUN!!
Great. You can start as soon as IMA Beta gets out and if you get a seat in the Beta boat.
Dragging the fields or writing the JSON is the easy part.
Giving users a choice from the ~ 13,000 fields supported and all the fiddling with "which options are available for which field / type and how allow the user to configure that" is the harder part  8)

I will try to come up with a default layout that works for most users.
The ability to configure this is mostly for corporate admins which need to take their users by the hand and only allow them to do certain things.

We could even allow users to put JavaScript functions into the configuration file to validate user input before comitting the changes. Now, how would that be?
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

DigPeter

OK for techies, but beyond me.   :(  Sorry to be negative.

Mario

Quote from: DigPeter on October 25, 2017, 07:56:06 PM
OK for techies, but beyond me.   :(  Sorry to be negative.
Then you are not the target audience.
Just use the default forms provided and you're good.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Jingo

Quote from: Mario on October 25, 2017, 07:22:37 PM
Quote from: Jingo on October 25, 2017, 07:06:33 PM
Wonderful - you now we LOVE flexible configuration!!!  I'm would love to create an app in IM that lets the user select the display fields (drag/drop perhaps) and generates the appropriate JSON file...  ;D  FUN!!
Great. You can start as soon as IMA Beta gets out and if you get a seat in the Beta boat.
Dragging the fields or writing the JSON is the easy part.
Giving users a choice from the ~ 13,000 fields supported and all the fiddling with "which options are available for which field / type and how allow the user to configure that" is the harder part  8)

I will try to come up with a default layout that works for most users.
The ability to configure this is mostly for corporate admins which need to take their users by the hand and only allow them to do certain things.

We could even allow users to put JavaScript functions into the configuration file to validate user input before comitting the changes. Now, how would that be?

If I get in.. I would love to give it a whirl... have some ideas about coming up with a method to store all those fields...