Перезвоните мне

Кастомизация редактора Elementor для внутренней elearning-системы Сбера

Усовершенствовали систему электронного обучения на основе WordPress и Elementor для крупнейшего банка в России

Отрасль

Образование

Регион

Россия

Год

2024

Услуги
Бэкенд
Фронтенд
Технологии
Elementor
JavaScript
WordPress
Сложность
СБЕР обложка
Время разработки

15 месяцев

Команда

1 PM, 2 Devs

Статус проекта

Проект реализован и продолжает развиваться

О клиенте

СБЕР (Сбербанк) — крупнейший банк России и Восточной Европы. По данным на 2024 — самый востребованный банк среди розничных клиентов, его услугами пользуются более 80% жителей РФ. 

СБЕР также известен сильной IT-инфраструктурой, банк активно разрабатывает и выводит на рынок мобильные и веб-приложения для управления финансами, платформы для онлайн-платежей, а также системы на основе искусственного интеллекта и больших данных.

Ситуация, в которой обратился

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

Итак, у Сбера есть внутренние курсы, которые должен проходить каждый сотрудник. Они лежат во внутреннем контуре компании, и пользователи проходят их без подключения к интернету. Нужно было доработать решение на Elementor от WordPress, чтобы добавить функцию статического экспорта курсов для работы в офлайн среде. 

Подрядчик до нас придумал оболочку для этого решения, а нам нужно было разработать некий клей между уже готовыми функциями, которые есть где-то в плагинах WordPress, функциях Elementorа. В дальнейшем запрос расширился до доработки определенных функций Elementor.

Задача

Глобально задача заключалась в создании и интеграции дополнительных функций в уже существующую платформу, основанную на Elementor и WordPress. Работа строилась итерационно, требования дополнялись и уточнялись в процессе. В итоге на данный момент мы решили следующие задачи:

  • Обеспечение доступа к курсам в офлайн-сети Сбера.
  • Внедрение инструментов для создания интерактивных элементов, таких как квизы и банки вопросов, с возможностью отслеживания прогресса обучения. 
  • Динамическое управление контентом в зависимости от действий пользователя.
  • Сбор данных о прохождении курсов и отчетности.
  • Добавление в медиа-плеер новых функций.

Изображение проекта

Баннер СБЕР

Решение

  • Разработали статический сборщик, который преобразует динамические страницы курса в статические HTML-файлы для использования в офлайн-среде.
  • Разработали кастомные виджеты для Elementor и систему триггеров, которые упрощают создание квизов и управление контентом, позволяют создавать интерактивные элементы, управлять логикой курса и адаптировать прогресс пользователя.
  • Внедрили кастомный медиаплеер, основанный на файлах player.js, для удобного добавления и управления аудио- и видеоконтентом в курсах, с поддержкой субтитров и дополнительных функций.
  • Интегрировали систему с xAPI/SCORM, чтобы отслеживать прогресс пользователей и передавать данные об их активности в систему обучения Сбера. Это позволяет мониторить эффективность курсов.
      Даниил Дубченко
      Даниил Дубченко
      Менеджер проекта

      Изначально заказчик обратился к нам за созданием отдельных плагинов, улучшающих работу с WordPress и Elementor. Когда мы успешно справились с первоначальной задачей, клиент рассказал нам общую идею — создание конкурентоспособной elearning-системы на основе платформы WordPress и редактора Elementor. 

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

      РЕАЛИЗОВАННЫЙ ФУНКЦИОНАЛ

      Сборка страниц курса в статику

      Страница собирается с помощью админки и разворачивается в контуре Сбера

      Сборка страниц курса в статику

      Основная задача этой функции — обеспечить доступ к курсу в среде Сбера, где отсутствует подключение к внешнему интернету.

      Функционал работает следующим образом: 

      1) Динамически генерируемые страницы курса, созданные с помощью Elementor и WordPress, преобразуются в статические HTML, CSS, JS файлы и изображения. 

      2) Эти файлы упаковываются в ZIP-архив. 

      3) Архив может размещается на внутреннем сервере Сбера или загружается в систему Moodle для дальнейшего использования. 

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

      Разработка кастомных виджетов квизы

      Усовершенствовали сборку квизов в Elementor Pro

      Разработка кастомных виджетов: квизы

      Виджет позволяет создавать интерактивные тесты внутри курсов. Разработчики не писали квизы с нуля, а адаптировали стандартный функционал Elementor Pro, исправив ошибки в логике JavaScript. 

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

      Квизы поддерживают различные типы вопросов (множественный выбор, одиночный выбор, сопоставление) и позволяют настраивать обработку ответов (вторая попытка, пропуск вопроса и пр.).

      Разработка кастомных виджетов банки вопросов

      Доработали функционал вопросов

      Разработка кастомных виджетов: банки вопросов

      Эти виджеты служат контейнерами для множества вопросов. 

      Функционал добавления вопросов взят из стандартного Elementor, а доработки включают: случайный порядок вопросов, ограничение по максимальному и минимальному количеству вопросов, и автоматическую прокрутку до следующего вопроса. 

      Информация о прохождении вопросов (попытки, правильные/неправильные ответы) хранится внутри самого виджета и передаётся в оболочку для отправки в elearning-систему Сбера.

      Разработка кастомных виджетов фреймсеты

      Фреймсеты позволяют отображать вопросы

      Разработка кастомных виджетов: фреймсеты

      Горизонтальный и вертикальный фреймсет — это упрощённые версии банков вопросов, предназначенные исключительно для отображения контента. Они работают как слайдеры, позволяя переключаться между различными блоками информации с помощью триггеров. 

      Система триггеров

      Триггеры запускают сценарии при прохождении курсов

      Система триггеров

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

      Триггеры запускаются при различных событиях (начало страницы, изменение переменной, клик по виджету и т.д.). Они могут выполнять различные действия: открытие/закрытие модальных окон, изменение переменных, установка прогресса прохождения курса, вывод сообщений, переход на другие страницы курса, работа с медиафайлами (видеоплеер), изменение стилей элементов и т.д. 

      Система триггеров позволяет создавать сложные сценарии, включая условные проверки и математические операции над переменными курса.

      Система состояний

      Система состояний помогает двигаться по сценарию курса

      Система состояний

      Позволяет задавать различные состояния элементам (выбран, посещен, корректно/некорректно, отключен). Эти состояния используются главным образом для стилизации элементов (например, изменение цвета рамки в зависимости от правильности ответа) и управления действиями пользователя (например, блокировка кнопки «Далее», пока не будет просмотрено видео).

      ВИДЕОПЛЕЕР

      Видеоплеер СБЕР

      Весь функционал в одном плеере

      Плагин для видео

      Вместо использования нескольких сторонних плагинов (Player.js, для субтитров, для конвертации видео), функциональность была объединена в один плагин, упрощая использование и поддержку.

      Интеграция плеера с системой триггеров

      Шкала прогресса меняется по мере просмотра материалов

      Интеграция плеера с системой триггеров

      Позволяет динамически управлять воспроизведением видео в зависимости от действий пользователя и состояния курса. Например, по окончании просмотра видео прогресс курса может автоматически увеличиться на определенное значение.

      Внедрение «суперсабов»

      Можно перейти в нужный момент видеокурса

      Внедрение «суперсабов»

      Реализовали так называемые «суперсабы», где текст субтитров размещен не под видео, а в отдельном блоке сбоку.

      По клику можно перейти к определенному моменту в видео.

      Конвертация и пережатие видео

      Видео проигрываются в хорошем качестве даже без подключения к интернету

      Конвертация и пережатие видео

      Настроили конвертацию в оптимальные форматы и кодеки, чтобы снизить размер файлов и улучшить производительность в офлайн-режиме. Это было важно из-за ограничений внутренней сети Сбера.

      Этапы работы

      1

      Создание MVP-версий плагинов

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

      1) плагин для создания квизов, созданный с помощью библиотеки survey.js; 

      2) плагин для создания кастомной логики, разработанный с помощью blockly.js; 

      3) плагин с виджетами для управления показом контента на странице. 

      Данные плагины хорошо себя показали, но их заменили на внутренние разработки. Квизы начали работать с помощью кастомных Elementor виджетов, управление логикой курса полностью перешло из blockly в триггеры, а виджеты для управления контентом сильно видоизменились.

      2

      Разработка основной версии плагинов

      В этой версии плагинов было добавлено множество настроек для управления контентом: триггеры, условия отображения, состояния. Также весь js был переписан на библиотеку Alpine.js для добавления в курсы реактивного подхода работы с данными. 

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

      3

      Расширение функционала плагинов

      Спустя полгода работы плагины уже успешно выполняли свою функцию и с их помощью было создано несколько курсов. 

      После получения обратной связи мы взялись за доработки плагинов для добавления новых функций, доработки уже существующих, общей оптимизации работы плагинов и адаптации курсов под всевозможные браузеры. Также в работу была запущена разработка еще одного плагина для работы с видео на основе библиотеки player.js.

      Результаты

      1. Предоставили клиенту возможность создавать интерактивные курсы с помощью привычного инструмента

        Система позволяет создавать курсы с различными интерактивными элементами (квизы, банки вопросов, видео с субтитрами и таймкодами), используя удобный визуальный редактор (Elementor).

      2. Решили проблему работы в офлайн-режиме

        Благодаря статическому сборщику, курсы могут быть использованы в локальной сети Сбера без подключения к интернету.

      3. Даже в офлайн-режиме есть возможность отслеживать прогресс в обучении

        Система позволяет отслеживать прогресс обучения пользователей и собирать статистику о прохождении курсов. Данные передаются во внешнюю elearning систему Сбера (XAPI/SCORM).

      4. Разработали удобный и гибкий редактор

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

      5. Оптимизировали видео

        Видео в курсах оптимизированы для меньшего размера файлов и лучшей производительности в офлайн-режиме.

      Отзыв

      Отзыв
      Сбер логотип

      Олег

      Руководитель направления, блок «Люди и культура», СБЕР

      «Все вышло достаточно быстро и бюджетно, с учетом сложности задач»

      Заказывали у студии техническую разработку обучающих электронных курсов на WordPress с использованием ряда нестандартных решений — чтобы это были не просто сайты, а статические html-пакеты, которые можно разместить во внутренней сети. В том числе там использовались реактивные функции для передачи данных между страницами с использованием AlpineJS.

      Вообще много студий делает сайты на WordPress, но совсем немногие знают эту платформу на глубоком уровне, чтобы создавать новые плагины и дорабатывать популярные.

      С OnePix все получилось успешно, курсы были созданы и отлично работают в контуре Банка, а мы имеем возможность редактировать их через удобную админку. Все вышло достаточно быстро и бюджетно, с учетом сложности задач.

      Понравился кейс?

      Обсудить мой проект

      Ознакомьтесь с другими нашими проектами

      Сайт крупнейшей в Петербурге компании водного туризма

      Превью кейса Нева Тревел

      Приложение для сбора данных о качестве мобильной связи в зданиях

      Превью кейса Network Analitics

      Сайт магазина спортивной женской одежды

      Bona Fide превью

      Каталог индийских фильмов Somindram

      Превью кейса Somindram

      Многофункциональный плагин для ресторанов и кафе

      Lieferchev Plugin превью

      Этот сайт использует cookies.

      Этот сайт использует файлы cookie для хранения информации на вашем устройстве.