Joomla-разработчикам: что будет с расширениями на Joomla 3 MVC в Joomla 5 и 6?

В международном чате Joomla-сообщества в Mattermost идёт обсуждение статьи команды JoomlaShack "Мысли о миграциях Joomla и Joomla 5".

Вступление

В статье говорится о том, что в истории развития Joomla было уже 4 крупных миграции кодовой базы. Эти миграции вызваны тем, что новая версия CMS претерпевает такие изменения, что код расширений во многом оказывается не совместим и требует переписывания но новую систему классов или файловую структуру. Такие изменения "под капотом" напрямую не видны пользователям, нередко очень трудоёмки. Разработчики расширений вынуждены выбирать между тем, что обновлять кодовую базу расширения ради совместимости с новой версией CMS или направлять усилия на развитие продукта - внедрять новый функционал, улучшать старый, исправлять ошибки.

Стив из Joomlashack рассказал, что самые простые свои расширения они адаптировали для Joomla 4 за несколько часов (каждое). Расширение средней сложности обновлялось от 3 до 4 месяцев. В то время как обновление "тяжёлых" компонентов занимает около года. При этом у одного разработчика (как Ян Павелка, Phoca.cz) или команды (те же JoomlaShack; MAXXmarketing - JoomShopping; Virtuemart) может быть несколько десятков, даже больше сотни расширений. От "тяжелых" компонентов зависит также и сложившаяся вокруг них экосистема расширений сторонних разработчиков.

Посыл статьи в целом таков: "Мы давно с Joomla. Мы любим Joomla. Но ещё одной такой миграции мы не выдержим. Скоро Joomla 5 и мы нервничаем."

Что будет меняться в Joomla 5 и Joomla 6

В сентябре 2022 на хабре был опубликован скорректированный план выпуска релизов Joomla 4 и Joomla 5. В нём говорится о том, что переход с одной мажорной версии на другую (Joomla 4 -> Joomla 5, Joomla 5 -> Joomla 6) будет максимально сглажен:

- Joomla 5 не будет включать в себя критические изменения для шаблонов и сторонних расширений.

- Не будет удален код, который был помечен как устаревший в Joomla 4.

- Joomla 5 будет иметь минимальную версию PHP 8.1.

- Компоненты, которые работают в Joomla 4, также должны работать в Joomla 5, если они поддерживают PHP 8.1.

- Joomla 5 выйдет в октябре 2023 года. Из-за вышеперечисленных моментов это не будет большим и болезненным обновлением, как в прошлых выпусках.

- Минорные релизы (4.1 -> 4.2 -> 4.3 etc) продолжат выходить раз в 6 месяцев. Все релизы будут перенесены на апрель и октябрь, начиная с выпуска версии 4.3 в апреле 2023 года.

Joomla 6

Сообщалось, что в Joomla 5 классы, обеспечивающие обратную совместимость для расширений будут вынесены в отдельный плагин. Таким образом в Joomla 5 продолжат работу расширения написанные для Joomla 3. Но это в целом отодвигает проблему на пару лет в будущее. Поэтому разработчики расширений задают вопросы о том, будет ли сохранена поддержка старой файловой структуры расширений вида

views/view/view.html.php -> views/view/tmpl/default...

На что представитель Production Department ответил, что:

"строго рекомендуется начать использовать новую структуру расширений для Joomla, но я так же не вижу причин для удаления поддержки старой структуры расширений".

В Joomla 6 предполагается перевести class mapping со старых имён вида JModelAdmin и т.д. в новые namespaced classes.

Hannes Papenberg: "У нас нет интереса ломать что-то просто ради удовольствия. Для этого должна быть причина, а ее нет. Аналогично и с классами MVC. В какой-то момент мы могли бы создать второй набор классов MVC, которые каким-то образом лучше того, что у нас есть в настоящее время, но даже если бы мы это сделали, классы работали бы параллельно. Эти классы не появятся в версии 5.0, а старый хлам не будет удален до Joomla 8.0, если вообще будут удалён."

Joomla!® CMS — пожалуй, лучшая система управления контентом с открытым исходным кодом

Логотип Joomla

Joomla! — это больше, чем просто программное обеспечение, это люди, включающие разработчиков, дизайнеров, системных администраторов, переводчиков, копирайтеров, и, что самое главное — простых пользователей.

Мы рады пригласить вас в ряды нашего сообщества!

Свернуть

Коротко о главном в Joomla

Новости портала

Новое в блогах

Видео

Форум о Joomla