Описание функциональных характеристик программного
обеспечения и информация, необходимая для установки и
эксплуатации программного обеспечения
Аннотация
PALMS — система дистанционного обучения, которая включает в себя
организацию всего процесса удаленного обучения.
СДО позволяет загружать обучающий контент, назначать этот контент на
слушателей, показывать контент слушателям на различных устройствах и собирать
статистику по обучению.
PALMS реализована как простая и гибкая система, которую можно
дорабатывать под цели конкретных пользователей без каких-либо ограничений, путем
подключения модулей с новыми возможностями.
СДО функционирует в облаке и может работать как отдельный сервис, который
устанавливается на серверы заказчика.
PALMS интегрирована с Open LRS — Learning Record Store, куда передается
статистика о каждом действии обучающегося в курсе. На основе этих данных можно
сформировать крупную аналитическую базу обучения.
Сервис позволяет организовать дистанционное обучение быстро и просто и
имеет возможность неограниченного роста и развития системы в случае, если она
перестанет удовлетворять нужды пользователя.

  • Словарь терминов
  • О PALMS
  • Бизнес-задачи
  • Описание PALMS
  • Как работает PALMS
  • Пользователи PALMS
  • ПОЛЬЗОВАТЕЛЬСКИЙ ФУНКЦИОНАЛ PALMS
  • Главная страница
  • Плеер контента
  • Настройки системы
  • Управление пользователями
  • Управление назначениями
  • Инструкция по установке ПО PALMS
  • Инструкция по устранению неисправностей в работе приложения «PALMS»
  • Список должностей сотрудников, отвечающих за устранения неисправностей в
  • работе сервиса
Словарь терминов
О PALMS
PALMS — система дистанционного обучения, которая включает в себя организацию всего процесса удаленного обучения.

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

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

СДО функционирует в облаке и может работать как отдельный сервис, который устанавливается на серверы заказчика.

PALMS интегрирована с Open LRS — Learning Record Store, куда передается статистика о каждом действии обучающегося в курсе. На основе этих данных можно сформировать крупную аналитическую базу обучения.

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

Бизнес-задачи

Система дистанционного обучения решает следующие бизнес-задачи:

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

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

  3. Собирает статистику во время обучения.

  4. Дорабатывается под нужды и запросы пользователей.


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

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

Система состоит из нескольких модулей:

  • Главная страница со списком учебных материалов
  • Плеер контента
  • Хранилище учебных материалов

  • База пользователей

  • Хранилище статистики по обучению

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

Как работает PALMS

Система основана на базовом функционале:

  • Базе пользователей

  • Базе контента

  • Плеере учебных материалов

  • Системе сбора статистики

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

    Визуальный интерфейс может остаться прежним или меняться по требованию пользователя.

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

    Пользователи PALMS

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

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


ПОЛЬЗОВАТЕЛЬСКИЙ ФУНКЦИОНАЛ PALMS
Система PALMS состоит из простого и интуитивно понятного интерфейса, не требующего дополнительного обучения.

PALMS включает в себя следующие страницы:

  • Главная страница с учебным контентом

  • Хранилище учебных материалов

  • Хранилище пользователей

  • Хранилище назначенных на пользователей материалов

    Главная страница

    Начальная страница PALMS выводит полный перечень учебных материалов, назначенных на пользователя. Страница доступна как слушателю, так и администратору.

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

    На странице есть поиск для удобного перемещения между материалами.

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

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

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

Плеер контента
Любые материалы проигрываются в едином плеере, потому что благодаря ему собирается необходимая статистика по обучению. Плеер воспроизводит курсы в том виде, в котором они были созданы, его задача — только отобразить их и собрать статистику.
Настройки системы
Блок настроек доступен только администратору. Попасть в него можно через профиль пользователя.
Управление контентом
Это хранилище всех загруженных в систему материалов. Не все из них обязательно опубликованы для пользователей.

Чтобы добавить новый материал, необходимо кликнуть на кнопку «Загрузить контент», заполнить форму, загрузить файл и сохранить. После этого материал добавляется в хранилище и его можно будет назначать на слушателей.

Здесь же можно редактировать или удалять материалы. Чтобы это сделать, нужно кликнуть на один элемент из списка и после кликнуть на кнопку «Редактировать».


Управление пользователями
Это база пользователей, зарегистрированных в системе.

Чтобы добавить нового пользователя, необходимо кликнуть на кнопку «Добавить пользователя», заполнить форму, выбрать роль и сохранить. После чего пользователь добавится в список и сможет авторизоваться в системе.

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


Управление назначениями
Это список контента, который опубликован и размещен на главной странице системы.

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

Чтобы назначить материал, необходимо кликнуть на кнопку «Создать назначение», далее выбрать курс их хранилища, проставить даты старта и финиша (по желанию), выбрать способ назначения и сохранить. После этого курс будет опубликован и доступен к изучению.

Есть несколько способов назначения материала:
● Напрямую на пользователя или группу пользователей, зарегистрированных в системе

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

● По уникальной ссылке
Это значит, что назначение производится не на конкретного пользователя, а на
любого, у кого есть эта уникальная ссылка. 1 ссылка = 1 пользователь. Пользователь,
который получит такую уникальную ссылку, сможет сразу же попасть в назначенный ему курс без какой-либо процедуры регистрации в СДО.

Здесь же можно редактировать или удалять назначения. Чтобы это сделать, нужно кликнуть на один элемент из списка и после кликнуть на кнопку «Редактировать».


ИНСТРУКЦИЯ ПО УСТАНОВКЕ ПО PALMS
Все программное обеспечение (далее ПО) мы предоставляем в качестве Docker-образов и конфигурационных файлов для них, чтобы обеспечить полный цикл CI/CD (Continue Integration & Continue Delivery).

Системные требования

Необходимое предустановленное ПО:

• OS: Ubuntu 20.04 (Focal)
• Docker >= v19.03.13
• GitLab Runner >= v13.4.1

После успешной установки необходимого ПО выше, необходимо предоставить пользователю системы sudo привилегии, либо выдать доступ к root-пользователю системы, используя ssh public key, либо необходимо добавить пользователя в группу docker.

Запуск приложения

Ниже будет представлен пример запуска приложения на тестовом окружении.

1. Необходимо провести сборку образов для Docker.

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

Сборка образа для API-приложения:

#> cd ~/backend
#> docker build -t "palms-api:latest" .

&& export APP_IMAGE_BACK=palms-api:latest
#> docker build -f docker/builds/rr/Dockerfile -t "palms-api-rr:latest" .

&& export APP_IMAGE_PROXY=palms-api-rr:latest
#> docker build -f docker/builds/static/Dockerfile -t "palms-api-static:latest" .

&& export APP_IMAGE_RR=palms-api-static:latest Сборка образа для WEB-интерфейса приложения:

#> cd ~/frontend
#> docker build -t "palms-front:latest" .

&& export APP_IMAGE_FRONT=palms-front:latest

2. Далее, перед запуском приложения, необходимо в хост-систему, экспоритровать некоторые переменные окружения. Список переменных:

HOST_POSTFIX

LRS_ENDPOINT LRS_LOGIN LRS_PASSWORD LRS_VERSION


# Домен. Пример: lms.example.ru

# LRS endpoint. Пример: https://yourlrs.ru/data/xAPI # LRS логин

# LRS пароль # Версия ЛРС


3. Для корректной работы приложения, необходимо запустить балансир, который используется для балансировки трафика внутри docker-контейнеров и роутинга запросов.
Готовое решение, можно использовать на основе [данного репозитория] (https://github.com/cardinalit/docker-ingress-traefik). Инструкция по запуску имеется внутри репозитория.

4. Как все действия выше были проведены, можно запускать приложение:

#> cd ~/configs
#> docker stack deploy --with-registry-auth

-c stack-external.yml -c production/stack-external.override.yml
-c stack-back.yml -c stack-back-migrate.yml -c production/stack-back.override.yml -c stack-front.yml -c production/stack-front.override.yml palms

После запуска, приложение должно быть доступно по адресу, который Вы указали в переменной HOST_POSTFIX

В браузере следует ввести строку: http://${HOST_POSTFIX}

GitLab Runner используется в том случае, если Вы хотите автоматизировать систему доставки программного кода и обновления системы по средствам написания инструкций на основе .gitlab-ci.yml


Инструкция по устранению неисправностей в работе приложения «PALMS»
Для поддержания жизненного цикла приложения, необходимо следовать всем техническим требованиям, что указаны в документе «Технические требования» и рекомендациям по настройке приложения, что указано в документе «Инструкция для установки».

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

При возникновении ситуаций, когда восстановить работоспособность приложения штатными средствами, не представляется возможным, необходимо:

  • обратиться к документации приложения и проверить корректность настроек того или иного сервиса, что используется приложением;

  • в случае, если вся настройка оборудования проведена верно, конфигурация соответствует всем нормам и требованиям, что указаны в документах «Технические требования» и «Инструкция для установки», следует проверить работоспособность всех сервисов, и проверить соответствие версий сторонних приложений, что используется в работе приложения.


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

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


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

  • оператор службы технической поддержки (менеджер);
  • программист PHP;
  • системный администратор с опытом работы от 1 года.