cv1.7.47
xtables Описание

Большинство российских и международных компаний в своей деятельности используют программу Microsoft Excel для работы с электронными таблицами. Она имеет широкие возможности экономико-статистических расчетов, графические инструменты. Однако у Excel есть «слабые места», поскольку она предоставляет более локальное решение с крайне ограниченными возможностями многопользовательского режима.

xTables изначально задумывался как доступная альтернатива таблицам Excel с целью обеспечить возможность большому количеству пользователей использовать ее одновременно из любой точки мира.

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

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

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

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

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

Также важной частью приложения является интегрированная в системе работа с обычной усиленной электронной подписью. Генерация электронной подписи осуществляется пользователем в своем личном кабинете. Для верификации корневого сертификата используются собственноручно заполняемые пользователями бумажные уведомления. Электронная подпись выполняет требования ФЗ «Об электронной подписи».

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

php 7 xTables написан на языке PHP. Для использования xTables, начиная с версии 1.7.0, необходим установленный интерпретатор PHP >= 7.0.
До версии 1.3.0 - 5.5, с 1.3.0 до 1.7.0 - 5.6.
Данный язык известен широкому кругу разработчиков. Созданное на нем приложение не требовательно к аппаратным средствам и позволяет разворачивать достаточно сложные системы на широком круге серверов от коммерческих виртуальных хостингов до собственных серверов.

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

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

Работа системных компонентов xTables тестируется на:

В основе приложения лежат главные компоненты:

  • TableView модуль табличного представления (для демонстрации большого среза данных)
  • CardView модуль представления в виде карточки (для демонстрации единичной записи базы данных с дополнительными данными и функциональными возможностями)
  • CardNew модуль создания новой карточки
  • AjaxDispatcher

Для функционирования xTables минимально необходимы:

  • /xtables Каталог с файлами ядра xTables, который может быть расположен как в корне, так и в другом каталоге, директория определяется автоматически в константе XTABLES_ROOT.
  • /config Каталог с отдельными возможности для настройки и кастомизации внешнего вида, который располагается в каталоге, соответствующем пути константы XTABLES_BASE.
  • /accessory Каталог вспомогательный (в т.ч. нужен для хранения CACHE), который располагается в каталоге, соответствующем пути константы XTABLES_BASE
  • xtables.js Базовый JS файл, располагается в папке /js в корне. Расположение может быть изменено в файле /config/all-head.php.
  • user.js Файл, располагается в папке /js в корне, с JS функциями, касающимися личного кабинета пользователя. Расположение может быть изменено в файле /config/all-head.php.
  • style.css Файл css стилей расположен в корне в каталоге /css и содержит желательные для функционирования xTables стили. Расположение может быть изменено в файле /config/all-head.php.
    Минимально необходимые стили включены в ядро xTables.
Зависимости

Для установки PHP зависимостей используется composer.

Для функционирования xTables используются:

Структура приложения

Приложение разделено на две части:

  • web root
    корневая веб директория, то есть каталог сервера, который доступен из интернета;
    в нем расположены прежде всего файлы, которые скачивается на компьютер клиента (css, js ...), а также входной скрипт (единственный php файл, доступный из интернета);
  • protected
    Защищенная папка, расположенная по пути, соответствующему XTABLES_BASE.
    Она может находиться внутри веб директории, в этом случае ее защита обеспечивается директивой в файле .htaccess либо может находиться вне веб каталога, то есть в папке, не доступной из интернета при обращении по имени домена, позволяя создавать сплит-приложения даже в условиях виртуальных коммерческих хостингов.
    В этой папке находится как ядро xtables, так и файлы проекта, папка документов (она может быть перемещена в другое место отдельно с редактирвоание соответствующей настройки в файле /config/config.php), вспомогательный каталог accessory, папка с настройками /config и расширениями /ext.

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

multi

Ядро xTables расположено в папке /xtables и не должно изменяться для сохранения возможности последующих обновлений.

Для адаптации и настройки часть данных вынесены из ядра в папку /config, которая адаптируется под проект.

Создание конкретного приложения осуществляется путем создания папки /app (или другой с названием проекта), в которой размещаются файлы проекта.

Components располагаются в отдельных папках, в которых также находятся папки model (классы с логикой) и obmanager (представления).

Обновления

cv1.3.12

затрагивает функциональность компонента Cache (вводятся PSR6 совместимые классы) и может потребовать ручной очистки файлового (и иного используемого) кеша.

cv1.4.0

требует обязательной ручной корректировки ref. файлов в папке /config.

cv1.4.8

полностью переработан функционал HeadConnector. JS, CSS файлы объединяются в комбинированные файлы. Потребуется ручное редактирование нового файла настроек, который имеет имя /config/js-css-meta.php. Потребуется поправка с учетом ref файла формы входа в файле /config/login-body.html.

cv1.5.0

авторизация перемещена из стандартных сессий в специальный механиз компонента Access; может потребоваться ручное создание каталога /accessory/access;


Session::get('ses_id') -----> xTables::$access->ses('id')
Session::exists('ses_id') --> xTables::$access->exists('id')

cv1.6.0

Рекомендуется ручное обновление из архива патча и ручная очистка кеша.

cv1.6.23

Значительное обновление компонента Cache. Требуется ручное обновлением из архива патча. Требуется ручная корректировка основного файла настроек /config/config.php в части кеша.
В связи с ручным обновлением из патча и добавлением провайдера кеша DbEngine, требуется создание в БД таблиц cache, acc_ses для использования этого провайдера. Таблицы будут созданы автоматически при следующем обновлении.

cv1.7.0

Минимальная версия интерпретатора - PHP7. Рекомендуется ручное обновление из архива патча.