Планы по развитию CMS Joomla - Веб-студия WebTend г. Екатеринбург

Блог веб-студии WebTend. Блог веб-мастера Алексея Блохина. Публикации, статьи

Планы по развитию CMS Joomla - Веб-студия WebTend г. Екатеринбург

Планы по развитию CMS Joomla

Стали известны планы Joomla Production Department по развитию CMS Joomla. Это всегда интересно для тех кто любит и использует эту популярную CMS.

Joomla Production Department публикует результаты обсуждений, вызванных в свою очередь дискуссией о Joomla 5 на GitHub. Первоисточник на английском.

Кратко

Мы получили обратную связь от Joomla сообщества и приняли некоторые решения относительно выпуска Joomla 5 и цикла выпуска в целом.

Если Вы не хотите читать дальше, то это то, что Вам точно нужно знать:

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

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

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

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

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

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

Причины принятия данных решений

Вступление

Последние несколько недель на GitHub шла активная дискуссия, вызванная статьёй  Joomla 5 announcement Joomla! 5.0 Bold in one year - But can WE do it?, в которой задавался вопрос: "Можно ли выпустить Joomla 5 за 1 год?"

Статья была написана так, чтобы поднять интерес и получить обратную связь, и Joomla Production Department ценит этот живой обмен идеями, пожеланиями и отзывами. Сотрудники Production Department приняли участие в обсуждении по нескольким каналам, чтобы услышать личное мнение и лучше понять, как, по мнению людей, Joomla 5 повлияет на их мир.

Среди высказанных мнений мы выделили несколько предложений и приняли много решений (опираясь на полученные мнения) за последние несколько дней относительно будущего Joomla 5.

Мы определили два самых больших страха Joomla-сообщества, которые необходимо преодолеть. Оба требуют времени и денег:

  • Страх первый: обновление до Joomla 5 снова будет болезненной миграцией (а затем снова до 6 и т.д.)

  • Страх второй: расширения, работающие на Joomla 4, снова несовместимы с Joomla 5

Были высказаны и другие опасения, такие как:

  • Код, помеченный как устаревший, не содержит рекомендаций, подсказывающих разработчикам, что использовать вместо устаревших методов.

  • Нынешний график выпуска релизов является деструктивным для наших волонтёров и сообщества, особенно в летний период в обоих полушариях. В мажорном релизе должно быть что-то стоящее прикладываемых усилий.

  • Использование функционала ядра (например, переопределения макетов) не должно наказывать разработчиков при переходе на новые версии Joomla, заставляя их перестраивать свои десятки и сотни переопределений.

  • Временные рамки выпусков слишком жёсткие

В результате обсуждения Production Department принял несколько решений.

Циклы выпуска

  • Мы будем придерживаться 6-месячного цикла выпуска для небольших релизов. Причина в том, чтобы защитить менеджеров по выпуску от выгорания, поскольку релиз - это большая работа. Они (менеджеры) начинают работать за 6 месяцев до, а затем работают еще 6 месяцев после релиза. Наличие фиксированных месяцев помогает каждому планировать свою занятость и ресурсы.

  • Мажорные версии Joomla будут выходить раз в два года. Таким образом, Joomla 5 будет выпущена в 2023 году, Joomla 6 - в 2025 году и так далее. Причина заключается в том, чтобы сделать разницу между релизами как можно меньше, а переход с мажорной на мажорную версию более гладким, чтобы избежать болезненных, серьезных обновлений, как в прошлом.

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

Четвертая минорная версия каждого жизненного цикла (например, 4.4, 5.4, 6.4) является “контрольной версией”, где основное внимание уделяется доработке средства проверки обновлений, устранению оставшихся ошибок и созданию стабильного продукта в качестве основы для предстоящей основной версии.

Мы работаем над тем, чтобы обеспечить плавный и беспрепятственный путь обновления. Многие из тех, кто участвует в принятии решений, сами являются разработчиками веб-сайтов, поэтому понимают, с чем это связано. Более длительные временные рамки означают более резкие изменения, а более короткие временные рамки приводят к более плавным переходам. Цель Production Department - создать плавный процесс и предоставить разработчикам и веб-студиям больше контроля над тем, когда они вносят изменения.

Новые месяцы выпуска

  • Мажорные версии будут выпущены в течение двухлетнего цикла - Joomla 5 в 2023 году, Joomla 6 в 2025 году и т.д. Это сократит количество шагов, необходимых при обновлении до новой основной версии.

  • Минорные версии будут по-прежнему выпускаться раз в 6 месяцев. Это предотвращает ”выгорание" менеджера релизов и обеспечивает надежную дату выпуска.

  • Время для релизов смещено на апрель и октябрь для того, чтобы избежать летних каникул в обоих полушариях (прямой результат полученной обратной связи).

Устаревший код (deprecations)

Вкратце:

Мы не будем удалять устаревшие MVC framework, plugin framework, module framework и класс Factory. Это означает, что компоненты, работающие в Joomla 4, также должны работать с Joomla 5 (с требованием, чтобы они поддерживали PHP 8.1).

Подробно:

Production Department принял решение о том, что все устаревшие методы могут быть удалены, самое раннее, + 2 основные версии после того, как они будут объявлены устаревшими. Это означает, что если код объявлен устаревшим в версии 4.x, то самое раннее, что он может быть удален, - это Joomla 6. Это положение касается (кроме прочих):

  • Legacy MVC Framework

  • Legacy Plugin Framework

  • Legacy Module Framework

  • Factory

и позволяет как можно быстрее удалить устаревший код в 2025 году.

Вместо того, чтобы продлевать цикл выпуска Joomla 5 до 3 лет, мы даем сторонним разработчикам в общей сложности как минимум 4 года на обновление своего расширения. Это также уменьшает необходимость поддержки трех версий расширения.

Помните, что “самое раннее” не означает, что устаревший код будет удален в это время, это просто открывает такую возможность.

Мы начали комментировать и уточнять устаревшие методы в этом pull request, который будет обновлен в ближайшие пару дней.

Версия PHP

Для Joomla 5 потребуется минимальная версия PHP 8.1.

Когда Joomla 5 будет выпущена, срок поддержки PHP 7.4 истечет (EOL), он не будет получать обновления безопасности или исправления ошибок (см. версии PHP).

Если ваш хостинг не поддерживает 8.1 на момент выпуска Joomla 5, вы можете либо сменить хостинг, либо продолжать использовать Joomla 4 еще два года.

PHP 8.1 предлагает, среди других новых функций, возможность “параллельного” выполнения частей кода, что может привести к значительному увеличению производительности. Переход на PHP 8.1 для Joomla 5 позволяет нам писать код, который использует эту функцию, и даже если мы не успеем начать использовать это в версии 5.0, это требование открывает для нас возможность использования его в минорной версии в дальнейшем, ускоряя работу CMS и позволяя разработчикам расширений использовать плюшки актуальных версий PHP.

Версии SQL

Joomla 5 будет поддерживать MySQL 8.0.11+, MariaDB 10.4+ and PostgreSQL 12+.

Мы разделим драйверы баз данных для MySQL и MariaDB, поскольку две системы становятся все более и более удаленными друг от друга. Отдельные драйверы позволяют нам наилучшим образом поддерживать соответствующие СУБД.

Как разработчики, вы можете продолжать использовать файл MySQL до тех пор, пока используете только функции, поддерживаемые обоими драйверами. Если вам нужны функции, специфичные для MariaDB, вы можете предоставить отдельный файл для MariaDB.

Оптимизация

PHP 8.1 позволяет нам выполнять операции ввода-вывода (чтения и записи) асинхронно, т.е. работать в фоновом режиме. Эта возможность будет доступна для расширений Joomla 5.

Современные системы баз данных обеспечивают рекурсивные запросы. Это позволит заменить nested sets. Nested sets используются для контроля доступа, категорий и т.д., Но, хотя они очень быстры при чтении, их запись занимает очень много времени. Для сайтов с тысячами статей в категориях или пользователей в группах пользователей это иногда приводит к проблемам с производительностью. Поэтому в Joomla 5 nested sets будут заменены рекурсивными запросами.

Плагин совместимости (Early adopters)

Устаревший код устарел по какой-то причине; в большинстве случаев существует лучший, более быстрый и удобный код, который повышает эффективность вашего сайта. Поддержка устаревшего кода в течение длительного периода времени является негативным фактором для владельцев веб-сайтов, желающих использовать только современный код (или только ядро). Для них устаревший код - это обуза. Как мы можем им помочь?

Задача состоит в том, чтобы переместить как можно больше устаревшего кода в системный плагин, который включен по умолчанию при обновлении. Эта идея была впервые использована еще в Joomla 1.0 и сработала. Благодаря использованию пространств имен, эту идею можно сделать еще более мощной, чтобы вернуть власть владельцу сайта. Владельцы сайтов, которые знают, что их расширения не используют этот код, могут отключить плагин и воспользоваться улучшенной производительностью и более чистым кодом.

Например, мы переместим псевдонимы классов, такие как JDatabase (которые существуют только виртуально), в этот системный плагин.

У этого плагина есть некоторые правила относительно того, когда он может быть изменен:

  • Плагин содержит только устаревший код из предыдущей основной версии

  • Он может быть обновлен только после выпуска новой основной версии

Таким образом, в Joomla 5 плагин будет содержать весь возможный устаревший код Joomla 4, но не устаревший код Joomla 5.

Когда мы выпустим Joomla 6, мы удалим весь устаревший код Joomla 4 из плагина (и, если он останется) из ядра. Затем мы могли бы также перенести весь возможный устаревший код из ядра Joomla 5 в этот плагин. При обновлении до Joomla 6 плагин будет активирован снова, чтобы обеспечить плавное обновление.

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

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

Документация

Одним из важных вопросов для Joomla является документация. Нам нужна подробная документация. Production Team не справится с этим в одиночку. Здесь мы можем руководить и предоставлять ресурсы, но мы полностью зависим от помощи сообщества, чтобы довести дело до конца.

  • Мы начали новый проект: manual.joomla.org который мы планируем заполнить подробной практической документацией разработчика для разработки расширений. В этом году мы планируем провести спринты сообщества, в которых каждый может принять участие, чтобы узнать о новой документации и помочь наполнить ее контентом. Мы будем держать вас в курсе событий.

  • Production Team приняла решение о том, что отныне новые функции могут быть объединены только при наличии письменной документации для разработчиков (manual.joomla.org ) и конечных пользователей (docs.joomla.org ).

  • Код может быть отмечен устаревшим только в том случае, если руководство по миграции опубликовано на manual.joomla.org . Это позволит любому заинтересованному лицу отслеживать устаревшие методы, подписавшись на репозиторий документации. Можно предоставить обратную связь до того, как работа по разметке устаревшего кода будет окончательно произведена.

С принятием новых положений о том, что в документации необходимы руководства по миграции как при добавлении новых методов, так и при устаревании кода, также оказывается поддержка в том, чтобы помочь разработчикам написать свою документацию. Даже если английский не является вашим родным языком или если написание текстов не является вашей сильной стороной, вы все равно можете внести свой вклад в код и получить помощь в написании документов от “Приятеля по документации” (Documentation Buddy). Помощник по документации подскажет вам источники для написания вашей документации или будет держать руку на пульсе, дабы помочь вам написать вашу документацию.

Найти специалиста по документации можно здесь.

Вы мастер пера и слова, но не умеете программировать и могли бы стать помощником по документации? Тогда Вам сюда.

Разработчики, помощники по документации и сообщество в целом получат выгоду от увеличения количества и качества документации на протяжении всего процесса разработки. Это поможет всем понять, оценить и использовать новые функции, а также отказаться от использования устаревшего кода.

Шаблоны / UI

Этот раздел более технический, и для тех, кто не является разработчиками, суть заключается в том, что мы приводим все в порядок так, чтобы изменения в ядре CMS оказывали меньшее влияние на разработчиков шаблонов.

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

К счастью, в Joomla 4 у нас есть WebAsset Manager, который позволяет нам делать разрывы в будущих версиях небольшими. Мы также планируем воспользоваться преимуществами новой функции Joomla 4 “Дочерние шаблоны”, чтобы еще больше снизить нагрузку.

Долгосрочная цель состоит в том, чтобы основные макеты и Кассиопея были разделены (автономны и больше не зависят друг от друга).

Развязка позволила бы нам планировать наличие “bootstrap template” в качестве базового, где весь bootstrap-зависимый код включен в качестве переопределения. Все, что каким-либо образом зависит от шаблона, перемещается из основных макетов в Cassiopeia. Cassiopeia либо становится дочерним шаблоном этого нового шаблона “bootstrap 5”, либо остается автономным со всеми включенными переопределениями. Это позволяет создавать дополнительные родительские шаблоны на основе других фреймворков, таких как Tailwind или UIKit.

Для разработчиков шаблонов это означает, что их настройки макета и переопределения становятся менее чувствительными к изменениям в CMS и что переопределения не нужно перестраивать с каждой новой основной версией.

Шаблон бэкэнда останется в bootstrap 5 и должен претерпеть лишь незначительные изменения для улучшения удобства использования.

Усиленное внимание к UX

Мы все знаем, что оба основных шаблона по-прежнему имеют свои недостатки и имеют много возможностей для улучшения. Поэтому мы очень рады сообщить, что формируется новая команда: команда Joomla Experience Team (JXT).

Цель команды - повысить общий пользовательский опыт в Joomla, который также включает в себя шаблоны и многое другое. Мы все возлагаем большие надежды на то, что эта команда даст нам, в сотрудничестве с Joomla Accessibility Team (JAT), большой толчок в правильном направлении.

Нам нужна ваша помощь! Мы планируем очень скоро организовать несколько мероприятий Pizza, Bugs & Fun, но, пожалуйста, свяжитесь с командами и примите участие прямо сейчас! Чтобы стать лучше, нам нужно много умов и рук, работающих вместе.

Новые функции

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

За то короткое время, которое нам нужно, чтобы выпустить Joomla 5, мы, вероятно, не получим всех приятных новых функций, которые мы хотели бы включить (multi-domain). Однако Joomla 5 при желании предоставит все необходимое для их реализации в более поздних версиях.

Это не должно удерживать вас от самостоятельного добавления новых функций. Мы также, в очередной раз, воспользуемся функциями, разработанными во время Google Summer of Code и которые уже почти готовы, такими как улучшенная поисковая оптимизация (SEO).

И кто знает, возможно, мы получим больше завершённого функционала... Это зависит от вас, сообщества Joomla.

Поддержка разработчиков расширений

Мы предоставим полный набор новых правил Rector для Joomla 5 RC1 для поддержки автоматической перезаписи устаревшего кода. (Rector - это относительно новый инструмент разработки, который может переписывать код на основе наборов правил). Эти правила будут доступны разработчикам расширений для адаптации своих компонентов, модулей и плагинов к Joomla 5 с помощью вызова командной строки. Вероятно, будет невозможно внести все изменения вручную, но с помощью Rector эту работу можно свести к минимуму.

Это может произойти только с вашей помощью

Мы - большое сообщество. Стоит помнить о достижениях этого проекта, о предприятиях, которые он поддерживает, и о занятости, которую он обеспечивает. Для многих участников команд это их вечера и личное свободное время, которые они отдают проекту неделю за неделей. Они, как и все остальные, хотят сделать все правильно.

В статьях, которые мы публиковали, мы просили дать нам отклики и затем описывали возможный путь развития.

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

Это действительно стоящий процесс, не все получат то, что они хотели, но Production Team надеется, что благодаря упорной работе и сплочению сообщества мы все сможем извлечь выгоду из этого открытого и стоящего диалога, что продукт, который мы передаем, превратится в лучший, более продуманный продукт, способный поддерживать будущие поколения веб-сайтов и разработчиков веб-сайтов.

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

Пожалуйста, если вы программист, автор документов, маркетолог или пользователь, желающий протестировать и сообщить о том, что вы нашли, свяжитесь с нами через портал волонтеров и страницу "contribute to joomla ", примите участие и выведите Joomla на новый уровень!

P.S. Перевод сделан Сергеем Толкачёвым (https://web-tolk.ru)


Еще одна переводная статья:

Joomla 5 уже в планах — познакомьтесь с лидерами релиза

Автор оригинала: Philip Walto. Перевод: Дмитрий Рекун.

Это перевод интервью с Харальдом Лейтнером (Harald Leithner) и Нильсом Брачеком (Niels Braczek) - они вместе возглавляют релиз Joomla 5, который сейчас находится на стадии планирования.

— Харальд: Как и многие другие участники проекта Joomla, я начал работу с Joomla ещё с Mambo. Но долгое время только как пользователь. Пару лет назад я посетил Joomladay и присоединился к сообществу. После этого события я очень быстро включился в работу над ядром, присоединившись к JSST (Joomla! Security Strike Team), а затем стал руководителем релиза 3.9.3+ и координатором производственного отдела (Production Department).

— Нильс: Я вошел в мир Joomla с Mambo 4.6, непосредственным предшественником Joomla 1.0. На тот момент я уже более 25 лет занимался разработкой программного обеспечения в самых разных средах. Mambo был отличным инструментом для быстрого и простого создания веб-сайтов, которые можно было расширять по своему усмотрению. Однако некоторые вещи казались довольно незрелыми (некоторые, возможно, помнят монстра $mainframe).

Я только начал писать свою собственную CMS, которая должна была использовать расширения Mambo, когда разработчики взбунтовались и запустили Joomla. То, что я слышал о планах и идеях Joomla, совпадало с моими целями, поэтому я решил присоединиться к Joomla, а не заниматься своей разработкой.

Харальд и Нильс, не могли бы вы напомнить мне о вашем участии в Joomla, работали ли вы раньше над релизами или планированием структуры Joomla?

— Харальд: Помимо поддержки серии 3.9.3+ в течение 2 лет, я был вовлечен в разработку компонента процессов (Workflow) в его нынешнем виде и многие другие аспекты Joomla 4. Но моя основная работа заключается в поддержании стабильности CMS и фреймворка. Такие вещи, как предотвращение нарушений обратной совместимости, контроль производительности и безопасности, работа над инфраструктурой тестирования.

— Нильс: На мероприятии по запуску Joomla 4 в Афинах у меня была возможность представить свои идеи о Joomla, какой она должна быть. В основе было разделение ввода и вывода от обработки, так что "контент" не ограничивался бы вебом, а обслуживал бы все возможные каналы. Кроме того, существовала так называемая "ортогональная архитектура", которая должна была гарантировать, что определенные сервисы, такие как контроль доступа, теги, процессы и т.д. будут доступны всем компонентам без дополнительного кода.

Некоторые люди были в восторге от возможностей, которые это открывало, другие яростно сопротивлялись таким глубоким изменениям. В конце концов, было принято решение развивать Joomla 4 небольшими шагами и рассматривать новую концепцию как путеводный маяк проекта, "Joomla X".

Многое из того, что мы разработали для Joomla X, в конечном итоге нашло свой путь в Joomla 4. Однако, из-за продолжающегося сопротивления новой архитектуре, команда Joomla X стала командой архитектуры и стратегии программного обеспечения (Software Architecture and Strategy Team), сместив фокус с предоставления концептуального кода на консультирование разработчиков по архитектуре. Как и Joomla X, SA&S находится под моим руководством.

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

— Харальд: В версии 5.0 я бы хотел увидеть полную очистку всех функций и моделей поведения, уже помеченных как устаревшие. За время существования такого программного проекта, как Joomla, функции добавляются, а кодовая база становится все более сложной и не поддается сопровождению. В Joomla 4.0 мы получили более перспективное обновление архитектуры. Также был введен b/c слой (слой обратной совместимости) для расширений Joomla 3, который планируется убрать в 5.0. Кроме того, новая система событий должна полностью заменить старую, с четко определенными событиями, включая валидацию.

В качестве улучшения CMS я бы хотел видеть поддержку PHP 8.1 Fibers, а также поддержка Revolt или даже React PHP была бы одной из особенностей, которые я хотел бы увидеть в Joomla 5.0.

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

— Нильс: На данный момент я могу говорить только о своих личных идеях, потому что окончательное решение о масштабах Joomla 5 еще не принято.

Несомненно, необходимо избавиться от старого бремени - это и есть настоящая цель новой мажорной версии. Если бы была полная обратная совместимость, то не было бы необходимости в 5.0, тогда было бы достаточно 4.x. Таким образом, мы можем в полной мере воспользоваться потрясающими возможностями, которые предлагает PHP 8.1.

В разработке программного обеспечения существует ряд общепринятых принципов, направленных на повышение сопровождаемости, расширяемости и надежности программного обеспечения, так называемые принципы SOLID. Эти принципы рекомендуют как можно более строгое разделение различных задач и ограничение зависимостей интерфейсами. В нетехнических терминах это означает, что любая функциональность может быть добавлена или заменена на аналогичную или другую без возникновения проблем для системы в целом. Я считаю, что соблюдение этих принципов необходимо для того, чтобы Joomla была конкурентна в будущем.

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

Должен быть пересмотрен процесс установки, чтобы Joomla и расширения можно было легко устанавливать и обновлять через командную строку. В идеале, мы должны использовать для этого Composer, инструмент, который может разрешать зависимости и предоставлять нужные пакеты. Это даст разработчикам расширений простой способ включать сторонние библиотеки, не вызывая конфликтов. Это также позволит хостинг-провайдерам устанавливать Joomla из своей панели управления. Создатели сайтов могут описать полную установку в одном JSON-файле и настроить ее с помощью одной команды CLI.

Развитие Joomla в направлении headless CMS должно быть более расширенным. Улучшение веб-интерфейса API и разделение каналов CMS и вывода открывает перед сайтостроителями совершенно новые возможности. Конечные точки API и команды CLI должны генерироваться автоматически, насколько это возможно. Одним из больших преимуществ этого является возможность создания кэша страниц, т.е. хранения предварительно отрендеренных страниц, которые могут обслуживаться непосредственно веб-сервером и загружать свое динамическое содержимое по требованию через вызов API.

Как уже упоминалось в начале, Joomla 5, естественно, не будет полностью обратно совместима с Joomla 4. По мере возможности мы будем предлагать изменения в архитектуре, уже в Joomla 4, как альтернативу предыдущей, чтобы сохранять прямую совместимость. Таким образом, необходимые корректировки для поддержки Joomla 5, должны быть возможны для разработчиков расширений на ранней стадии. Я также хотел бы использовать Rector, инструмент, который может перестраивать программный код в соответствии с правилами, для того, чтобы обеспечить поддержку разработчиков в том, чтобы сделать их расширения совместимыми с Joomla 5 как можно раньше.

Это самые важные вещи, которые я хотел бы видеть в Joomla 5. Есть также куча мелочей, которые можно улучшить, или мест, где не хватает совсем немного, чтобы сделать действительно отличный функционал. Однако перечислять их все здесь - значит выйти за рамки этой статьи.

Как вы планируете работать вместе, будете ли вы оба работать над одними и теми же областями или разделите задачи, и если да, то кто будет отвечать за какие задачи?

— Харальд: Мы не говорили о том, как именно мы будем работать, но я думаю, что мы совершенно разные личности с разной специализацией. Поэтому я думаю, что Нильс будет пытаться привнести структуру в цикл разработки и в код, а я буду пытаться довести его до конца. Нильс обладает глубокими знаниями об архитектуре и о том, как все может быть в идеальном мире, и это действительно здорово. Я постараюсь поддержать его в этом настолько, насколько смогу, и буду делать скучные вещи, типа координации работ по чистке.

Одна из причин, по которой у нас есть два лидера релиза для этой версии, заключается в том, что мы не хотим тратить еще 5 лет на следующую мажорную версию. Я уже смог ускорить выпуск Joomla 4.0, и я уверен, что смогу успеть к сроку выпуска Joomla 5.0.

С другой стороны, мы не одни отвечаем за выпуск Joomla 5.0, за нами стоит команда CMS Release Team и CMS Maintenance Team, поэтому мы координируем работу со всеми другими сопровождающими и постоянно общаемся с CMS Release Team.

— Нильс: Это хороший вопрос! Мы его еще не обсуждали.

Я узнал Харальда как прагматичного человека, который просто решает поставленные перед ним задачи. По моей оценке, его центр - это "здесь и сейчас" с фокусом на текущие проблемы, но он не теряет из виду горизонт возможностей. Моя природа несколько иная (даже если я должен и могу заставить себя быть прагматичным в повседневной жизни). Я вижу прежде всего возможности и ищу пути их реализации. Нынешние проблемы исчезли бы, если бы у нас уже было это.

Поэтому я считаю, что мы с Харальдом будем хорошей командой. Конечно, у каждого из нас есть свои приоритеты, которым он хочет или будет отдавать предпочтение. В конце концов, я думаю, что Харальд всегда будет возвращать меня на землю, когда я снова взлечу. С другой стороны, я буду поощрять его идти на шаг дальше, чем нужно, потому что это принесет пользу в долгосрочной перспективе.

Мы также хотим более тесно сотрудничать с командой CMS Release Team, чем это было в прошлом.

Как я понимаю, вы заинтересованы в том, чтобы услышать от всех нас, членов сообщества, наши идеи и мысли по поводу Joomla 5. Каким образом мы можем связаться с вами и каковы сроки рассмотрения идей?

— Харальд: Сообщество является для нас самым важным источником информации, поэтому мы будем очень признательны за любые отзывы, идеи и пожелания. У нас есть процесс RFC, о котором Нильс расскажет позже, и, конечно же, с нами можно связаться напрямую через Joomla! Volunteers Portal, Glip или любой другой канал. В зависимости от источника идеи она должна включать всю необходимую информацию, такую как преимущества, причины, проблемы, влияние и так далее. У вас очень короткий срок, поэтому мы будем признательны, если вы обратитесь к нам как можно скорее. 

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

— Нильс: О да, и это также очень важно для нас. Мы настолько близки к продукту, что не всегда можем увидеть, где на самом деле чего-то не хватает. Joomla - это универсальная CMS, которая разработана для удовлетворения потребностей как можно большего числа сценариев применения. Именно поэтому мы уделяем большое внимание модульности, гибкости и расширяемости. Специальные требования, которые предъявляются только в определенных отраслях, должны быть зарезервированы для расширений. Но все, что помогает всем пользователям CMS, по моему мнению, должно быть в ядре. И здесь нам нужен ваш вклад.

Сообщите нам, что, по вашему мнению, должно быть в ядре, чего не хватает или что следует изменить.

Для этих целей мы создали процесс RFC. На сайте https://github.com/joomla/rfc есть инструкции по использованию этого процесса. Не волнуйтесь, это кажется сложнее, чем есть на самом деле! Чтобы начать процесс, необходимы только две вещи: краткое описание того, о чем идет речь, и обоснование (Why Bother) того, почему это так важно и должно быть обязательно реализовано. Если вы хотите использовать список рассылки для вашего предложения вместо GitHub, пожалуйста, пометьте ваши предложения в теме письма как [Joomla 5].

Мы можем рассмотреть все, что поступит к нам до февраля 2023 года. Но, поскольку для реализации также требуется определенное время, чем раньше, тем лучше.

Существует тесная синергия между разработчиками ядра и расширений.

Есть ли какие-либо идеи и предложения, которые помогут разработчикам расширений?

— Харальд: Разработчики расширений являются важной частью экосистемы CMS. Поэтому мы хотим как можно скорее дать им рекомендации по изменениям в Joomla 5. Кроме того, мы хотим убедиться, что обновление расширения с 4 на 5 будет максимально простым, например, расширение j4 должно работать на j5 без особых изменений.

— Нильс: По сути, есть две вещи: Во-первых, при выпуске альфа-версии мы делаем доступной версию, которая уже содержит все изменения. Если разработчики используют эту версию, чтобы указать нам на проблемы, у нас остается возможность что-то сделать. Если же они сделают это только с релиз-кандидатом, то корабль уже уплыл. Во-вторых, мы хотим документировать изменения, сравнивая старое и новое, подобно тому, как это делает PHP в своих анонсах.

Сможем ли мы использовать Rector так, как мне хотелось бы, к сожалению, пока не ясно.

Есть ли какие-то вещи, которые разработчики расширений могут сделать, чтобы помочь ядру? Поможет ли большее тестирование на стадии альфа и бета релизов передать информацию о проблемах в ядре?

— Харальд: Да! Разработчики расширений часто знают CMS лучше, чем мы. Поэтому любая помощь будет очень ценна. Например, начать тестирование как можно скорее или вложить время в разработку было бы очень приятно.

— Нильс: Определенно! Чем раньше мы получим обратную связь от разработчиков, тем лучше мы сможем учесть их потребности. Конечно, мы были бы просто счастливы, если бы разработчики расширений могли предоставить рабочую силу для разработки. Всегда есть чем заняться, а рук слишком мало.

Joomla 4 пробыла на стадии создания довольно долго. Какие надежды вы возлагаете на Joomla 5 и какой временной масштаб вы считаете реалистичным и достижимым? Я вижу, что Joomla 4.1 до сих пор жестко контролировалась по времени, планировалось, что она выйдет через 6 месяцев после Joomla 4.0. Как вы думаете, возможен ли такой жесткий и надежный план выпуска для крупного релиза?

— Харальд: Как уже упоминалось, это одна из моих целей. Долгое время разработки Joomla 4 было большой проблемой для сообщества, и я рад, что мы наконец-то выпустили её в день рождения Joomla. В рамках Joomla 4 мы перешли на 6-месячный цикл релизов, что означает, что мы выпускаем минорную версию каждые 6 месяцев. Исходя из этого, мы планируем выпустить Joomla 5.0 17 августа 2023 года. Как только мы начнем разработку Joomla 5, мы составим дорожную карту релизов с указанием всех основных этапов.

— Нильс: В основном существует два типа планов релиза: основанные на функциях или ограниченные по времени. У нас есть политическое решение, которое навязывает релизы с временными рамками. Поэтому, если правила игры не изменятся до этого момента, Joomla 5 будет выпущена 17 августа 2023 года. Для нас, как руководителей релиза, это означает, что мы должны завершить все архитектурные изменения к первому альфа-релизу. После этого никакие изменения в архитектуре больше не могут быть сделаны. Параллельно будут разрабатываться функции, которые должны быть завершены к началу бета-фазы. С этого момента будут устраняться только ошибки. Все, что не будет завершено к этому времени, будет ждать следующего релиза. Пока мы не можем назвать сроки альфа- и бета-фаз, так как они еще не определены. Следите за дорожной картой, чтобы узнать подробности.

Помимо того, что мы можем рассказать вам, что мы хотели бы видеть в Joomla 5, чем мы можем еще помочь?

— Харальд: Мы принимаем любую помощь, которую можем получить. Поскольку Joomla! - это 100% CMS, управляемая сообществом, она нуждается в участии каждого члена сообщества. Так что если вы получаете удовольствие от кодинга, написания документации, поддержки нашей инфраструктуры, тестирования CMS, предоставления отзывов, основанных на "реальном мире", или просто хотите сказать спасибо, мы будем рады каждому.

— Нильс: Всегда не хватает трех вещей: Входных данных, обратной связи и рук. Если вы хотите помочь Joomla и умеете программировать, помогите нам с внедрением. Если вы хотите помочь Joomla и умеете писать, помогите нам с документацией. Если вы хотите помочь Joomla и умеете общаться, помогите нам донести информацию. Если вы хотите помочь Joomla, но вышеперечисленное вам не подходит, свяжитесь с командой по работе с волонтерами (Volunteers Engagement Team) - они найдут для вас место!

Спасибо, Харальд и Нильс.

CMS Joomla

CMS Joomla!

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

Веб-студия WebTend работает исключительно с системой управления контентом CMS Joomla!

Интернет-магазины создаем на CMS Joomla с немецким компонентом электронной коммерции - Joomshopping.

Подробнее о Joomla