In case "Likert scale" is unfamiliar, it is a scale (such as -3 to 3) that is represented/masked by terms (such as Very Weak, Fairly Weak, Somewhat Weak, Neutral, Somewhat Strong, Fairly Strong, Very Strong).
Generally when creating a control for a Likert scale, you have a masking array that looks something like this: {-3:Very Weak, -2:Fairly Weak, -1:Somewhat Weak, 0:Neutral, 1:Somewhat Strong, 2:Fairly Strong, 3:Very Strong}.
But AIM's combo-box, radio button and slider controls don't seem to allow either negative numbers in choices/ranges for a number attribute or an array to represent/mask numbers.
So it would seem my only option is to create two attributes for every Likert scale:
- A plain text with a combo-box or radio button widget with the Likert terms as choices.
- A number that I don't include on the form.
I then create a WAS CHANGED TO rule that updates the number attribute with whatever the text attribute was changed to.
If that's what I have to do, then that's what I have to do, but can anyone think of a more elegant solution?