So, if I understand correctly, you need to display 3 long versions and 6 short versions of the questions in random order.
I'm not sure you can get there with Expression Manager.
I would handle it using JavaScript and a hidden multiple-short-text question to control the display of the short/long versions.
1) Create 9 groups, each containing a long and short version of the same question (I suspect you have already done this). Display these in random order.
2) In a preceding group, add a multiple-short-text question (let's call it "
control") with 9 sub-questions displayed in random order.
3) Add the following script to the "
control" question. This will hide that question and populate its inputs. The first three inputs get a value of 1, the last six get a value of 2. (remember, the inputs are randomized, effectively giving them random values)
Code:
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
// Identify this question
var thisQuestion = $('#question{QID}');
// Hide the question
thisQuestion.hide();
// Load the values
if($('input.text:first', thisQuestion).val() == '') {
$('input.text', thisQuestion).each(function(i) {
if(i < 3) {
$(this).val(1);
}
else {
$(this).val(2);
}
});
}
});
</script>
4) Then you can use relevance based on the "
control" question to show either the long or short question in each group. For example, something like this to for the long question in the first random group.
And like this to for the short question in the first random group.
Here's a working copy of the "
control" question with that script in the source. (I have commented out the
hide() function so you can see the values)