Нестандартная обработка результатов тестирования

Нестандартная обработка результатов тестирования

от Станислав Сивинский -
Количество ответов: 11

Здравствуйте, уважаемые форумчане. Нужна подсказка касательно вопроса обработки психологических тестов. Например, тестируемому задаются вопросы:

"1.  Представьте, что Вы на выставке, что больше привлекает в экспонатах? 

а) цвет, совершенство форм; б) их внутреннее устройство (как и из чего они сделаны).

2.  Какие черты характера в человеке Вам больше всего нравятся? 
а) дружелюбие, чуткость, отсутствие корысти; б) мужество, смелость, выносливость."

В зависимости от ответов А или Б идет особая обработка теста. Есть 5 столбцов и к каждому из них относится номер вопроса и его ответ. Например Первый столбец: 1а, 5б, 7а, 11б, Второй столбец: 2б, 3а, 4а, 5а и т.д. Таким образом у нас организуется 5 массивов с ответами в качестве элементов. И если в итоговых ответах пользователя больше ответов из одного столбца ему дается один отзыв, из другого другой отзыв.

Есть ли готовые модули для обработки таких типов тестовых заданий?


Версия Moodle 3.2+

В ответ на Станислав Сивинский

Re: Нестандартная обработка результатов тестирования

от Alexandre Scherbyna -

В стандартном тесте баллы накапливаются в одной копилке. Поэтому посмотрите Multitrack test. Там копилок несколько.

В ответ на Alexandre Scherbyna

Re: Нестандартная обработка результатов тестирования

от Станислав Сивинский -

Здравствуйте, Александр. Посмотрел модуль. Идея хорошая, но не совсем для моей задачи. Там категории к ответам постоянны. И я не могу выбрать например:

Первый вопрос:

Ответ 1 (Категория Синяя);

Ответ 2 (Категория Зеленая);


Второй вопрос:

Ответ 1 (Категория Зеленая);

Ответ 2 (Категория Оранжевая).


Т.е. там если я создал пять категорий. То и пять ответов на каждую категорию у каждого вопроса я должен сделать. А у меня только два ответа на каждый вопрос, относящихся к одной из пяти категорий.

В ответ на Станислав Сивинский

Re: Нестандартная обработка результатов тестирования

от Alexandre Scherbyna -

Тогда может можно использовать обычный тест и решение, которое я описал здесь?

В ответ на Alexandre Scherbyna

Re: Нестандартная обработка результатов тестирования

от Станислав Сивинский -

Очень хорошая. Задумка. Я обязательно попробую. Но, как заметил Вадим Доровенко. В одной из перекрестных ссылок, по этому направлению, в идеале нужно создавать свой модуль для данной задачи. В принципе в моих возможностях создать scorm-пакет для данного типа тестирования. НО! Тут следующий вопрос. Можно создать отдельную таблицу для данных типов тестов, например mdl_psy_test. Там заполнить список вопросов. При загрузке scorm-пакета нужно передать ему массив вопросов с ответами. Далее банальное тестирование. И в конце записать в таблицу (mdl_psy_result) со структурой id, id_user, result, data_test. Результат тестирования. НО! Возник вопрос как организовать передачу данных из БД в Scorm и также записать результаты тестирования в БД. Сейчас думаю, что мб сделать это посредством создания двух php-страниц на отправку данных и на принятие. Но что-то мне подсказывает, что это против философии Moodle. Знаю, что можно обратится к системным переменным через windows.API или windows.API_1484_11. Насколько я понял это в зависимости от версии Scorm-пакета и получить через GetValue данные. Но, там по умолчанию только системные переменные. Мб можно как-то туда передать сначала массив или json-строку с тестом, а затем передать результат на сервер и сохранить в указанную таблицу? А вывести результат тестирование при просмотре я так понял можно только через создание дополнительного модуля scorm-report для обработки данного типа scorm-пакетов.

В ответ на Станислав Сивинский

Re: Нестандартная обработка результатов тестирования

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода
Что-то вы какую-то ерунду написали, особенно про Windows API, которое тут совсем ни при чем.
Если у Вы используете SCORM в Moodle, то на входе в SCORM у Вас ничего не будет, а на выходе будет ровно одна оценка. И ломать архитектуру взаимодействия скорма и мудла ради вашей задачи нет смысла, поскольку там всё очень сложно.
Если у Вас есть другая платформа, где вы можете проигрывать скорм, то можно настроить обмен данными посредством LTI. Не уверен, но возможно вы там тоже упрётесь в ситуацию с передачей обратно только одной оценки. Но зато в внешней системе вы сможете посмотреть полную раскладку.
В общем мудл - система плохо подходящая для психологический тестов, поэтому как ни крутитесь, всегда будут какие-то костыли
В ответ на Vadim Dvorovenko

Re: Нестандартная обработка результатов тестирования

от Станислав Сивинский -

Спасибо, Vadim. Согласен где-то могу и ошибаться. По привычке "s" написал и не заметил))  window.API или window.API_1484_11 - это доступ к SCO через JS. Также можно проверить в консоли браузера. В Adobe по-моему именно API и именуется.

Помыкавшись в разные стороны, придумал решение за счет, написания PHP-страницы с подключением config.php в начале файла. И мне доступен становится $USER->id. А также все основные API Moodle по работе с базой данных и многими другими вещами. Вывод информации делаю через связку. html-страница добавленная в список элементов курса и внутри iframe со ссылкой на php-страницу тестирования. Так как основная страница Moodle уже активировала сессию. Значит автоматически сессия доступна и в моей созданной PHP-странице. А дальше свободная дорога для решения задачи. Создаем нужные таблицы внутри БД обращаемся. И проводим тестирование.

В ответ на Станислав Сивинский

Re: Нестандартная обработка результатов тестирования

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

В любом случае, Вы создаёте какие-то костыли. Модель оценок мудля предполагает, что из каждого модуля на выходе одна оценка, либо одна основная оценка плюс несколько дополнительных оценок по заданным в курсе показателям. В вашем случае, модуль вообще не должен выдавать оценок, а результаты тестирования в общий журнал оценок не должны попадать.

У Вас 2 пути - или интеграция с внешним инструментом, (например через LTI), или написание собственного модуля. В интернете про подобную вашей задаче спрашивают, народ отвечает, что нужно смотреть в сторону Tin Can. Посмотрите и Вы туда.

Основной источник информации - это код мудла и его плагинов из открытых репозиториев. Берете чужой плагин с бюлизким функционалом и постепенно переписываете под свои задачи. Также стоит читать https://docs.moodle.org/dev , но там общие моменты, мало конкретики. Конкретику приходится выискивать непосредственно в коде системы, поэтому следует подробно излазить всю систему, чтобы знать, где взять что-то похожее на то, что Вам нравится. MVC в moodle вообще почти не используется. JS тоже весьма специфический в moodle, через YUI.

То, что описываете вы, это наполовину свой модуль, наполовину внешняя система. Прежде чем делать такое гибридное решение подумайте, может быть всё-таки всё сделать внешним продуктом и во внешнем продукте и смотреть и обрабатывать результаты потом, а moodle вообще не мучать? Кстати, мудл умеет отдавать данные конкретного пользователя в качестве параметров в модуле гиперссылка, так что вам можно будет просто сделать такие гиперссылки на внешнюю систему.


В ответ на Vadim Dvorovenko

Re: Нестандартная обработка результатов тестирования

от Станислав Сивинский -

Спасибо, Vadim! Будем изучать код и development в разделе Moodle. От него отказаться мне не получится) Жизнь толкает в эту среду) И мне нужно учится играть по ее правилам) Пока сделал гибрид. Но как только разберусь более подробно с правилами игры в Moodle. Создам полноценный модуль. 

В ответ на Vadim Dvorovenko

Re: Нестандартная обработка результатов тестирования

от Станислав Сивинский -

Vadim, а можете подсказать кроме help-а Moodle еще источники для изучения вопроса разработки плагинов под Moodle. Уж очень мудрена система, как-то непривычно.  Особенно после Codeigniter и MVC-паттернов. 

P.S. выше написал, решение. Но это с точки зрения философии Moodle костыли. Я это понимаю. А хочется делать правильно. И решать задачи красиво) Тем более я PHP понимаю. JS, HTML, CSS тоже в моей части.

В ответ на Alexandre Scherbyna

Re: Нестандартная обработка результатов тестирования

от Станислав Сивинский -

Как можно создать собственные переменные для передачи в Scrom и отправки данных для сохранения из scorm-пакета в БД?

В ответ на Alexandre Scherbyna

Re: Нестандартная обработка результатов тестирования

от Григорий Москалёв -

Александр, Вы вопросы заносили по одному, или использовали импорт?

какова структура файла для импорта вопросов для такого типа вопросов?