Один из вариантов — экспортировать опрос, отредактировать файл экспорта и повторно импортировать опрос в Qualtrics. Этот метод плохо документирован в поддержке Qualtrics, но он работает. Это файл справки объясняет, как экспортировать и импортировать опрос Qualtrics в виде файла QSF (т. е. файла форматирования опроса Qualtrics).
Таким образом, основная задача состоит в том, чтобы решить, как отредактировать QSF, чтобы добавить соответствующий java-скрипт 200 раз.
Файл QSF имеет формат JSON. До этого я слышал о формате JSON, но никогда не использовал его. Возможно, это характерно для пользователей Qualtrics.
По умолчанию файл QSF находится в последовательной форме (т. е. в одной строке). Я нашел этот онлайн-редактор полезным для форматирования и анализа иерархической структуры файлов QSF.
Как правило, структура файлов QSF начинается с SurveyEntry
, который содержит общие характеристики съемки. Затем у него есть куча SurveyElements
. Первые шесть элементов в моем примере относятся к общим характеристикам опроса. В частности, первые элементы представляли блоки и задавали порядок вопросов в блоке. После первых шести были вопросы. Каждый вопрос включает в себя ряд переменных типа ID, за которыми следует Payload
. Payload
включает в себя основные пары атрибут-значение, которые контролируют характеристики вопроса.
В частности, javascript для вопроса хранится в переменной QuestionJS
. Я не думаю, что порядок атрибутов в полезной нагрузке имеет значение, но я не совсем уверен.
Итак, задача состоит в том, чтобы просто добавить подобный код внутри атрибута Payload
каждого вопроса.
"QuestionJS":"Qualtrics.SurveyEngine.addOnload(function()\n{\n var that = this;\n this.questionclick = function(event,element){\n if (element.type == 'radio') {\n that.clickNextButton();\n }\n }\n\n\n});",
Предположительно, есть лучшие способы редактирования json-скриптов, которые лучше используют структуру данных, но должна быть возможность выполнить простой поиск и замену. Например, если все ваши вопросы имеют тип множественного выбора, вы можете сделать что-то вроде
Находить:
"QuestionType":"MC",
Заменять
"QuestionType":"MC","QuestionJS":"Qualtrics.SurveyEngine.addOnload(function()\n{\n var that = this;\n this.questionclick = function(event,element){\n if (element.type == 'radio') {\n that.clickNextButton();\n }\n }\n\n\n});",
Эту идею можно распространить на другие случаи, когда вы хотите добавить определенный атрибут к набору вопросов.
person
Jeromy Anglim
schedule
12.06.2017