Что нас ждет в Joomla! 3.5+

Вчера в группах Google появилась интересная переписка по поводу дальнейшего видения релизов Joomla. В ней Roberto Segura (ответственный за релиз Joomla! 3.5) поделился мыслями PLT по поводу того, что должно быть в следующем релизе CMS.

Главное направление – единая система рендеринга всего, что есть в CMS: представлений, модулей, плагинов и полей. Подробнее под катом.

Ниже представлена выжимка-перевод его поста.

В общем виде цель следующая – сделать всё в CMS переопределяемым. И, если возможно, использовать единую систему рендеринга. Самая главная проблема (впрочем, как обычно) обратная совместимость. Изначально была идея использовать существующий класс JLayout с некоторыми улучшениями (что неудивительно, так как его разработал Roberto Segura), но при этом дать возможность использовать свой рендерер.

Здесь есть две проблемы:
- сейчас макеты не получают одинаковые данные. В идеале нужно было использовать массивы, но в основном в представлениях вместо массива в макет передается объект представления, и уже внутри макета используются его функции;
- заставить существующие переопределения работать с любой системой рендеринга, которую будет использовать CMS (разработчики).

Варианты решения:
- найти возможность сделать JLayout обратно совместимым с текущими переопределениями;
- проверять, существует ли переопределение для текущего представления. Если да, то использовать текущую систему рендеринга. Если нет, то переключиться на новую систему рендеринга.

Если текущая система рендеринга будет меняться, то можно было бы использовать систему рендеринга с более правильной архитектурой на основе интерфейсов, что даст возможность разработчикам использовать такие системы как Twig, Blade и им подобные.

Как только это будет решено, Роберто предлагает создать множество маленьких задач типа "Переделать поле в Layout", " Переделать модуль в Layout", и т.п. И тогда любой, без вникания в суть концепции, сможет внести свой вклад в Joomla, выполнив такое маленькое задание.

Роберто видит это следующим образом:
1. Подготовить и протестировать систему рендеринга.
2. Смигрировать одну из частей CMS на новый рендерер, и использовать её в качестве примера.
3. Создать документацию о том, как работает новая система рендеринга и как её правильно использовать.
4. Создать маленькие задачи.
5. Привлечь пользователей для решения этих задач.

На шаге 4 Роберто предлагает "отключиться" от активной разработки и рассмотреть другие задачи, которые пользователи хотели бы видеть в Joomla! 3.5, такие как:

- Новая система роутинга
- Новый медиа менеджер
- CCK в ядре

На этом пока всё. В целом, мне идея нравится. Хочу заметить, что Roberto Segura толковый разработчик, и мне кажется, что ему удастся довести задуманное до логического завершения.

Если кто-то желает почитать всю переписку, то вам сюда.

Подпишитесь на рассылку новостей CMScafe