Инструкции
This commit is contained in:
parent
4e4faff99d
commit
5305266b7c
114
README.md
114
README.md
@ -1 +1,113 @@
|
|||||||
# P8-Panels
|
# 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"](https://react.dev/), ["React-Router"](https://reactrouter.com/), ["MUI"](https://mui.com/)
|
||||||
|
- Настроенный транспайлер ["Babel"](https://babeljs.io/)
|
||||||
|
- Настроенный сборщик WEB-приложений ["WebPack"](https://webpack.js.org/)
|
||||||
|
- Настроенный статический анализатор кода ["ESLint"]()
|
||||||
|
- Настройки среды разработки ["Visual Studio Code"](https://code.visualstudio.com/)
|
||||||
|
- Готовый контекст React-приложения
|
||||||
|
- Компоненты для отображения единого бокового меню подключенных панелей, галереи подключенных панелей, интеграции в рабочий стол WEB-приложения "ПАРУС 8 Онлайн"
|
||||||
|
- Готовые панели мониторинга для ряда прикланых приложений Системы
|
||||||
|
|
||||||
|
## Требования к разработчику
|
||||||
|
|
||||||
|
Для успешной разработки собственных панелей, с применением описываемого фреймворка потребуются знания следующих технологий:
|
||||||
|
|
||||||
|
- HTML, CSS, JS, JSX
|
||||||
|
- Разработка SPA WEB-приложений
|
||||||
|
- Знакомство с основами работы перечисленных выше библиотек и системных средств (в первую очередь "React")
|
||||||
|
- Знание архитектуры Системы, принципов работы и организации её серверной части
|
||||||
|
|
||||||
|
## Установка
|
||||||
|
|
||||||
|
1. Установите сервер приложений "ПАРУС 8 Онлайн" согласно документации (см. "Парус-Онлайн 2. Часть 1. Установка ГГГГ.ММ.docx").
|
||||||
|
2. Разместите на диске сервера приложений библиотеку расширения "P8-Panels-ParusOnlineExt", для этого скопируйте содержимое папки "bin" из [репозитория расширения "P8-Panels-ParusOnlineExt"](https://github.com/CITKParus/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"/>
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Разместите WEB-приложение "Парус 8 - Панели мониторинга" на сервере приложений "ПАРУС 8 Онлайн". Для этого в каталоге "Modules" сервера приложений создайте подкаталог "P8-Panels" и проведите клонирование репозитория ["P8-Panels"](https://github.com/CITKParus/P8-Panels) в него:
|
||||||
|
|
||||||
|
```
|
||||||
|
git clone https://github.com/CITKParus/P8-Panels.git
|
||||||
|
```
|
||||||
|
|
||||||
|
5. Проведите компиляцию хранимых объектов БД из каталога "db" клонированного репозитория (компиляцию проводить под пользователем-владельцем схемы серверной части Системы, с последующей перекомпиляцией зависимых инвалидных объектов), затем исполните скрипт "grants.sql", размещённый в этом же каталоге.
|
||||||
|
|
||||||
|
6. Перезапустите сервер приложений "ПАРУС 8 Онлайн"
|
||||||
|
|
||||||
|
## Подключение поставляемых панелей мониторинга
|
||||||
|
|
||||||
|
## Разработка пользовательских панелей
|
||||||
|
|
||||||
|
### Общие сведения
|
||||||
|
|
||||||
|
### API для взаимодействия с сервером "ПАРУС 8 Предприятие"
|
||||||
|
|
||||||
|
### Компоненты пользовательского интерфейса
|
||||||
|
|
||||||
|
#### Типовые интерфейсные примитивы
|
||||||
|
|
||||||
|
##### Компоненты MUI
|
||||||
|
|
||||||
|
##### Сообщения "P8PAppMessage", "P8PAppInlineMessage"
|
||||||
|
|
||||||
|
##### Индикатор загрузки "P8PAppProgress"
|
||||||
|
|
||||||
|
#### Высокоуровневые компоненты
|
||||||
|
|
||||||
|
##### Таблица данных "P8PDataGrid"
|
||||||
|
|
||||||
|
##### Графики "P8PChart"
|
||||||
|
|
||||||
|
##### Диаграмма ганта "P8PGantt"
|
||||||
|
|
||||||
|
### API для взаимодействия с WEB-приложением "ПАРУС 8 Онлайн"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user