Hi!
I would like to model the following behavior: In my LetterDM/FM, I have many different options to choose from (yes/no choice). Further, there is a writer-letter relationship (n:1). When adding a specific writer to another form model (in the UI), I want to display details for the subset of options which have been chosen in the writer’s letter.
I could think of using a multi-select for the choice of these options. However, dependent enumerations on Multi-Select are apparently not supported, https://docs.geta12.com
Does that mean it is better to implement the various options as many (!) confirmation fields/booleans separately? Which would also mean that I could not easily manage the options as a type definition?
We came up with different solutions:
- We model the options as separate confirmation fields. Then, we could introduce a helper field for computing which subset of options (chosen for the letter) would trigger the display of which options to be displayed when adding the writer. However, if each and every option can be combined we have a high complexity leading to a lot of cases to be modelled.
- We model the options as separate confirmation fields in the letter and int he final model where we want to add the writer. Then, we can have a confirmation-confirmation-dependency for each option - and just not display options which had not been chosen.
- We could keep it as enumerations and multi-select and just add a validation rule. However, this would result in bad usability: The user can enter everything and upon saving an error message is thrown…
It turned out, that we can cluster our options into packages. There were 3 main options to be chosen, while the other options should always be available additionally. Thus, we could easily make an enumeration (3 main options) instead of a multi-select. In dependence of this enumeration value, we can display which of the options (this main option + all remaining options) to display.