Расширения

Центральный Пульт поддерживает установку расширений, дополняющих функционал системы.

Установка расширений

К списку установленных расширений имеют доступ все пользователи через меню текущего пользователя (Имя пользователя  Расширения), но доступ к данным ограничен их правами и доступом к объектам.

Для добавления нового расширения необходимо нажать кнопку image или image, или перейти на страницу saymon.tech/extensions.

image

В открывшемся каталоге перейти на страницу интересующего расширения и выполнить шаги, описанные в инструкции по установке.

Пользовательские расширения

Пользователи могут писать собственные web-приложения, расширяющие или использующее возможности Центрального Пульта.

Чтобы включить такие приложения в состав сервера Центрального Пульта, необходимо:

  1. Добавить секцию extensions в конфигурационный файл сервера и в параметре path указать путь к папке с расширениями, например, "/opt/saymon-extensions":

    "extensions": {
        "path": "/opt/saymon-extensions"
    }
  2. Расположить содержимое каждого расширения в отдельной папке внутри корневой. Например, /opt/saymon-extensions/my-extension. Эта папка будет точкой входа в клиентскую часть расширения, доступную по URL: <Адрес_Сервера_Центрального_Пульта>/extensions/my-extension.

  3. В файле /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

Прямая ссылка на иконку расширения. По умолчанию используется файл icon.png из директории расширения.

name

Название расширения.

Расширения сторонних разработчиков не могут начинаться со слова SAYMON.

nameInUrl

Часть ссылки для перехода на страницу с расширением. Совпадает с названием папки, в которой лежит файл index.html расширения. <Адрес_Сервера_Центрального_Пульта>/extensions/<nameInUrl>

urlToMeta

Прямая ссылка на файл meta.json последней актуальной версии для проверки обновлений.

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"
}