К содержанию

Навигация

Снимки и кеш

Эта глава описывает снимок входов, с которым идёт сборка, и перечень зависимостей, по которому продукт строит кеш.

Снимок входов

Перед сборкой продукт проверяет права и передаёт снимок входов (simai.composition.inputs). Каждое значение в нём приходит в оболочке: вид, само значение, его отпечаток и происхождение (область сайта, владелец, имя, ревизия).

Framework сверяет вид, схему, область, происхождение и пересчитанный отпечаток. Отпечаток удостоверяет только то, что значение не изменилось по дороге; что источник подлинный и доступ разрешён, удостоверяет продукт.

Правила снимка:

  • снимок фиксируется на всю сборку: одна страница не смешает старый шаблон с новым содержимым;
  • один вход читается один раз; повторные обращения используют то же значение;
  • отказ доступа — ошибка (access_denied), а не отсутствующее значение. Значение по умолчанию не скрывает отказ или повреждение источника.

Область сайта (scope) Framework получает от доверенного контекста продукта, а не из Recipe.

Перечень зависимостей и кеш

Результат сборки — не только Document, но и перечень зависимостей (simai.composition.dependencies), то есть список зависимостей для кеша. В нём только то, что действительно участвовало в результате:

  • прочитанные шаблоны и фрагменты с ревизией и отпечатком;
  • использованные входы и способ их получения: передан или взят по умолчанию;
  • отпечаток готового Document;
  • отпечатки исполнения: контракта, реестра типов и рендерера.

При краткой шапке результат зависит от шаблона статьи, фрагмента header.compact, настройки headerMode и текста статьи. Фрагмент header.expanded в перечень не входит — его изменение страницу не затрагивает. Повторное обращение к одному входу внутри сборки использует уже прочитанное значение.

Фрагмент перечня для краткой шапки:

JSON
{
  "references": [
    {"kind": "template", "ref": "article", "revision": "r1"},
    {"kind": "fragment", "ref": "header.compact", "revision": "r1"}
  ],
  "inputs": [
    {"name": "headerMode", "resolution": "provided"},
    {"name": "body", "resolution": "provided"}
  ]
}

Полный перечень с отпечатками — в ожидаемых результатах проверяемого JSON.

Если вход отсутствовал и взят по умолчанию, перечень всё равно называет отсутствующий источник: так продукт узнает, когда этот источник появится.

Ключ кеша продукта учитывает отпечаток Document и отпечатки исполнения. Framework сообщает зависимости; решение о хранении, сроке жизни и активации кеша принимает продукт.

Поиск по документации

Введите минимум 2 символа

    Настройки

    Тема
    Размер шрифта
    Ширина страницы