How to implement multi-select value attributes and fields?
since RTC 2.0 we have been trying to implement multi-selection fields in a proper way. We basically want to do the following:
1. Work items should be marked in some way with the business unit (customer) that this work item is relevant to. It can be relevant to many customers at once.
2. In RTC 3 we tried to used the way of "small string" attribute which would use a multi selection box presentation fed with business unit enumeration values. So far so good. But the queries would display BusinessUnitEnum.literal1 .... or something like that, so this was not working for getting an overview.
3. In RTC 4 I've played with the HTTP filtered value set and a String List attribute, which seems to work nicely. One drawback is that you can click "new..." and add any string what so ever.
Can you in some way disable that "New..." button, add a validator or in some way ensure that this value is ONLY from the value set provided by HTTP XML source?
Any other comment or ideas how to solve this? Any comments appreciated!
In advance, thanks a lot :-).
Accepted answer
4 other answers
Has anybody figured out a way around this?
Comments
Query or report layout of the results is ugly, correct.. because you have a STRING with multiple comma separated values.. not a nice list
you could fix this by creating special report gadgets that know to parse this field properly (IBM should have done that), but its a lot of work for maintenance.
Thanks Sam.
Thinking some more on this...
Our issue was we couldn't use the Work Item Statistics widget or anything that shows a break down of the attribute by selected values. However, if using small or medium strings (as you mentioned in another thread) you could use "contains" to search for your more logically named IDs.
So I think one could workaround this type of widget by creating a series of individual queries which each query for a single ID or value from the multi-select list. Then you could use the Work Item Queries widget to list these and each should list the number of valid results in parentheses next to the name.
Not a great solution but it could be workable. I am suggesting this to be tested by a member of our team to see if it suits their needs.
2. In RTC 3 we tried to used the way of "small string" attribute which would use a multi selection box presentation fed with business unit enumeration values. So far so good. But the queries would display BusinessUnitEnum.literal1 .... or something like that, so this was not working for getting an overview.
create the enum,
then edit the process source and change the generated IDs to match the text names of the enumerations.
then create the string definition to hold the values..
then queries look right..
but.. note that IDs are project wide, not tied to a workitem type.. so be careful with the names
Comments
That actually sounds like a nice way to do it, until the above enhancement is implemented. I will look into it.
One thing I did not mention though, is that this way makes it very hard to add new business units and the above solution would actually help this issue.
Your solution though will fit nicely with what we have now. I will definitely consider it. Thanks a lot for your suggestion :-).