Продукты Р7
Корпоративный сервер 2024
Корпоративный сервер 2024
Сервер документов
Сервер документов
Редакторы документов
Редакторы документов
Корпоративный сервер 2019
Корпоративный сервер 2019
Графика
Графика
ВКС и мессенджер
ВКС и мессенджер
Мобильные редакторы
Мобильные редакторы
Почтовый сервер
Почтовый сервер
Органайзер
Органайзер
Сервер лицензирования
Сервер лицензирования
Файл-Экспресс
Файл-Экспресс
Аналитика
Аналитика
Дополнительно
Часто задаваемые вопросы
Разработчикам
Интеграции
Новые возможности

Создание файла конфигурации плагина: config.json

Обновлено: 28.07.26

Файл config.json — это файл конфигурации плагина, содержащий основные данные, необходимые для регистрации плагина в редакторах.

Ниже приводится пример кода для файла config.json (этот код используется для плагина Шахматы, но любой другой файл config.json создается аналогично):

{
    "baseUrl": "",
    "guid": "asc.{FFE1F462-1EA2-4391-990D-4CC84940B754}",
    "name": "chess(fen)",
    "variations": [
        {
            "buttons": [
                { "text": "OK", "primary": true  },
                { "text": "Cancel", "primary": false }
            ],
            "description": "chess",
            "EditorsSupport": ["word", "cell", "slide"],
            "icons": ["chess/icon.png", "chess/icon@2x.png"],
            "initData": "",
            "initDataType": "ole",
            "initOnSelectionChanged": true,
            "isInsideMode": false,
            "isModal": true,
            "isUpdateOleOnResize": true,
            "isViewer": true,
            "isVisual": true,
            "url": "chess/index.html"
        }
    ]
};
ИмяОписаниеТип
baseUrlПуть к плагину. Все остальные пути вычисляются относительно этого пути. Если плагин установлен на сервер, там прописывается дополнительный параметр — путь к плагинам. Если baseUrl == "", то используется путь ко всем плагинам.строка
guidИдентификатор плагина. Должен быть типа asc.{uuid}.строка
nameИмя плагина, которое будет отображаться на панели плагинов.строка
variationsВариации плагина или «подплагины» — См. раздел «Вариации плагинов» ↗ ниже.массив
variations.buttonsПеречень кнопок в окне плагина с возможностью скиновать. Используются только для визуальных плагинов в их собственном окне, например isVisual == true && isInsideMode == false). Кнопки могут быть главными или не главными. Флаг primary влияет только на скин кнопки.массив
variations.descriptionОписание плагина.строка
variations.EditorsSupportДля каких редакторов предназначен плагин ("word" — редактор текстовых документов, "cell" — редактор электронных таблиц, "slide" — редактор презентаций).массив
variations.iconsГрафические файлы иконок плагина, используемых в редакторах: для обычных экранов и иконки со вдвое большим разрешением для дисплеев Retina.массив
variations.initDataВсегда равно "". Это данные, которые передаются плагину из редактора при запуске плагина (например, если initDataType == "text", плагин при запуске будет получать выделенный текст).строка
variations.initDataTypeТип данных, которые выделяются в редакторе и передаются плагину: "text" — текстовые данные, "html" — HTML-код, "ole" — данные OLE-объекта, "none" — никакие данные не передаются плагину.строка
variations.initOnSelectionChangedОпределяет, отслеживает ли плагин изменение выделения текста в окне редактора.логическое значение
variations.isInsideModeОпределяет, должен ли плагин отображаться в панели редактора, а не в собственном окне (используется только для визуальных немодальных плагинов). Обязательно должно выполняться следующее правило: isModal != isInsideMode.логическое значение
variations.isModalОпределяет, надо ли открывать плагин в отдельном модальном окне (используется только для визуальных плагинов). Обязательно должно выполняться следующее правило: isModal != isInsideMode.логическое значение
variations.isUpdateOleOnResizeОпределяет, нужно ли перерисовывать OLE-объект при изменении размера объекта в редакторе (векторная отрисовка). Используется только для OLE-объектов, то есть initDataType == "ole").логическое значение
variations.isViewerОпределяет, доступен ли плагин, если документ доступен только в режиме просмотра.логическое значение
variations.isVisualОпределяет, является ли плагин визуальным (при их использовании открывается окно для выполнения какого-либо действия или рисуется определенный интерфейс в панели редактора) или невизуальным (представляют собой кнопки, при нажатии которых производятся манипуляции с документом).логическое значение
variations.urlТочка входа в плагин, то есть HTML-файл, подключающий файл pluginBase.js (базовый файл для работы с плагинами) и запускающий код плагина. См. раздел index.html ↗ для получения подробной информации.строка

Вариации плагина

Для чего плагину нужны вариации? Очень просто: плагин может не только выполнять какое-то действие, но и содержать настройки или окно «О программе». Например, плагин-переводчик: самому плагину не требуется визуальное окно для перевода, так как это выполняется нажатием одной кнопки, но настройки плагина (направление перевода) и окно «О программе» должны быть визуальными. Поэтому потребуются как минимум две вариации плагина (сам перевод и настройки), или три, если надо добавить окно «О программе» с информацией о плагине и его разработчиках или о программном обеспечении, использованном для создания плагина.
Для правильной работы плагина файлы .html для всех вариаций должны быть помещены в корневую папку плагина вместе с файлом конфигурации config.json.

Была ли эта статья полезной?

Поделитесь пожалуйста своим мнением

      В статье есть ошибкиРекомендации не помоглиТекст трудно понятьСодержание статьи не соответствует заголовкуДругое