Расширения
Центральный Пульт поддерживает установку расширений, дополняющих функционал системы.
Установка расширений
К списку установленных расширений имеют доступ все пользователи через меню текущего пользователя (), но доступ к данным ограничен их правами и доступом к объектам.
Для добавления нового расширения необходимо нажать кнопку
или
на странице с расширениями. Также, список новых расширений можно найти на странице market.saymon.tech.
В открывшемся каталоге перейти на страницу интересующего расширения и выполнить шаги, описанные в инструкции по установке.
Пользовательские расширения
Пользователи могут писать собственные web-приложения, расширяющие или использующее возможности системы Центральный Пульт.
Чтобы включить такие приложения в состав сервера системы Центральный Пульт, необходимо:
-
Добавить секцию extensions в конфигурационный файл сервера и в параметре
pathуказать путь к папке с расширениями, например,"/opt/saymon-extensions":"extensions": { "path": "/opt/saymon-extensions" } -
Расположить содержимое каждого расширения в отдельной папке внутри корневой. Например,
/opt/saymon-extensions/my-extension. Эта папка будет точкой входа в клиентскую часть расширения, доступную по URL:<Адрес_Сервера>/extensions/my-extension. -
В файле
/etc/nginx/sites-enabled/saymonдобавить секциюlocation ^~ /extensionsи указать в параметреaliasпапку изextensions.path:# SAYMON Extensions folder. location ^~ /extensions { alias /opt/saymon-extensions/; try_files $uri $uri$args $uri$args/ @extension; autoindex on; }
Чтобы расширение было доступно в общем списке расширений, отображаемых в web-интерфейсе системы Центральный Пульт, оно должно содержать файл package.json или meta.json (данные meta.json приоритетнее).
Формат и поля файла meta.json:
| Параметр | Описание | ||
|---|---|---|---|
author |
Автор расширения. |
||
date |
Дата выхода установленного расширения. |
||
description |
Краткое описание расширения. |
||
homepage |
Ссылка на домашнюю страницу расширения. |
||
icon |
Прямая ссылка на иконку расширения. По умолчанию используется файл |
||
name |
Название расширения.
|
||
nameInUrl |
Часть ссылки для перехода на страницу с расширением. Совпадает с названием папки, в которой лежит файл |
||
permissions |
Набор пользовательских прав, которое добавляет расширение. |
||
permissions.<имя-права>.description |
Описание конкретного права в разделе конфигурации Права на операции. В этом поле можно указать разные описания для каждого поддерживаемого системой языка. |
||
urlToMeta |
Прямая ссылка на файл |
||
version |
Версия установленного расширения. |
Пример файла meta.json:
{
"author": "SAYMON User",
"date": "2020/12/31",
"description": "Very useful custom extension",
"homepage": "https://saymon.tech/extensions/my-extension/",
"icon": "https://saas.saymon.info/extensions/my-extension/favicon.ico",
"name": "My Extension",
"nameInUrl": "my-extension",
"urlToMeta": "https://saymon.tech/extensions_meta/my-extension/meta.json",
"version": "1.0.1",
"permissions": {
"custom_permission": {
"description": {
"ru": "Название прав пользователя",
"en": "Permission name"
}
}
}
}