P8-Panels/README.md
2023-11-27 18:29:55 +03:00

9.4 KiB
Raw Blame History

P8-Panels

"Панели" расширение к "ПАРУС 8 Онлайн"

Термины и сокращения

Система - "ПАРУС 8 Предприятие"
БД - База Данных
СУБД - Система Управления Базами Данных
Расширение - программный комплекс, дополняющий функциональность той или иной программной системы. В контексте данного документа (если не указано иное) - описываемое расширение "Панели".
Фреймворк - программная платформа, определяющая структуру программной системы, программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. В контексте данного документа (если не указано иное) - описываемое расширение "Панели".
Панель - представление данных и функций Системы, реализованное с применением описываемого фреймворка
SPA - Single Page Application - технология разработки WEB-приложений, предполагающая динамическую генерацию интерфейса внутри одного HTML-документа, отображаемого браузером
HTML - HyperText Markup Language — язык гипертекстовой разметки
CSS - Cascading Style Sheets - каскадные таблицы стилей
DOM - Document Object Model - объектная модель документа (в контексте данного документа - HTML)
JS - JavaScript — мультипарадигменный интерпретируемый язык программирования
JSX - JavaScript eXtension - расширение JavaScript, которое позволяет создавать деревья DOM с использованием синтаксиса, подобного XML

Назначение

Расширение представляет собой фреймворк, основной задачей которого является сокращение времени разработки нестандартных графических интерфейсов и панелей мониторинга, работающих в составе WEB-приложения "ПАРУС 8 Онлайн".

Состав

В расширение входят:

  • Библиотека расширения "P8-Panels-ParusOnlineExt.dll" для сервера приложений "ПАРУС 8 Онлайн" - обеспечивает низкоуровневое взаимодействие разрабатываемых панелей с Системой
  • Хранимые объекты сервера БД Системы, обеспечивающие обмен данными между панелями и учётными регистрами Системы
  • API для высокоуровневого взаимодействия с сервером БД Системы
  • API для взаимодействия разрабатываемых панелей с WEB-приложением "ПАРУС 8 Онлайн"
  • WEB-приложение "Парус 8 - Панели мониторинга", являющееся "точкой входа" для подключения реализуемых панелей, включающее в себя:
    • Подключенные и настроенные библиотеки "React", "React-Router", "MUI"
    • Настроенный транспайлер "Babel"
    • Настроенный сборщик WEB-приложений "WebPack"
    • Настроенный статический анализатор кода "ESLint"
    • Настройки среды разработки "Visual Studio Code"
    • Готовый контекст React-приложения
    • Компоненты для отображения единого бокового меню подключенных панелей, галереи подключенных панелей, интеграции в рабочий стол WEB-приложения "ПАРУС 8 Онлайн"
    • Готовые панели мониторинга для ряда прикланых приложений Системы

Требования к разработчику

Для успешной разработки собственных панелей, с применением описываемого фреймворка потребуются знания следующих технологий:

  • HTML, CSS, JS, JSX
  • Разработка SPA WEB-приложений
  • Знакомство с основами работы перечисленных выше библиотек и системных средств (в первую очередь "React")
  • Знание архитектуры Системы, принципов работы и организации её серверной части

Установка

  1. Установите сервер приложений "ПАРУС 8 Онлайн" согласно документации (см. "Парус-Онлайн 2. Часть 1. Установка ГГГГ.ММ.docx").
  2. Разместите на диске сервера приложений библиотеку расширения "P8-Panels-ParusOnlineExt", для этого скопируйте содержимое папки "bin" из репозитория расширения "P8-Panels-ParusOnlineExt", например, в каталог "C:\p8web20\Ext\P8-Panels-ParusOnlineExt".
  3. Подключите библиотеку расширения к серверу приложений "ПАРУС 8 Онлайн". Для этого добавьте ссылку на библиотеку в файл "Config\extensions.config" сервера приложений:
<?xml version="1.0"?>
<parus.extensions enabled="true" resolveKind="Static" viewsMode="Shared" rootPath="c:\p8web20\Ext\">
	<extensions>
		<extension assembly="P8PanelsParusOnlineExt" path="P8-Panels-ParusOnlineExt\bin\P8-Panels-ParusOnlineExt.dll"/>
	</extensions>
</parus.extensions>

Где:

  • rootPath="c:\p8web20\Ext\" - атрибут, указывающий на корневой каталог хранения расширений для сервера приложений "ПАРУС 8 Онлайн"\
  • path="P8-Panels-ParusOnlineExt\bin\P8-Panels-ParusOnlineExt.dll" - атрибут, указывающий на каталог размещения библиотеки расширения "Панели" относительного коревого rootPath.\

Затем, установите в файле конфигурации "PrecompiledApp.config" сервера приложений атрибут updatable в true:

<precompiledApp version="2" updatable="true"/>
  1. Разместите WEB-приложение "Парус 8 - Панели мониторинга" на сервере приложений "ПАРУС 8 Онлайн". Для этого в каталоге "Modules" сервера приложений создайте подкаталог "P8-Panels" и проведите клонирование репозитория "P8-Panels" в него:
git clone https://github.com/CITKParus/P8-Panels.git
  1. Проведите компиляцию хранимых объектов БД из каталога "db" клонированного репозитория (компиляцию проводить под пользователем-владельцем схемы серверной части Системы, с последующей перекомпиляцией зависимых инвалидных объектов), затем исполните скрипт "grants.sql", размещённый в этом же каталоге.

  2. Перезапустите сервер приложений "ПАРУС 8 Онлайн"

Подключение поставляемых панелей мониторинга

Разработка пользовательских панелей

Общие сведения

API для взаимодействия с сервером "ПАРУС 8 Предприятие"

Компоненты пользовательского интерфейса

Типовые интерфейсные примитивы

Компоненты MUI
Сообщения "P8PAppMessage", "P8PAppInlineMessage"
Индикатор загрузки "P8PAppProgress"

Высокоуровневые компоненты

Таблица данных "P8PDataGrid"
Графики "P8PChart"
Диаграмма ганта "P8PGantt"

API для взаимодействия с WEB-приложением "ПАРУС 8 Онлайн"