5.13. Global Auto Starter

Информация актуальна для версии Global Auto Starter 1.0.

Global Auto Starter - Приложение, позволяющее запускать клиент Global с помощью RFID-меток.

5.13.1. Введение

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

Автоматически запускается только один клиент, непосредственно при прикладывании метки. Если требуется запуск дополнительных клиентов, все дополнительные экземпляры следует запускать используя пунт меню клиента Global “Файл -> Регистрация -> Новое приложение”. Новые приложения авторизуются также как и то из которого запускаются.

Одновременная работа нескольких клиентов с использованием разных RFID-меток не поддерживается.

При удалении RFID-метки, авторизованные ею клиенты Global завершает свою работу. При этом будут утрачены ещё не сохранённые в Global изменения, так как авторизация дискредитируется.

5.13.2. Требования

  • Клиент Global 5.10.0 ms3, либо выше.

  • Совместимый RFID-считыватель. Поддерживается работа со считывателями IronLogic. Гарантирована совместимость с Z-2 (мод. RD_ALL)/Z-2 USB, с остальными моделями работа не тестировалась.

    Note

    При использовании считывателей, с которыми работа не тестировалась и при возникновении проблем при установке соединения со считывателем, рекомендуется ознакомится с актуальной документацией к вашему устройству. Возможно проблема разрешится внесением правок в настройки группы “Com Port”.

  • Настроенная авторизация в базе данных, через одного прокси-пользователя для всех пользователей с RFID-метками. Настройка прокси-пользователей описана в документации к базе данных, например для версии Oracle 10g тут.

    Также в базе должен присутствовать метод, возвращающий имя пользователя по RFID-метке - BTK.BTS_RfidPKG.GetUsernameByKey.

    Запрос которым сервис получает имя пользователя
    begin
      :sUserName := BTK.BTS_RfidPKG.GetUsernameByKey(:sRfidKey);
    end
    

5.13.3. Установка

  1. Скопировать файлы Global Auto Starter в каталог, из которого они будут запускаться.
  2. Указать в настройках путь к исполняемому файлу клиента Global, имя порта считывателя, имя базы данных, имя и зашифрованный пароль прокси-пользователя, схему подключения к базе.
  3. При необходимости, настроить автозапуск.

5.13.4. Настройки

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

Attention

Файл должен быть сохранён в кодировке utf-8.

Группа “General”

GlobalClientBinPath

Путь к исполняемому файлу клиента Global. Версия клиента должна поддерживать работу с Global Auto Starter.

AppDataPath

Путь к служебным каталогам приложения. По умолчанию используется значение - %AppData%\GlobalAutoStarter\.

Warning

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

Группа “Com Port”

Большая часть настроек этой группы предназначена для конфигурирования подключения к считывателю и тут не описывается. Это настройки: BaudRate, ByteSize, Parity, StopBits, CtsFlowControl и DsrFlowControl. Их значения должны быть установлены согласно спецификации используемого считывателя.

PortName

Имя порта к которому подключен считыватель.

CardInsertMsgRegEx

Регулярное выражение, описывающее формат данных, которые передаёт считыватель при установке RFID-метки. В выражении должна присутствовать именованная группа cNumber, содержащая номер RFID-метки.

CardRemoveMsgRegEx

Регулярное выражение, описывающее формат данных, которые передаёт считыватель при удалении RFID-метки.

EndOfLine

Признак конца строки. Один или несколько символов в виде Hex.

Группа “DB”

DBName

Имя базы данных, к которой будет производится подключение.

DBSchema

Схема подключения к базе данных.

ProxyUserName

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

ProxyUserPassword

Пароль прокси-пользователя, в зашифрованном виде. О том как зашифровать пароль указано в разделе Параметры запуска.

Группа “HTTP”

Port

Порт HTTP-сервера для связи Global Auto Starter с запущенными им клиентами Global.

Пример файла настроек
[General]
GlobalClientBinPath=C:\Global\Global.exe
AppDataPath=%AppData%\GlobalAutoStarter\

[COM Port]
PortName=COM1
BaudRate=9600
ByteSize=8
Parity=0
StopBits=1
CtsFlowControl=1
DsrFlowControl=1
CardInsertMsgRegEx=[\w\W]*\[[\w\W]*\] (?'cNumber'[0-9\.\,]*)
CardRemoveMsgRegEx=No card
EndOfLine=0D000A00

[DB]
DBName=DataBase1
DBSchema=btk
ProxyUserName=ProxyUser1
ProxyUserPassword=07001D0447003C0024002D0005000A046D00570461007E004E00340405044304

[HTTP]
Port=8879

5.13.5. Параметры запуска

Формат
-<имя параметра>[:<значение>]
encpass

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

5.13.6. Настройка автозапуска при работе под Linux

Автозапуск в Linux осуществляется с помощью systemd.

Пример юнита
[Unit]
Description=Global Auto Starter Service
After=display-manager.service

[Service]
Type=simple

Environment="WINEPREFIX=/home/user/win32"
Environment="PROG=C:\\RFID\\GlobalAutoStarter.exe"

ExecStart=wine ${PROG}

Restart=always
RestartSec=10

[Install]
WantedBy=graphical.target

В параметре After необходимо указать свой сервис менеджера экрана.

5.13.7. Служебные каталоги

Во время работы, приложение создаёт различные служебные файлы. Хранятся они в служебных каталогах. По умолчанию, служебные каталоги создаются в директории - %AppData%\GlobalAutoStarter\. Указать свою директорию, для служебных каталогов, можно с помощью настройки AppDataPath.

Логирование

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

Отчёты об ошибках

При возникновении ошибок, нарушающих работу приложения, в подкаталоге “bugreports” создаётся файл с отчётом об ошибке. Имя файла содержит время запуска. Отчёты об ошибках содержат подробную информацию о состоянии приложения в момент возникновения ошибки. Для анализа отчётов об ошибках их требуется передавать разработчикам.