Инструменты пользователя

Инструменты сайта


project-template-structure

Структура инсталляционного комплекта LSS проекта

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. И, соответственно, гибко расширять их функционал.

подпапка php/forms

Содержит контроллеры экранных форм проекта, и контроллеры источников данных, специфичных для конкретных экранных форм. Обычно контроллер экранной формы состоит из файла XML описателя экранной формы (согласно LSS протоколу) и php скрипта контроллера, потомка класса FormController. Имя файла соответствует имени экранной формы.

подпапка php/extlib

Содержит сторонние php библиотеки, необходимые для работы проекта. В комплект шаблона мы для примера включили стороннюю библиотеку PHPExcel. Эта библиотека удобна для работы с файлами в формате Excel.

подпапка php/lss-server

Эта системная папка LSS сервера. Ее содержимое идентично для всех проектов, выполненных по технологии LSS. Вносить изменения в содержимое размещенных тут файлов не следует.

  • По этой ссылке можно ознакомиться с подробной, автоматически сгенеренной документацией, описывающей содержимое этой папки: https://lss.m-cti.ru/storage/doxygen/html

Кратко рассмотрим основное содержимое этой системной папки:

  • 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.

project-template-structure.txt · Последнее изменение: 2024/07/08 12:53 — 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki