home chevron_right
Платформа SF4 и решение: границы ответственности

SIMAI Framework 4 (SF4) в проекте удобнее всего воспринимать как два слоя: платформа и решение. Платформа — это модуль simai.framework, который даёт ядро, компоненты, мастер (wizard), загрузчик ассетов и общие механики сборки страниц. Решение — это конкретный продукт/сайт, который использует платформу и добавляет свои данные, представления, блоки, настройки и сценарии установки.

Такое разделение не “теоретическое”: оно напрямую влияет на то, как вы обновляете проекты, где держите правки и что можно безопасно менять без риска поломок после обновления SF4.

Что относится к платформе simai.framework, а что — к модулю/решениюlink

Платформа SF4 (simai.framework) — это то, что обеспечивает базовую работоспособность и единый подход:

  • ядро /simai (служебные файлы, конфиги, инфраструктура);
  • стандартные компоненты SF4 (включая simai:sf.grid и simai:sf.wizard);
  • механизм мастера: набор “действий” и инфраструктура выполнения сценариев;
  • системные ассеты и правила их подключения через загрузчик SF4;
  • системный шаблон /bitrix/templates/simai.framework (как базовый каркас фронтенда SF4).

Решение/проект — это то, что отвечает за “как выглядит и чем наполнен конкретный сайт”:

  • слой данных {site_dir}/simai.data (представления областей, блоки, проектные ресурсы, локальные конфиги);
  • значения настроек сайта {site_dir}/simai.data/.site.property.php;
  • значения настроек разделов и страниц .property.php в директориях сайта (например /ru/.property.php);
  • сценарий установки решения через мастер (конфиги .wizard.config.php, .property.config.php, архивы данных/инфоблоков и т.д.).

Если упростить: платформа даёт механизмы, а решение даёт конфигурацию и контент, используя эти механизмы.

Какие артефакты считаются “системными” и не правятся в проектеlink

К системным артефактам относятся те части, которые должны обновляться вместе с платформой и оставаться “источником истины” для SF4. Их обычно не меняют в проектах, потому что это почти всегда создаёт проблемы при обновлениях:

  • содержимое ядра /simai (как платформенной директории);
  • системные компоненты и их базовая логика;
  • системный шаблон /bitrix/templates/simai.framework как поставляемая база;
  • платформенные действия мастера (те, на которых строятся сценарии установки решений).

Практический критерий простой: если правка должна пережить обновление платформы и не конфликтовать с ним — значит, она не должна жить в системном слое.

Какие артефакты считаются “проектными” и живут в слое сайтаlink

Проектные артефакты — это всё, что относится к конкретному сайту и должно быть управляемо в рамках проекта:

  • {site_dir}/simai.data/grid/view/... — представления областей (VIEW) как сохранённые конфигурации (папки с template.php и .description.php);
  • {site_dir}/simai.data/grid/block/... — блоки и их шаблоны, которые используются внутри представлений;
  • {site_dir}/simai.data/template/... — проектные стили/скрипты и шаблонные переопределения;
  • {site_dir}/simai.data/.site.property.php — глобальные настройки сайта, включая выбор активных представлений областей через grid_view_*;
  • .property.php в разделах сайта — настройки разделов и страниц, которые переопределяют значения сайта и дают нужное наследование;
  • файлы мастера решения и артефакты импорта (архивы инфоблоков/данных), которые используются при установке именно этого решения.

В результате рабочий подход для разработчика решения выглядит так: всё, что вы делаете для конкретного сайта — делайте через проектные артефакты, а платформенный слой используйте как стабильную основу. Это позволяет безболезненно обновлять SF4 и одновременно развивать проекты, не “разворачивая” правки в ядро.