tyurind
6/17/2014 - 10:10 AM

Smart-Queue-Docs

Smart-Queue-Docs

Терминал


← Оглавление

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

Терминал представляет собой что-то вроде браузера, адресная строка которого не вводиться пользователем, а прописывается в настройках. Терминал встроен стандартный браузер Windows Explorer, предположительно тем же ядром что и текущяя версия системы. Поэтому возможна обработка css, js, но следует учесть всю мощь Internet Explorer при создании дьявольских шаблонов с использыванием последних технологий WEB 2.0

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

  • RegQueue - зарегистрировать очередь
  • ReqRemote - запрос к удаленному серверу

Настройка

  • Сервер - адрес сервера, куда будут посылаться запросы для регистрации в очереди (http://192.168.0.16/registration)
  • Terminal - уникальны идентификатор терминала, про писаный в конфиге (t1)
  • Шаблон экрана - обычная html страница (можно как локальный путь, так и удаленный)

Шаблон

Шаблон отображения представляет собой обычную html страницу. Терминал встроен стандартный браузер Windows Explorer, предположительно тем же ядром что и текущяя версия системы.

  • window.external.RegQueue

  • window.external.ReqRemote

  • url - строка запроса удаленного сервера

function terminalRegQueue(queue) { if (typeof window.external.RegQueue != "undefined") { window.external.RegQueue(queue); } return false; }

function terminalPagePrint(data) { if (typeof window.external.RegQueue != "undefined") { window.external.PagePrint(data); } return false; }

API Методы

ReqQueue

  • queue - буква очереди
  • data - дополнительная строка запроса (не обязательно)

ReqRemote

Параметры

  • url - удаленный сервер запроса

К переданному url дописываються в конце параметры tid и tt, где

  • tid - идентификатор терминала, про писаный в его настройках
  • tt - время

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

Ответ сервера печатается на талон только в том случае, если он содержит строку

<div id="response">1</div>

во всех остальных случаях будет выводиться ошибка

Печать

Система


← Оглавление


Дерево файловой системы

 basedir/
 ├── app/
 │    ├── cache/     # - кеш
 │    ├── ...
 │    └── config/    # - конфиги
 ├── bin/
 ├── public_html/        # - веб файлы, DocumentRoot для apache 
 │    ├── .htaccess
 │    ├── ...
 │    └── index.php
 ├── src/
 │    ├── ...
 │    └── templates/     # - директория шаблонов
 │         ├── ...
 │         ├── monitor/
 │         │    └──monitor-index.tpl  # - шаблон для монитора
 │         └── ticket/
 │              └──ticket-k.tpl       # - шаблон для талона
 │
 └── vendor/            # - сторонние библиотеки

Структура web

  • /voices/* - директория звуковых файлов
  • /operator - сервис пульта оператора
  • /registration - сервис регистрации очередей
  • /monitor/select - сервис монитора
  • /report - отчеты администрирование

Конфигурация

Файлы конфигурации находятся в директории app/config, определены в формате YAML. Данный формат и форму конфигурации необходимо строго придерживаться. Более подробное описание и примеры можно найти в самих конф. фалах

Конфигурация всей системы описывается в 5 файлах:

  • config.yml - системные настройки
  • queue.yml - настройки очередей
  • monitor.yml - список мониторов и их шаблоны
  • terminal.yml - список и настройка терминалов
  • window.yml - список, определения и настройка окон

При первом же запуске системы, конфиги считываются и кешируються. После чего дальнейшие изменения конфигов не принимаются в действия до тех пор пака не удалите файл кеша (app/cache/config.cache). После чего система вновь считает все конфиги и сново их закеширует. Т.е. любые изменения конфигов вступают после удаления кеша.

MySQL

Используем версию от 5.1.73 и выше, так как на минимальной (5.1) система запущена и стабильно работает.

Дамп базы находиться в src/config/db/structure.sql

Важно настроить MySQL кодировку, время и размер кеша

[mysqld]
thread_cache = 512K

default-character-set = utf8
character-set-server = utf8
default-time-zone='+04:00'

Apache

Обязательным является модуль mod_rewrite.so, его надо подключить

# Кодировка по умолчанию
AddDefaultCharset UTF-8

# Файлы доступа
AccessFileName .htaccess
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>

# Директория веб-сайта, см. архитектуру 
DocumentRoot "/var/www/public_html"

# Параметры директории веб-сайта
<Directory "/var/www/public_html">
    Options Includes Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
    Satisfy all
</Directory>

PHP

Версия PHP 5.4

Базовая конфигурация php.ini

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
html_errors = On
error_log = /var/log/php_errors.log
date.timezone = Europe/Moscow