I have a tricky one. I need to let an IT administrator set the value for each field and assign that combination of values to an entity. (The following image shows a simplified example, where fields are named for meals, there are some choices for each meal, and each combination is named for a day of the week. As you can see, two entities (Tuesday & Thursday) can call for the same combination.)
Different customers 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 combinations, I want to show them which combinations remain unassigned. (The only reason a combination of metadata values would remain unassigned is if that combination could never occur in real life.) If administrators want to assign an entity to an unassigned 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 performed rarely: once to set up, and less than monthly to change.
My initial thought is to automatically populate a table with every possible combination of values. The administrator could name the combinations they care about, and could easily see the combinations that are not assigned a name. For example, this shows a starting point with no entities assigned:
This approach could result in a lot more entries than I've shown here - it's possible to have 500 rows. So to ease the process of assignment, I would add a wizard so administrators could assign multiple combinations at once to an entity. For example, the user could assign "Bland day" to Breakfast=Cereal or Oatmeal, Lunch=bread, and Dinner=any. (That last point is key -- many entity assignments will have multiple values for each field.)
My main problem with this approach is that it's weird and therefore requires explanation. The alternative is to provide two UIs, one that lists each entity and shows the field values assigned (with the capability of changing those values), and one like the above that shows every combination of field values and the entity assigned to each combination. (The advantage of two UIs is that I wouldn't need a wizard. The disadvantage is that the first UI would itself be complicated, so if I go in that direction, I'll be coming back here.)
I'm hoping one of you can suggest a simpler approach that will satisfy 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 of the unassigned combinations of field values