Перейти к основному контенту

Эталонный реестр плагинов

Общая информация

Для каждой поддерживаемой версии Целевой программы используется отдельный файл-реестр плагинов, предназначенный для централизованного распространения через Менеджер плагинов.

Файл располагается по следующему пути:

Z:\BIM\7. Дополения\1. Внутренние\3. Данные\{ЦЕЛЕВАЯ ПРОГРАММА}_{ВЕРСИЯ}.dat

Данный файл является единственным источником истины для Менеджера плагинов при определении:

  • какие плагины должны быть установлены пользователю;

  • какие версии плагинов являются актуальными;

  • откуда загружать .addin и конфигурационные файлы;

  • для каких ролей пользователей доступны конкретные плагины.

Структура файла

Корневым элементом является коллекция:

<ArrayOfAddinInfo>

Каждый отдельный плагин описывается элементом:

<AddinInfo>

Каждый элемент <AddinInfo> описывает один плагин и содержит в себе следующие поля:

  • <Name> - Уникальный идентификатор плагина, который соответствует наименованию Проекта плагина.
  • <Version> - Версия плагина, которая используется для определения необходимости обновления. Формат версии — ВЕРСИЯ ЦЕЛЕВОЙ ПРОГРАММЫ.МАЖОР.МИНОР.ПАТЧ, например, 2019.10.2.43.
    МАЖОР - Увеличивается при внесении изменений, нарушающих обратную совместимость. При изменении обнуляется МИНОН и ПАТЧ.
    МИНОР - Увеличивается, если добавлен новый функционал, но без нарушения обратной совместимости. При изменении обнуляется ПАТЧ.
    ПАТЧ - Увеличивается при исправлении ошибок, без изменения функционала приложения.
  • <Path> - Полный сетевой путь к .addin файлу плагина. Данное поле может отсутствовать для пакетов Dynamo и других компонентов, которые не используют .addin файлы.
  • <ConfigurationFilePath> - Путь к конфигурационному файлу плагина (.fst).
  • <ValidUserType> - Тип пользователя (роль), для которого доступен плагин.

Пример файла:

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfAddinInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <AddinInfo>
        <Name>CollisionGrouper</Name>
        <Version>2019.0.0.31</Version>
        <Path>{ПУТЬ ДО ADDIN ФАЙЛА}</Path>
        <ConfigurationFilePath>{ПУТЬ ДО FST ФАЙЛА}</ConfigurationFilePath>
        <ValidUserType>AllUsers</ValidUserType>
    </AddinInfo>
</ArrayOfAddinInfo>

Правила работы с файлом

  • Любое обновление плагина требует обновления версии.
  • Изменение сетевой структуры без обновления файла приведёт к неработоспособности Менеджера плагинов.
  • Для исключения плагина из распространения достаточно удалить соответствующий <AddinInfo> из файла.
  • Файл должен оставаться корректным XML-документом. Любая ошибка структуры приводит к невозможности загрузки списка плагинов.
  • Перед сохранением файла необходимо проверять XML на корректность с помощью Notepad++ плагина XML Tools функцией Check XML syntax now.
    image.png