Расширения
SmartDCIM поддерживает установку расширений, дополняющих функционал системы.
Установка расширений
К списку установленных расширений имеют доступ все пользователи через меню текущего пользователя (Имя пользователя Расширения), но доступ к данным ограничен их правами и доступом к объектам.
Для добавления нового расширения необходимо нажать кнопку или на странице с расширениями. Также, список новых расширений можно найти на странице market.saymon.tech.

В открывшемся каталоге перейти на страницу интересующего расширения и выполнить шаги, описанные в инструкции по установке.
Пользовательские расширения
Пользователи могут писать собственные web-приложения, расширяющие или использующее возможности системы SmartDCIM.
Чтобы включить такие приложения в состав сервера системы SmartDCIM, необходимо:
- Добавить секцию 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-интерфейсе системы SmartDCIM, оно должно содержать файл package.json или meta.json (данные meta.json приоритетнее).
Формат и поля файла meta.json:
| Параметр | Описание | ||
|---|---|---|---|
| author | Автор расширения. | ||
| date | Дата выхода установленного расширения. | ||
| description | Краткое описание расширения. | ||
| homepage | Ссылка на домашнюю страницу расширения. | ||
| icon | Прямая ссылка на иконку расширения. По умолчанию используется файл icon.png из директории расширения. | ||
| name | |||
| Название расширения. |
Расширения сторонних разработчиков не могут начинаться со слова SAYMON.
| | Расширения сторонних разработчиков не могут начинаться со слова SAYMON. | | | Расширения сторонних разработчиков не могут начинаться со слова SAYMON. | | | | nameInUrl | Часть ссылки для перехода на страницу с расширением. Совпадает с названием папки, в которой лежит файл index.html расширения. <Адрес_Сервера>/extensions/<nameInUrl> | | | | permissions | Набор пользовательских прав, которое добавляет расширение. | | | | permissions.<имя-права>.description | Описание конкретного права в разделе конфигурации Права на операции. В этом поле можно указать разные описания для каждого поддерживаемого системой языка. | | | | urlToMeta | Прямая ссылка на файл meta.json последней актуальной версии для проверки обновлений. | | | | version | Версия установленного расширения. | | |
Пример файлов meta.json:
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"
}
}
}
}