Новости HRTech, интересные идеи о Digital HR в нашем канале в Telegram: https://t.me/WebsoftHR

Online рейтинги обучающихся в курсах

На elearningpro.ru был задан вопрос: «Как создать рейтинг учащихся проходящих курс внутри самого курса?»
И Алексей Корольков и я уже неоднократно намекали на такую возможность в этом блоге!

Например (в хронологическом порядке):


Еще раз расписывать, зачем это надо не буду. Перечислю только что можно таким образом сделать:
  • Вывести рейтинг (выполнения отдельного упражнения или теста по разделу/курсу как в текущем модуле, так и в любом модуле/курсе);
  • Организовать «сбор идей» и обсуждение этих идей;
  • Организовать голосование.
Недавно прочел статью Елены Тихомировой «Чего не хватает в электронном курсе?». Так вот с помощью описанной ниже технологии к слайдам можно добавлять (и в последствии смотреть или печатать) комментарии, ставить лайки и выводить рейтинги слайдов с лайками. (есть рабочий прототип. Хотя в нем реализована более сложная задача – лайкаются варианты, написанные самими учащимися)

Итак, универсальный алгоритм в общем виде выглядит следующим образом:
  1. создаем таблицу в базе данных для хранения результатов.
  2. создаем 2 html-страницы (одна –для записи данных в таблицу, вторая – для выборки данных и манипуляции с ними).
  3. встраиваем эти страницы в курс.

Далее описание для связки WT 3 (c базой SQL) – CL2.7. Изначально конструкция делалась в WT2.7.

1. Создаем таблицу.
В разделе Дизайнер создаем новый Тип документов. Мы создали одну универсальную таблицу для всех курсов.
Примечание: чтобы в приведенном ниже примере вносить минимум изменений, делайте строго по инструкции. Не понравится – потом переделаете!
Имя объекта - course
Поля:
  • Поле: course. Название: course code. Тип поля: Строка. (сюда записываем код курса. Таблица используется для всех возможных курсов)
  • Поле: task. Название: task name. Тип поля: Строка. (идентификатор источника записи – любой текст идентифицирующий активность в курсе)
  • Поле: user. Название: user. Тип поля: Ссылка на объект. Объект: Сотрудник (идентификатор пользователя)
  • Поле: var_name. Название: var name. Тип поля: Строка (имя переменной, но уже сюда можно записывать некоторые результаты)
  • Поле: var_val. Название: var value. Тип поля: Строка (сама переменная)
  • Поле: date. Название: date. Тип поля: Дата (тоже переменная, но в формате даты)

В поля var_name и var_val можно записывать массивы переменных или текст неопределенной длинны.
Шести полей с указанными типами нам пока хватало!
Внимание! Чтоб система «увидела» таблицу потребуется перезагрузка сервера и перестройка каталогов (насколько я помню).



Результат выглядит вот так:

Главное что все данные доступны для редактирования администратором (цензура!).

2. Создаем html-страницу для сохранения результата (при условии что источник – упражнение/игра/тест уже созданы. Данные из них передаются в переменные).

В этой странице (к приведенному в конце статьи примеру) из курса передаются идентификатор сессии пользователя (sid – по которому определяется id пользователя) и переменная из курса (rez, который записывается в поле var_val).
Как передать значения см ниже.
Все остальное константы, которые вписываются непосредственно в стр и функция определения текущей даты.

3. Встраиваем страницу на слайд/кадр с помощью объекта Встроенное окно. Подробно механизм описан здесь.
Для сохранения данных Встроенное окно можно разместить за границами слайда.
Особенность: на кнопку, которая сохраняет результат, вешаем Действие JAVASCRIPT.


В последней строке Действие JAVASCRIPT: g_arSlideVars['url'] = window.location.protocol+'//sdo.voz.ru/webtutor/vb19/1/user/rez1.html?sid=' + g_sAiccSid+'&rez='+g_arSlideVars['rez_var'];
где:
sid=' + g_sAiccSid - идентификатор сессии пользователя
rez='+g_arSlideVars['rez_var'] – значение переменной на слайде rez_var.

Внимание! При первом импорте курса в WT на сервере создается папка с именем = код курса (в данном примере vb19. У нас эта папка создается здесь //sdo.voz.ru/webtutor! Как у вас – смотрите на сервере и меняйте в примере!!!

4. Создаем html-страницу для вывода данных.


Данные берутся из созданной таблицы и, в данном примере, выводятся в виде таблицы, а можно просто текстом, списком или графиком (о построении графиков я писал здесь).

5. Для вывода данных так же используем Встроенное окно. Наполняется окно точно как описано здесь на Действие JAVASCRIPT может выглядеть проще – g_arSlideVars['url'] = window.location.protocol+'//sdo.voz.ru/webtutor/vb19/1/user/rez2.html';



Вот и все!
Проект для примера здесь.

Предупреждения!
  1. Без достаточного опыта работы с КурсЛабом, WT и написания кода экспериментировать с данным примером не советую! (навряд ли что-то сломаете, но возможно разочарование).
  2. В примерах страниц для сохранения и вывода данных использован простейший код. Манипуляции с данными и их оформление – ваша ответственность.
  3. Страницы в примере настроены на кодировку utf-8 для WT 3.0.
  4. Аналогично можно настроить работу с системами отличными от WS (проверено), но создание таблицы и страниц будет подчиняться правилам уже тех систем.
Спасибо за внимание!
Вопросы и предложения в комментарии.
Хотите познакомиться с современными инструментами автоматизации HR-процессов? Узнать как автоматизировать подбор, адаптацию, обучение и оценку ваших сотрудников с помощью современной HCM системы?


Популярные сообщения из этого блога

Стандарты электронного обучения

Какие инструменты необходимы для организации дистанционного обучения

Вы перестали пить коньяк по утрам, отвечайте ― да или нет?

Заглянем под капот: какая методология лежит в основе карьерных треков, про что важно подумать до автоматизации?

Постановка задач на доработку Websoft HCM. Основные принципы обеспечения стабильности работы кастомизаций