Структура инсталляционного комплекта LSS проекта
Введение
В данном разделе приводится описание структуры инсталляционного комплекта Платформы LSS.
Файловая система
папка sql
Содержит скрипты для первоначальной инициализации базы данных проекта.
папка sql/mssql - скрипты для первоначальной инициализации базы данных для MS-SQL сервера
папка sql/mysql - скрипты для первоначальной инициализации базы данных для MySql или MarioDB сервера
папка sql/pgsql - скрипты для первоначальной инициализации базы данных для PostgreSql сервера
Базу данных надо вручную создать, затем прогнать скрипты для создания и структуры и первоначального заполнения содержимого таблиц. После этого папка скриптов становится ненужной для дальнейшей работы проекта.
папка export-import
Эта папка и ее поддиректории должна быть открыта для чтения и записи.
В шаблоне LSS проекта реализован функционал загрузки и выгрузки содержимого таблиц базы данных в виде XML файлов и SQL скриптов. Выгрузка и загрузка настроена на работу с этой папкой.
папка php
Содержит php скрипты LSS сервера проекта. web-сервер Apache настроен так, что эта папка не видна по http и следовательно файлы в ней не могут быть вызваны по http напрямую, что повышает безопасность системы.
подпапка php/config
Содержит конфигурационные файлы проекта.
config/config-lss.php - инициализация настроек по умолчанию. Общая для всех LSS проектов. Этот файл не следует модифицировать.
config/config-application.php - инициализация настроек, специфичных для проекта
config/config-place.php - инициализация настроек, специфичных для площадки развертывания проекта. Обычно тут задаются параметры соединения с базой данных, и пути размещения папок на площадке
config/.config.php - обеспечивает подключение конфигурационных файлов в нужной последовательности
appmenu.xml - xml описание главного меню системы
подпапка php/datasources
Содержит контроллеры источников данных (класс DataSource) проекта. В простейшем случае каждый контроллер соответствует своей таблице базы данных.
php/datasources/autogen - содержит автоматически сгенеренные контроллеры источников данных. В комплекте шаблона LSS проекта содержится утилита, автоматически формирующая для каждой таблицы базы данных PHP скрипт контроллера источника данных. Имя скрипта соответствует имени таблицы. Скрипт формируется по описателям таблиц базы данных. Для корректной работы папка должна быть открыта на чтение и запись.
php/datasources/modify - содержит модификаторы (потомки класса DataSourceModify) позволяющие вмешаться в процесс автоматической генерации контроллеров источников данных (папка autogen) с целью внесения изменений в программный код контроллера во время генерации. Имя модификатора соответствует имени таблицы базы данных.
php/datasources - тут можно размещать контроллеры - потомки автоматически сгенеренных контроллеров DataSource. И, соответственно, гибко расширять их функционал.
Содержит контроллеры экранных форм проекта, и контроллеры источников данных, специфичных для конкретных экранных форм. Обычно контроллер экранной формы состоит из файла XML описателя экранной формы (согласно LSS протоколу) и php скрипта контроллера, потомка класса FormController. Имя файла соответствует имени экранной формы.
подпапка php/extlib
Содержит сторонние php библиотеки, необходимые для работы проекта. В комплект шаблона мы для примера включили стороннюю библиотеку PHPExcel. Эта библиотека удобна для работы с файлами в формате Excel.
подпапка php/lss-server
Эта системная папка LSS сервера. Ее содержимое идентично для всех проектов, выполненных по технологии LSS. Вносить изменения в содержимое размещенных тут файлов не следует.
Кратко рассмотрим основное содержимое этой системной папки:
lss-server/datasources - содержит контроллеры системных источников данных, общих для всех LSS проектов
lss-server/forms - содержит контроллеры системных экранных форм, общих для всех LSS проектов
lss-server/lib - содержит системные библиотеки
lib-base.php - библиотека функций - базовый набор функций
lib-html.php - библиотека функций - расширение базового набора под формирование
HTML страниц
lib-lssserver - библиотека функций - расширение базового набора под LSS протокол
dsconnector.php - шлюз доступа к данным
datasource-controller.php - описание контроллера источника данных
form-controller - описание контроллера экранной формы
lib-report.php - генератор отчетов в виде таблиц с подитогами
dsautogenerator.php - автоматический генератор источников данных DataSource по описателям
ext-controller.php - описание контроллеров сервисов, утилит и отчетов
perm-controller.php - описание контроллера системы прав проекта, класса PermController
lss-server/reports - содержит контроллеры системных отчетов, общих для всех LSS проектов
lss-server/utils - содержит контроллеры системных утилит, общих для всех LSS проектов
В корне папки lss-server лежат PHP скрипты точек входа LSS сервера. Так как непосредственное обращение к этим файлам по http заблокировано, то в открытой по http папке www размещены скрипты, обеспечивающие вызов этих точек входа.
include-index.php - точка входа инициализации и развертывания LSS визуализатора
include-lss.php - точка входа обработки запросов по LSS протоколу
include-report.php - точка входа для вызова отчетов
include-services.php - точка входа для вызова сервисов
include-utils.php - точка входа для вызова утилит
подпапки php/reports, php/services, php/utils
Содержат контроллеры отчетов, сервисов и утилит соответственно.
контроллер прав, файл php/perm.php
В этом файле размещается наследник класса PermController, реализующий систему прав доступа, специфическую для проекта.
папка www
web-сервер Apache должен быть настроен для работы с этой папкой по http. В корне лежат следующие файлы:
.htaccess - настроечный файл Apache
robots.txt - запрет индексации проекта поисковыми системами
favicon.png - иконка проекта
index.php - PHP скрипт, обеспечивает вызов системной точки входа include-index.php из папки php/lss-server. Обеспечивает инициализацию и развертывание LSS визуализатора.
lss.php - PHP скрипт, обеспечивает вызов системной точки входа include-lss.php из папки php/lss-server. Обеспечивает обработку запросов по LSS протоколу.
reports.php - PHP скрипт, обеспечивает вызов системной точки входа include-reports.php из папки php/lss-server. Обеспечивает выполнение отчетов.
services.php - PHP скрипт, обеспечивает вызов системной точки входа include-services.php из папки php/lss-server. Обеспечивает выполнение сервисов.
utils.php - PHP скрипт, обеспечивает вызов системной точки входа include-utils.php из папки php/lss-server. Обеспечивает выполнение утилит.
В папке resource лежат статичные файлы, доступные по http протоколу:
lss-viewer - тут размещены файлы, необходимые для работы LSS визуализатора
bootstrap-3.3.6 - библиотека bootstrap, используется в отчетах
icons - дополнительно подключаемые к проекту иконки
logoscreen - папка размещения экрана фонового слоя для диалога логина
reports - css, javascript и иконки, необходимые для работы отчетов
utils - css, javascript и иконки, необходимые для работы утилит
Демонстрационные примеры и ссылки
Демонстрационные примеры доступны в режиме «только чтение». Для входа используйте логин root, пароль 1.