Расширения¶
Магазин расширений (Администрирование → Расширения) устанавливает подписанные поставщиком расширения, которые добавляют возможности для конкретного заказчика — дополнительное содержимое метамодели, интеграции, фоновые задачи и даже новые страницы — без изменения ядра Turbo EA (принцип «clean core»).
Расширения устанавливаются двумя способами: в один щелчок из встроенного Магазина (если у экземпляра есть доступ в Интернет) или путём прямой загрузки файлов — расширение представляет собой подписанный пакет .teax, а лицензия — подписанный текстовый файл; оба обычно отправляются по электронной почте. Файловый способ не требует ни учётной записи магазина, ни исходящих соединений, поэтому он одинаково работает и в изолированных (air-gapped) средах.
Страница содержит две вкладки: Магазин — просмотр каталога расширений поставщика с установкой в один щелчок, Установленные — управление лицензиями и установка из файлов.
Расширения создаются и подписываются Turbo EA — их нельзя создать самостоятельно, и они не открыты для сторонних разработчиков. Если вам нужна возможность, адаптированная под вашу организацию, мы можем создать и лицензировать её для вас. См. консалтинг Turbo EA.
Как устроено доверие¶
Экземпляр защищают две независимые проверки:
- Происхождение (подпись). Каждый пакет несёт подпись Ed25519 ключом поставщика. Turbo EA проверяет её при загрузке и заново при каждом запуске бэкенда. Неподписанные, изменённые или сторонние пакеты отклоняются — установленное расширение гарантированно совпадает с тем, что собрал поставщик.
- Активация (лицензия). Подписанный файл лицензии перечисляет ваши права — по одному на расширение, каждое со своим сроком действия. Установленное расширение работает только при наличии действующего права. Лицензии привязаны к идентификатору вашего экземпляра — лицензия, выданная для другого экземпляра, отклоняется.
Идентификатор вашего экземпляра¶
Каждая установка один раз генерирует уникальный идентификатор экземпляра (TEA-XXXX-XXXX-XXXX), отображаемый вверху страницы Администрирование → Расширения с кнопкой копирования. Это ваша лицензионная идентичность: указывайте его при покупке (встроенный Магазин отправляет его автоматически; оформление заказа в онлайн-магазине запрашивает его), чтобы каждое расширение, купленное для этого экземпляра — любым администратором, с любого адреса почты — попадало в одну общую лицензию. Он лишь идентифицирует ваш экземпляр; это никогда не учётные данные, поэтому его можно спокойно сообщать поставщику.
Идентификатор переносится вместе с переносом рабочего пространства, поэтому переезд на новый сервер сохраняет лицензию действующей. После полной переустановки экземпляр получает новый идентификатор — попросите поставщика перевыпустить лицензию для него (быстрый «re-key» с его стороны).
Вкладка «Магазин»¶
Вкладка Магазин работает без какой-либо настройки и показывает опубликованные поставщиком расширения с описанием и ценой:
- Купить открывает страницу оплаты в новой вкладке браузера. Как только платёж подтверждён, лицензия применяется автоматически (копия также приходит по почте).
- Установить (или Обновить, когда опубликована более новая версия) сначала проверяет лицензию — если расширение ещё не лицензировано, диалог предложит купить или вставить лицензию, после чего продолжит автоматически — и скачивает пакет через ту же проверку подписи и тот же предварительный просмотр, что и ручная загрузка. Расширения с демо показывают ссылку Посмотреть в действии, а опубликованная более новая версия превращает кнопку в Обновить.
Вкладка «Магазин» доступна только для чтения и анонимна: без учётной записи, без токена, и никакие сведения о вашем экземпляре никуда не передаются — читается только публичный каталог поставщика. Изолированным экземплярам не нужна настройка — вкладка просто показывает дружелюбную подсказку — и используют файловый процесс ниже; сайт магазина поставщика предлагает те же покупки и загрузки из любого браузера с доступом в Интернет.
Установка расширения¶
- Если ещё не сделали, сначала примените лицензию (см. ниже).
- Откройте Админ → Расширения, на вкладке «Магазин» выберите Установить из файла… и загрузите полученный файл
.teax. - Turbo EA проверит подпись и покажет предпросмотр: для расширений с содержимым это пробный прогон всех типов карточек, групп тегов, карточек и связей, которые расширение создаст или обновит — пока ничего не записывается.
- Просмотрите предпросмотр и нажмите Установить расширение.
- Если расширение содержит код бэкенда или интерфейса, баннер попросит перезапустить контейнер бэкенда (
docker compose restart backend). Расширения только с содержимым активируются сразу.
Повторная загрузка того же пакета безопасна — предпросмотр покажет всё как «пропущено», и применение ничего не изменит.
Лицензии и продление¶
Примените лицензию через Ввести лицензию… на вкладке «Установленные» (вставьте текст или загрузите файл) — кнопка также появляется в каждой строке расширения, которому нужна лицензия. Затем страница показывает владельца лицензии и метку для каждого права с датой окончания.
Когда срок права истекает, начинается льготный период (по умолчанию 30 дней): всё продолжает работать, а администраторы видят предупреждение. После льготного периода расширение мягко отключается — его страницы исчезают, API отклоняет запросы, фоновые задачи приостанавливаются. Данные никогда не удаляются. Применение обновлённого файла лицензии мгновенно восстанавливает всё без перезапуска.
Лицензии, купленные через Магазин, продлеваются сами на подключённых экземплярах: после каждой успешной оплаты экземпляр автоматически получает продлённую лицензию — ничего вставлять не нужно. В изолированной среде продление сводится к следующему: вставить обновлённый файл лицензии из письма о продлении (или запросить его у поставщика) — и всё.
Включение, отключение и удаление¶
- Переключатель Включено мягко отключает расширение сразу (без перезапуска) и может быть возвращён в любой момент. Для пакетов содержимого при этом их типы карточек скрываются из метамодели — карточки остаются на месте.
- Удалить убирает файлы расширения и скрывает его типы карточек из метамодели. Карточки и собственные таблицы расширения намеренно сохраняются, и при переустановке всё — включая типы — появляется снова.
Права доступа¶
Вся страница и её API-маршруты защищены отдельным правом admin.manage_extensions (выдано встроенной роли администратора). Расширения могут определять собственные ключи прав (ext.<имя>.…), которые появляются в Администрирование → Пользователи и роли после загрузки расширения.
Расширенные возможности полей¶
Некоторые расширения открывают продвинутые способы описания данных, которых нет в базовой версии:
- Текст справки поля — сворачиваемая подсказка под полем, отображаемая при вводе данных, чтобы форма поясняла себя сама.
- Пользовательские типы полей — новые типы помимо встроенного набора (например, настраиваемая оценка от 1 до 5 или от 0 до 10).
Эти параметры появляются в редакторе полей метамодели только пока установлено и лицензировано расширение, которое их предоставляет. Если такое расширение позже отключить или срок его лицензии истечёт, уже введённые значения продолжат отображаться как обычный текст только для чтения — ничего не очищается и не удаляется — а параметры редактирования просто исчезают, пока расширение снова не станет активным.
Где появляются страницы расширений¶
Страницы расширений появляются в навигации после того, как расширение установлено и лицензировано — обычно как отдельный пункт меню верхнего уровня, хотя некоторые отчёты размещаются в меню Отчёты рядом со встроенными.