# Новые инструменты контента и системы ← [К управлению системой](README.md) Эта страница помогает быстро найти новые возможности AVE.cms и понять, с чего начать. Инструменты ядра доступны сразу. Для исходящих событий, прогрева кеша и A/B-тестов сначала установите соответствующий модуль. ## Краткая карта | Возможность | Где находится | Для чего нужна | | --- | --- | --- | | Справочники | **Рубрики и поля → Справочники** | Общие списки брендов, городов, авторов и других повторяемых значений. | | Связи документов | Редактор документа → **Связи документов** | Показывает прямые и обратные связи между материалами. | | Вычисляемые поля | **Рубрики и поля** → редактор рубрики | Собирает значение из других полей без PHP. | | Наборы полей | **Рубрики и поля → Наборы полей** | Быстро добавляет типовой комплект полей в рубрику. | | Карта сайта | **Публичный сайт → Карта сайта** | Показывает меню, связанные страницы и документы вне меню. | | A/B-тест представлений | **Модули → A/B-тесты** | Сравнивает два оформления одного набора данных. | | Команды и глобальный поиск | Кнопка поиска в шапке или `Ctrl+K` | Открывает разделы и находит объекты панели. | | Аудит действий | **Система → События → Аудит** | Показывает действия сотрудников и технические детали по дням. | | Исходящие события | **Модули → Исходящие события** | Надёжно отправляет webhook внешним сервисам. | | Прогрев кеша | **Модули → Прогрев кеша** | Заранее открывает опубликованные страницы небольшими порциями. | ## 1. Справочники Справочник нужен, когда одно значение используется во многих документах. Например, производителя лучше хранить отдельной записью справочника, а не печатать вручную в каждом товаре. 1. Откройте **Рубрики и поля → Справочники**. 2. Нажмите **Создать справочник**. 3. Настройте его поля как у обычной рубрики. 4. Кнопкой **Добавить значение** создайте бренды, города или другие записи. 5. В рабочей рубрике добавьте поле **Документ из рубрики** и укажите этот справочник источником. Справочник построен на обычных рубриках и документах. Для него работают права, ревизии, поиск и API. Публичный вывод не меняется автоматически. ## 2. Двусторонние связи документов Обычное поле связи по-прежнему хранится в том документе, где его заполнили. Дополнительно AVE.cms строит индекс и может показать обратную сторону связи. 1. Откройте уже сохранённый документ. 2. Перейдите к дополнительным разделам формы. 3. Найдите блок **Связи документов**. 4. В колонке **Этот документ ссылается** находятся выбранные им материалы. 5. В колонке **На этот документ ссылаются** находятся материалы, где выбран текущий документ. Нажатие по строке открывает связанный документ. Второе служебное поле создавать не нужно: обратная сторона вычисляется автоматически. ## 3. Вычисляемые поля Вычисляемое поле подходит для артикула из нескольких частей, полного имени, готового заголовка или простого числового расчёта. 1. Откройте **Рубрики и поля** и редактор нужной рубрики. 2. Добавьте тип **Вычисляемое поле**. 3. Выберите режим **Текст** или **Формула**. 4. Укажите выражение и резервное значение на случай ошибки. Примеры: ```text {{ brand }} {{ model }} (price * quantity) - discount ``` В выражениях используются системные имена полей. Формулы поддерживают числа, скобки и операции `+`, `-`, `*`, `/`. PHP и произвольные функции не выполняются. Поле нельзя править в документе вручную: оно пересчитывается при предпросмотре и сохранении, затем доступно шаблонам, запросам, API и экспорту как обычное готовое значение. ## 4. Библиотека наборов полей Набор помогает не собирать одинаковую структуру рубрики по одному полю. 1. Откройте **Рубрики и поля → Наборы полей**. 2. Найдите подходящий набор. 3. Выберите целевую рубрику. 4. Выберите режим и нажмите **Добавить**. Режим **Копия** создаёт независимые поля. Последующие изменения набора на них не влияют. Режим **Связанный** запоминает источник и позволяет явно синхронизировать обновления. Существующие alias не перезаписываются молча, а недоступные типы полей показываются до применения. Набор также можно выбрать непосредственно в конструкторе полей рубрики. ## 5. Визуальная карта сайта Откройте **Публичный сайт → Карта сайта**. Здесь показаны: - зарегистрированные меню и их уровни; - документы, к которым ведут пункты; - произвольные ссылки; - опубликованные документы, не включённые ни в одно меню. Поиск помогает найти страницу по названию или URL. Нажатие по узлу ведёт в штатный редактор документа или навигации. Карта предназначена для проверки структуры и ничего не меняет сама. ## 6. A/B-проверка представлений Для этой возможности нужен установленный и включённый модуль **A/B-тесты**. Представления должны быть заранее созданы и опубликованы в разделе **Публичный сайт → Представления**. 1. Откройте **Модули → A/B-тесты**. 2. Создайте эксперимент. 3. В поле **Цель** выберите **Представление по коду контекста**. 4. Укажите код места вывода. 5. Добавьте минимум два варианта. 6. Для контрольного варианта оставьте **Контрольное представление**. 7. Для второго выберите опубликованное представление. 8. Сначала сохраните эксперимент как черновик, проверьте варианты и только затем переведите его в состояние **Запущен**. Эксперимент меняет только оформление. Запрос, рубрика и набор данных остаются теми же. Один посетитель стабильно видит один вариант. Если эксперимент выключен или представление недоступно, используется обычное назначение. Подробнее: [представления](../content/presentations.md) и [A/B-тесты](../modules/experiments.md). ## 7. Командная палитра и глобальный поиск Открыть палитру можно двумя способами: - нажать кнопку поиска в верхней панели; - нажать `Ctrl+K`, а на macOS — `Cmd+K`. Пока строка пустая, палитра показывает доступные разделы панели. После ввода двух символов начинается глобальный поиск по документам, рубрикам, справочникам, блокам, запросам и навигациям. Можно искать по названию, URL и ID. Управление с клавиатуры: - `↑` и `↓` — выбрать результат; - `Enter` — открыть; - `Esc` — закрыть; - повторный `Ctrl+K` или `Cmd+K` — закрыть палитру. Поиск учитывает права текущего сотрудника и не выполняет сохранение или другие изменения. ## 8. Аудит действий Откройте **Система → События → Аудит**. Здесь видно, кто и когда выполнил действие, а также какого объекта оно касалось. Записи разделены по дням. Технические данные раскрываются кнопкой в конце строки. Аудит можно искать, экспортировать в CSV и очищать при наличии права управления событиями. После очистки система оставляет одну запись о самой операции. ## 9. Надёжные исходящие события Для этой возможности установите модуль **Исходящие события**, затем откройте **Модули → Исходящие события**. 1. Нажмите **Добавить подписку**. 2. Укажите название получателя и его HTTPS URL. 3. Введите точное событие, например `content.document.published`, или маску `content.document.*`. 4. Укажите таймаут, число попыток и секрет подписи. 5. Сохраните и включите подписку. 6. В Планировщике включите задачи модуля для автоматической доставки. Событие сначала сохраняется в БД, а HTTP-запрос выполняется отдельно. Поэтому недоступная CRM, Telegram-мост или другой сервис не мешает сохранить документ. Вкладки **Очередь** и **Попытки доставки** показывают результат, а остановленное событие можно вернуть на повтор. Подробнее: [надёжные исходящие события](../modules/reliable-events.md). ## 10. Автоматический прогрев кеша Для этой возможности установите модуль **Прогрев кеша**, затем откройте **Модули → Прогрев кеша**. 1. Во вкладке **Настройки** укажите канонический HTTPS URL сайта. 2. Выберите небольшое число URL за запуск, обычно `10–15`. 3. Включите добавление опубликованных документов. 4. Нажмите **Собрать все URL**. 5. Для проверки нажмите **Прогреть сейчас**. 6. В Планировщике включите задачи модуля. После сохранения опубликованного документа его адрес добавляется в очередь. После полного сброса кеша модуль запрашивает новый план. Публичные страницы открываются небольшими пачками, поэтому прогрев не создаёт резкий пик нагрузки. Статус, HTTP-код, время ответа и ошибки видны в очереди. Подробнее: [автоматический прогрев кеша](../modules/cache-warmup.md). ## Что изменится на публичном сайте Справочники, наборы полей, карта сайта, поиск панели и аудит действий сами по себе не меняют публичный HTML. Вычисляемое поле начнёт влиять на сайт только после вставки его значения в шаблон или условие. Представление изменит вывод только после публикации, назначения и запуска эксперимента. Исходящие события и прогрев работают в фоне и не заменяют публичные шаблоны.