"Большой_брат" - проект контроля за клиентами и пользователями других проектов сервера. Контроль осуществляется на основе единой таблицы пользователей по событиям проектов. Отслеживаемые проекты должны быть подключены к базе данных и иметь возможность записи/изменения в таблицу пользователей по событиям "Авторизация пользователя", "Пользователь перешел на страницу", "Пользователь покинул страницу", "Остановка проекта".
Соответствующие скрипты должны быть включены или изменены в отслеживаемых проектах.
По данным из этой таблицы можно получить обобщенную информацию, как-то текущее состояние пользователей и клиентов, учет времени пользователей и т.д.
В примере проект контроля (состояние активных пользователей, статистика по времени пользователей и проектам/проекту) и тестовый проект с авторизацией и без. Для тестирования можно размножить тестовые проекты.
Добавлено 3.02.2024
Окончательная версия проекта, без отслеживания переходов по страницам, что позволяет уменьшить размер таблицы users.
Добавленные события контролируемого проекта:
- "Полностью запущен" - получение имени проекта в переменную ProjectName;
- "Остановка проекта" - перевод в неактивное состояние всех записей клиентов-пользователей этого проекта;
- "Авторизация пользователя" (проект с авторизацией) или "Клиент подключен" (без авторизации) - перевод в неактивное состояние всех записей этого клиента и создание активной записи этого пользователя;
- "Пользователь перешел на эту страницу" - перевод в активное состояние самой поздней записи этого клиента;
- "Пользователь покинул эту страницу" - перевод всех в неактивное состояние всех активных записей этого клиента.
Обоснования:
- в промежутках между сменой пользователя или проекта, клиент однозначно идентифицирует пользователя и проект;
- при смене проекта обязательно меняется клиент;
- перевод записи в неактивное состояние выполняется для всех пользователей, связанных с данным клиентом;
- перевод только одной записи в активное состояние совместно с предыдущим пунктом гарантирует наличие единственного пользователя данного клиента (устраняет возможный сбой: наличие записей о нескольких активных пользователях данного клиента, правда в случае такого сбоя время завершения работы пользователя будет некорректным);
- контроль переходов по страницам исключительно для контроля отключения клиента. По крайней мере в текущей (2.6.10.0) версии Simple-Scada, при отключении клиента возникает событие "Пользователь покинул эту страницу".
В качестве имени неавторизованного пользователя используется имя обычного клиента или идентификатор WEB-клиента.
Во вложении проект контроля и тестовые клиенты для проектов с авторизацией и без.