SIMAI Framework 4 (SF4) в проекте удобнее всего воспринимать как два слоя: платформа и решение. Платформа — это модуль simai.framework, который даёт ядро, компоненты, мастер (wizard), загрузчик ассетов и общие механики сборки страниц. Решение — это конкретный продукт/сайт, который использует платформу и добавляет свои данные, представления, блоки, настройки и сценарии установки.
Такое разделение не “теоретическое”: оно напрямую влияет на то, как вы обновляете проекты, где держите правки и что можно безопасно менять без риска поломок после обновления SF4.
Что относится к платформе simai.framework, а что — к модулю/решению
Платформа 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, архивы данных/инфоблоков и т.д.).
Если упростить: платформа даёт механизмы, а решение даёт конфигурацию и контент, используя эти механизмы.
Какие артефакты считаются “системными” и не правятся в проекте
К системным артефактам относятся те части, которые должны обновляться вместе с платформой и оставаться “источником истины” для SF4. Их обычно не меняют в проектах, потому что это почти всегда создаёт проблемы при обновлениях:
- содержимое ядра
/simai(как платформенной директории); - системные компоненты и их базовая логика;
- системный шаблон
/bitrix/templates/simai.frameworkкак поставляемая база; - платформенные действия мастера (те, на которых строятся сценарии установки решений).
Практический критерий простой: если правка должна пережить обновление платформы и не конфликтовать с ним — значит, она не должна жить в системном слое.
Какие артефакты считаются “проектными” и живут в слое сайта
Проектные артефакты — это всё, что относится к конкретному сайту и должно быть управляемо в рамках проекта:
{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 и одновременно развивать проекты, не “разворачивая” правки в ядро.