Основной при работе с devtools (с помощью которого можно отследить весь функционал собираемой статистики с moevm) - не поднимается moodle и mariadb - порты оставлены открытыми, чтобы можно было отправлять данные статистики с moevm
-
Сборка проекта
Для UNIX подобных систем:
- Находясь в корневой папке проекта запустить скрипт с помощью команды
bash ./init-deploy.sh
. В случае запуска в первый раз, скрипт собирает и поднимает контейнеры, а в случае повторного запуска также останавливает и удаляет всеконтейнеры, а также тома, связанные с ними
Другие системы:
- Если программа запускается не первый раз и между запусками вносились изменения в исходный код, то необходимо удалить образы и volumes. Важно, что у mongodb два volumes - один с соответствующим названием, другой с идентификатором. Для того, чтобы узнать, какие volumes необходимо удалить использовать следующую команду:
docker inspect mongodb
. Далее с помощью поиска можно найти соответствующие volumes. - Для запуска версии проекта необходимо собрать проект с помощью команды
docker-compose build
- Далее необходимо поднять контейнеры с помощью команды
docker compose -f .\docker-compose.prod.yaml up
- Находясь в корневой папке проекта запустить скрипт с помощью команды
-
Убедиться, что все контейнеры подняты и по адресу
http://localhost:8081
открывается веб приложение -
Войти под правами администратора в веб приложение: login -
ivan@mail.ru
, password -bhewrtfm3klmt3
-
Убедиться, что на главное странице просмотра статистики отображены 3 записи - будет означать, что корректно собрана статистика
-
Открыть в браузере https://e.moevm.info/ (для стабильной работы отключить блокировщик рекламы)
-
Перейти в панель исследования элемента (инструкции для разных браузеров), открыть панель console
-
Открыть файл moodle_stat_tracker_without_script.html
-
Скопировать из него содержимое
-
При первом запуске или если еще никогда не выполнялось далее в панели "Исследование элемента" в браузере разрешить копирование кода с помощью команды
allow paste
-
После чего скопировать туда скрипт и подтвердить выполненине, нажав кнопку "Enter"
-
Если выполненные на странице действия инициировали переход на другую страницу повторить действия 7-9, 11
-
Вернуться на страницу веб-приложения, обновить страницу статистики и убедиться, что все действия, выполненные Вам добалены в список
Требует проверки от администратора moevm Основной при работе с панелью администратора на moevm (с помощью которого можно отследить весь функционал собираемой статистики с moevm) - не поднимается moodle и mariadb - порты оставлены открытыми, чтобы можно было отправлять данные статистики с moevm
-
Повторить действия 1 - 5 из Варианта 1
-
Открыть файл moodle_stat_tracker.html
-
Далее в соответствие с инструкцией "Подключение" ниже необходимо вставить скрипт для отслеживания действий пользователей, не забыть подтвердить вставку
-
Выполнить действия
-
Перейти в веб приложение для отслеживания собранных действий
Отладочный
- Для запуска версии проекта необходимо собрать проект с помощью команды
docker-compose build
, после чего поднять его с помощью командыdocker-compose up
- Далее необходимо запустить moodle по адресу
http://localhost
- В moodle необходимо авторизоваться с использованием
user = "user", password = "bitnami"
- Далее в соответствие с инструкцией "Подключение" ниже необходимо вставить скрипт из ветки
#137-local-moodle-tracker
для отслеживания действий пользователей, не забыть подтвердить вставку - Далее необходимо запустить web-приложение с по адресу
http://localhost:8081
- Войти под данными: login -
ivan@mail.ru
, password -bhewrtfm3klmt3
- В главном окне веб приложения отобразится собранная статистика
Для проверки работы с бд можно воспользоваться API через swagger по адресу: http://localhost:8080/docs
Для того, чтобы подключить отслеживание действий на странице, необходимо:
- Войти в moodle в учетную запись администратора
- Перейти во вкладку администрирования сайта ("Site administration")
- Выбрать раздел "Внешний вид"("Appearance")
- Выбрать пункт "Дополнительный HTML"("Additional HTML")
- Вставить в окно
When BODY is opened
код из файлаmoodle_stat_tracker.html
- В самом низу страницы нажать кнопку сохранения изменений
С этого момента сборщик активности работает и отслеживает действия всех пользователей на странице.
!!Важно для сбора статистики с пользователей, работающих за другими компьютерами необходимо поменять localhost на реальный адрес поднятого сервера
function initTracker(){
var interactions = new Interactor({
trackAll: false,
numberActionsToSend: 5,
trackPagePresence: true,
interactions: true,
interactionElement: ["A", "BUTTON", "TEXTAREA", "INPUT"],
interactionEvents: ["mousedown", "copy", "paste"],
conversions: true,
conversionElement: "conversion",
conversionEvents: ["scroll", "contextmenu"],
endpoint: 'http://localhost:8080/api/statistics',
async: true,
debug: true
});
}
Настройка происходит с помощью изменения значений в полях куска кода трекера, который расположен выше.
-
trackAll
$-$ при установке значенияtrue
будет отслеживать любое взаимодействие со страницей. -
numberActionsToSend
$-$ Определяет число действий пользователя которые нужно отправлять за итерацию. По умолчанию отсылается по 5 действий пользователя, но можно изменить это значение. -
trackPagePresence
$-$ при установке значенияtrue
будет отслеживать переход с отслеживаемой вкладки на другую. -
interactionElement
$-$ определяет элементы которые необходимо отслеживать. Для установки нужно внутри квадратных скобок написать название элемента большими буквами в кавычках. (НапримерinteractionElement: ["DIV"]
, будет отслеживать любое взамодействие с элементамиdiv
). По умолчанию отслеживаются взаимодействия с элементамиA
,BUTTON
,TEXTAREA
,INPUT
. -
interactionEvents
$-$ определяет действия которые нужно отслеживать (нажатие мыши, отпускание мыши, клик мыши и т.д.). По умолчанию будет использоваться нажатие мыши, копирование в буфер обмена и вставка из буфера обмена. Значения внутри квадратных скобок должны быть написаны строчными буквами в кавычках, как это показано выше. -
endpoint
$-$ определяет куда будут отправлены результаты. По умолчанию там будет находится сервер приложения, но при необходимости можно изменить. Нужно лишь прописать путь куда должны отправляться данные. -
debug
$-$ необходимо лишь для дальнейшей разработки. По умолчанию будетfalse
.
Проверка работоспособности сервера и базы данных осуществляется с помощью следующей функции:
healthCheck(3)
Инициализация трекера происходит только при успешной проверке. Количество повторных попыток подключения указывается в вызове функции healthCheck() (по умолчанию 3). При исчерпании попыток подключения мудл работает в штатном режиме, как будто скрипт не подключался.
В ветке main
находится скрипт, работающий на e.moevm.info (для работы через devtools необходимо использовать файл moodle_stat_tracker_without_script.html)
В ветке #137-local-moodle-tracker
находится версия скрипта для работы с локальной чистой версией moodle.
В настоящее время Interactor поддерживает современные браузеры: Chrome, Firefox и Safari. Приветствуется дополнительное тестирование и ввод данных.
Подробное описание по запуску тестирований описано на wiki-страничке