Kiến trúc hiện tại của dự án kilfor.ru
kilfor.ru уже удалось немного лучше разобрать с технической стороны, и первые находки выглядят обнадёживающе для предстоящей модернизации.
Во-первых, текущий проект уже упакован в Docker. Это значит, что существующая система работает в воспроизводимом окружении и её не нужно сначала спасать от неизвестной конфигурации сервера, прежде чем начинать работу с новым frontend. Для старого проекта с большой внутренней логикой это заметно снижает операционный риск.
Во-вторых, MODX-часть проекта построена не как обычный сайт на связке шаблонов, чанков и сниппетов. В основе используются собственные компоненты Николая Fi1osof, которые изначально разделяли представление, прикладную логику и отладку.
modxSmarty отвечает за presentation layer и позволял строить frontend на Smarty, не привязывая весь интерфейс к стандартному MODX-парсеру.
modxSite использовался как основной логический и API-слой проекта. Значимая часть операций строилась вокруг processors и xPDO, то есть могла вызываться независимо от конкретного шаблона и интерфейса.
Console даёт возможность прямо внутри авторизованного MODX Manager выполнять PHP-код, проверять processors, смотреть фактические ответы и исследовать поведение существующей системы в её родном runtime.
Именно сочетание этих трёх компонентов сейчас особенно интересно. Если реальный код Kilfor действительно последовательно придерживается этой архитектуры, новый frontend не придётся строить поверх хаотично связанной смеси шаблонов и бизнес-логики. Старый Smarty-интерфейс можно будет просто заменить новым, а существующие processors использовать как основу для взаимодействия с backend.
Пока это не утверждение, а рабочая гипотеза.
Наша текущая теория состоит в том, что правильно заложенная архитектура в далёком прошлом может стать ключом к более простому и менее рискованному обновлению в будущем. Kilfor даёт редкую возможность проверить эту идею не на учебном примере, а на системе, которая реально работает много лет и содержит значимый объём прикладной логики.
Практическая проверка будет очень простой по смыслу: насколько легко новый frontend сможет использовать существующие backend-операции без необходимости переписывать их заново. Если processors окажутся действительно хорошо отделены от старого presentation layer, это подтвердит, что архитектурные решения, принятые больше десяти лет назад, сегодня напрямую уменьшают стоимость и риск модернизации.
Если же в реальном коде окажется, что часть логики всё-таки сильно связана со Smarty-шаблонами, сниппетами или другими слоями старого frontend, это тоже будет важным результатом. Тогда станет понятно, где именно историческая архитектура выдержала проверку временем, а где потребует дополнительного разделения.
Этот концепт будет обновляться по мере технического разбора проекта и проверки гипотезы на практике.
Общая картина и текущее состояние проекта ведутся в концепте Kilfor — модернизация legacy MODX-проекта.