Дисклеймер
Это статья про «около ИТ» профессию, в которой используются «около нормальные» подходы и решения. Вы не найдёте здесь best practice, только кривые костыли. Пожалуйста, не берите ответы (когда они появятся) в продакшн: подумайте о своих пользователях!
Проблема
С одной стороны, мы в e-learning про развитие сотрудников, и нужно понимать всякие гуманитарные штуки. С другой, есть львиная доля задач по созданию контента, с продюсированием и прочим волшебством. И наконец, мы сидим около ИТ: там, где «почти фронтенд», «малая автоматизация», костыли и велосипеды.
Бывают случаи, когда нужен очень своеобразный спец: чтобы мог собрать необычный курс без редактора, отдебажить то, что наделали всякие learning experience дизайнеры, договориться с вендорами по доработкам в LMS. Да такой, чтобы знал, как на низком уровне работают специфичные для нашего цеха инструменты, чтобы отличал Java от JavaScript, SCORM от SCRUM, xAPI от RESTfull API. Впрочем, будет достаточно, если он хотя бы был готов всему сам учиться.
И вот, припекло мне найти такого человека…
Что именно будем проверять
«Наш идеальный кандидат» не выживет без знания SCORM последней редакции. Это стандарт организации электронного контента. Его цель – производство курсов, которые работают одинаково в разных LMS (упростил как мог). Там три тома: один про упаковку и описание контента, второй про среду выполнения, третий про навигацию.
Где это нужно? Вот примеры типичных задачек (от простого к сложному):
Опубликовать PDF-документ в SCORM-compliant LMS, не используя дополнительное ПО.
Собрать курс в Tilda и опубликовать в LMS. Курс должен хранить прогресс пользователя в LMS.
Сделать сделать квиз со сложной системой подсчёта результатов на стороне клиента.
Сделать видео-плеер, который отправляет в LMS прогресс отдельно по каждому видео-файлу.
SCORM предполагает знание XML (для описания структуры контента) и JavaScript (для отправки данных из курсов в LMS). Причем опыт промышленной разработки на JS здесь не требуется, но умение работать с DOM, XHR и HTMLMediaElement очень нужны.
Поскольку в продакшене используется iSpring Suite (редактор для курсов), а его авторы и разработчики разных LMS по-разному интерпретируют SCORM, «будущий коллега» должен понимать, как эта штука работает на низком уровне, поскольку порой приходится делать твики на уровне кода уже после экспорта курса из редактора. К слову, так со всеми средствами разработки курсов.
Как проверяем
Вы уже догадались, что дальше будет несколько тестовых заданий разной сложности. Сразу отвечу на критику вроде: «Зачем всё это! Так не бывает. Спросите лучше что-нибудь общеупотребимое». Увы: так бывает, и все задачи не высосаны из пальца, но взяты из реальной жизни, и я ищу необычного специалиста. Конечно, собрать сет из всех кейсов сложно, но, если коллега решит 1/2 – это уже хороший результат.
Собственно задачи
Если это интересно, ответы можете оставлять в комментариях. Хейт тоже. Свои решения покажу через две недели. А пока пойду рыскать по работным сайтам.
Задача 1
Что проверяем: знание SCORM RTE, JavaScript.
Сложность: ★☆☆
LMS с поддержкой SCORM 2004 4th edition. Вы делаете электронный курс, в который нужно вывести ФИО пользователя. Вызовете метод API_1484_11 для получения ФИО пользователя из LMS.
Задача 2
Что проверяем: знание JavaScript.
Сложность: ★☆☆
Как из элемента iframe вызвать функцию в окне-родителе (в современном браузере)? Объясните, метод или напишите скрипт.
Задача 3
Что проверяем: знание SCORM CAM.
Сложность: ★☆☆
LMS с поддержкой SCORM 2004 4th edition. Вам нужно разместить там PDF-документ так, чтобы он открывался для просмотра в десктопных браузерах, а LMS получала информацию, что документ просмотрен при открытии. Как будут выглядеть секции organizations и resources в манифесте?
Задача 4
Что проверяем: знание HTMLMediaElement, видео-производство.
Сложность: ★☆☆
У вас есть видеокурс с одним 10-минутным видео на 4Гб. Пользователи жалуются, что видео бесконечно долго загружается. Вы уже проверили Network в DevTools: код ответа 206. Что можно сделать с видео, чтобы нормально работало?
Задача 5
Что проверяем: знание SCORM RTE, iSpring Suite.
Сложность: ★★☆
Вы создали курс в iSpring Suite. В нём один единственный слайд с тесом. Курс оценивается и считается завершенным при успешном прохождении теста. Укажите, какие значения принимают переменные SCORM RTE на каждом из этапов работы пользователя с курсом. Опишите возможные проблемы.
Этап | Переменная | Значение |
Пользователь первый раз открыл курс | cmi.progress_measure |
|
cmi.completion_status |
| |
cmi.success_status |
| |
Пользователь прошел тест | cmi.progress_measure |
|
cmi.completion_status |
| |
cmi.success_status |
|
Задача 6
Что проверяем: знание SCORM CAM, JavaScript.
Сложность: ★★☆
Как оценить, какой объём занимает курс, упакованный по стандарту SCORM 2004 4th edition и загруженный в LMS, не имея доступа к серверной части (используя только веб-браузер).
Задача 7
Что проверяем: знание SCORM SN, JavaScript.
Сложность: ★★☆
Посмотрите на фрагмент манифеста из курса в SCORM 2004 4th edition.
<organization identifier="default">
<title>Выучи Go за 15 минут</title>
<item isvisible="true" identifier="item00" identifierref="part00">
<title>Введение</title>
</item>
<item isvisible="true" identifier="item01" identifierref="part01">
<title>Заключение</title>
</item>
</organization>
Напишите функцию, которая «перенесёт» пользователя из раздела «Введение» в раздел «Заключение». Алгоритм поиска API_1484_11 писать не нужно.
Задача 8
Что проверяем: знание SCORM RTE, JavaScript, iSpring Suite.
Сложность: ★★★
LMS с поддержкой SCORM 2004 4th edition. Вы разработали тест в iSpring Suite. Есть проблема: кириллица в ответах пользователей не сохраняется в LMS. Например, «Ответ» сохраняется как «0______». Заказчик говорит, что видеть ответы – «критичное для бизнеса требование». Что можно сделать в этой ситуации? Предложите алгоритм или напишите скрипт.
Задача 9
Что проверяем: знание SCORM RTE, JavaScript, iSpring Suite.
Сложность: ★★★
Вам прислали курс в iSpring Suite. В нём 100500 слайдов и закрытая навигация. Вам нужно проверить на тестовом стенде, как работает слайд №100499 в разных браузерах. Изолированно от курса слайд тестировать нельзя, т.к. он содержит ссылки на другие слайды курса. Добавлять элементы навигации нельзя. Менять режим навигации нельзя. Через 5 минут нужно дать ответ разработчику: можно ли публиковать курс на продуктив. Как быстро перейти к нужному слайду, не внося изменения в курс?