The question label is text that’s dynamically pulled from our database.
The star rating is a reusable element. In the reusable element, we change the custom state of the group whenever a user clicks a star rating.
We set-up each label/star rating as a group. Did not set as repeating group (since we’ve run into other constraints with storing data from repeating groups in the past). So, we have 15 different groups of labels/star ratings. Each group is only shown if there is a label for it in our database, since sometimes there’s only 2 roles to rate and other times up to 15.
Currently, we have workflows that store the user’s star rating anytime a user selects a new value. In theory, this would mean we don’t need to submit anything when they submit the form since everything has been submitted already. But, we’re running into a bug where some of the data doesn’t get stored every time. Submitted it as a bug earlier today so hopefully Emmanuel can help us figure that out, which would minimize the need for rework.
Still need to run a check to see if user’s have answered all of the questions. I like the concept of your suggested solution. Seems simple / elegant.
One question - would it work to just have the custom state for “# of questions answered” increment +1 anytime the stored value for our questions do not equal null? (so it only counts it 1x per question even if a user selects a different answer)? Is that how you’ve done this before, or did you have something different in mind to address that edge case?
Thanks again – all very helpful.