I have a complicated one. I need to allow an IT administrator to set the value for each field and assign that combination of values to an entity. (The following picture shows a simplified example, where the fields are named for meals, there are some options for each meal and each combination is named for a day of the week As you can see, two entities (Tuesdays and Thursdays) can call the same combination.)
Different clients could have a different number of fields, field values and entities.
[The actual use case is more complicated than menus. Our system applies various settings for each user depending on customer-defined metadata such as role, department, business unit, and task. The administrator names each combination of settings, and assigns each combination to a combination of metadata values. Where it gets interesting (and complicated) is that some settings may apply to a metadata value regardless of the other metadata values. For example, there may be a single set of settings for a particular task that apply to all business units, while for other tasks, the settings vary by business unit.]
To help administrators avoid overlooking any combination, I want to show you what combinations are left unassigned. (The only reason why a combination of metadata values would remain unassigned is if that combination could never happen in real life). If administrators want to assign an entity to an unmapped combination (or change an existing assignment), I want to let them do it Right there (and not go to another screen).
This task will be carried out rarely: once it is configured and less than once a month to change.
My initial idea is to automatically fill in a table with every possible combination of values. The administrator could name the combinations that interest them and could easily see the combinations that are not assigned a name. For example, this shows a starting point without assigned entities:
This approach could generate many more entries than I have shown here: it is possible to have 500 rows. So to facilitate the allocation process, I would add a wizard so that administrators can assign multiple combinations at once to an entity. For example, the user could assign "Soft Day" to Breakfast = Cereal or Oats, Lunch = bread and Dinner = any. (The last point is key: many entity assignments will have multiple values for each field).
My main problem with this approach is that it is rare and therefore requires an explanation. The alternative is to provide two UIs, one that lists each entity and shows the assigned field values (with the ability to change those values), and one similar to the previous one that shows each combination of field values and the entity assigned to each combination . (The advantage of two user interfaces is that you would not need an assistant, the disadvantage is that the first user interface would be complicated, so if I go in that direction, I'll come back here).
I hope that some of you can suggest a simpler approach that meets the requirements:
- Allow the user to assign one or more entities to a combination of one or more values for one or more fields
- Allow the user to see all combinations of unassigned field values