Перейти к содержимому

Шаблоны

Шаблон (Template) — это определение схемы в Omnismith. Он объединяет набор Атрибутов в многоразовый чертеж, определяющий, как Сущности (записи данных) создаются, валидируются, ищутся и визуализируются.

Представьте Шаблон как дизайн цифрового бланка: однажды спроектировав его, вы можете создавать десятки, тысячи или миллионы соответствующих ему записей.


Шаблон состоит из двух основных областей настройки:

  1. Основная информация:
    • Название: Понятный заголовок шаблона (например, Заявка в поддержку, Серверный узел, Профиль клиента).
    • Слаг (Опционально): Уникальный в рамках проекта строковый идентификатор (например, server_node, support_ticket), позволяющий детерминированно создавать сущности в API без предварительного поиска UUID шаблона.
    • Описание: Необязательные операционные заметки с пояснением хранимых данных.
    • Визуальное оформление: Кастомизация иконки и цвета для быстрой идентификации в UI.
  2. Состав атрибутов:
    • Список прикрепленных Атрибутов (Измерения, Метрики, Списки, Ссылки), формирующих поля записей этого шаблона.
    • Изменение порядка полей для кастомизации формы ввода.

2. Пошаговое руководство: Создание Шаблона

Заголовок раздела «2. Пошаговое руководство: Создание Шаблона»
  1. Перейдите в Моделирование данных → Шаблоны в боковом меню.
  2. Нажмите + Создать шаблон.
  3. Вкладка Основные данные:
    • Введите Название (например, Серверный узел).
    • Укажите опциональный Слаг (например, server_node).
    • Укажите описание и иконку.
  4. Вкладка Атрибуты:
    • Нажмите + Прикрепить атрибут.
    • Выберите атрибуты из библиотеки проекта (например, Hostname, Environment, Status, CPU Usage, Latency).
    • Измените порядок полей перетаскиванием.
  5. Нажмите Сохранить изменения.

Экран параметров шаблона с вкладками Основные и Атрибуты


3. Слаги шаблонов и детерминированные рабочие процессы API

Заголовок раздела «3. Слаги шаблонов и детерминированные рабочие процессы API»

Шаблоны поддерживают строковые слаги (template_slug), уникальные в рамках проекта:

  • Загрузка данных без поиска ID: Внешние конвейеры могут создавать записи напрямую, передавая template_slug: "server_node" и слаги атрибутов, исключая промежуточные запросы для поиска UUID.
  • Согласованность между окружениями: Разворачивайте схемы между средами разработки, тестирования и продакшна детерминированно с использованием статических конфигураций и одинаковых слагов.

4. Группы атрибутов шаблона (Секции форм и макеты)

Заголовок раздела «4. Группы атрибутов шаблона (Секции форм и макеты)»

Шаблоны позволяют организовывать прикрепленные атрибуты в структурированные визуальные Группы атрибутов (Секции) для формирования удобных и аккуратных форм:

  • Именованные секции: Группируйте связанные поля в логические блоки (например, Основная информация, Спецификации оборудования, Сетевая конфигурация, Операционный статус).
  • Настройка заголовков: Задавайте для каждой группы понятное Название, Описание и Иконку.
  • Адаптивная сетка на 1 или 2 колонки: Выбирайте между одноколоночным отображением на всю ширину (columns: 1) или компактным двухколоночным расположением полей (columns: 2).
  • Организация через Drag-and-Drop:
    • Перетаскивайте атрибуты между группами или перемещайте их в секцию Несгруппированные атрибуты.
    • Перетаскивайте контейнеры групп для изменения порядка секций в итоговой форме.
  • Отображение в карточке сущности: При просмотре или редактировании сущности (SH-020.png) поля аккуратно группируются по созданным блокам с учетом выбранного числа колонок и иконок.
{
"name": "Серверный узел",
"slug": "server_node",
"groups": [
{
"name": "Идентификация системы",
"description": "Параметры хоста и среды окружения",
"icon": "dns",
"columns": 2,
"attribute_ids": ["019fe205-c125-735b-98bd-86851e8baf15"]
},
{
"name": "Телеметрия производительности",
"description": "Метрики в реальном времени и индикаторы состояния",
"icon": "speed",
"columns": 2,
"attribute_ids": ["019fe206-e9d6-7349-b628-f9e9474622a2"]
}
]
}

5. Динамическая эволюция схем (Обновления без простоя)

Заголовок раздела «5. Динамическая эволюция схем (Обновления без простоя)»

Одно из главных преимуществ Omnismith — гибкость схемы во время выполнения (runtime):

  • Добавление полей: Прикрепите новый атрибут к существующему шаблону в любое время. Все существующие сущности шаблона мгновенно получат доступ к новому полю без применения миграций БД.
  • Удаление полей: Открепите атрибут от шаблона, чтобы скрыть его из форм и таблиц поиска без уничтожения исторического журнала метрик.
  • Реструктуризация групп: Изменяйте заголовки секций, сетку колонок или состав групп во время работы без влияния на сохраненные значения сущностей.
  • Без простоя: Изменения вступают в силу мгновенно в UI, API и на дашбордах.