Введение
Свободная и открытая система управления веб-контентом
Joomla ('/dʒ//uː//m//.//l//ɑː/), также стилизованная как Joomla! (с восклицательным знаком) и иногда сокращаемая как J!, – это свободная и открытая система управления контентом (CMS) для публикации веб-контента на веб-сайтах. Приложения веб-контента включают в себя дискуссионные форумы, фотогалереи, электронную коммерцию и сообщества пользователей, а также множество других веб-приложений. Joomla разработана сообществом добровольцев, которое поддерживается юридическими, организационными и финансовыми ресурсами Open Source Matters, Inc.
Joomla написана на PHP, использует объектно-ориентированные методы программирования, простые шаблоны проектирования программного обеспечения и хранит данные в базе данных Structured Query Language (MySQL/MariaDB). Joomla включает в себя такие функции, как кэширование страниц, RSS-каналы, блоги, поиск и поддержку языковой интернационализации. Она построена на веб-приложении с архитектурой "модель-представление-контроллер", которое может использоваться независимо от CMS. В каталоге расширений Joomla! насчитывается более 5000 сторонних расширений.
20052007 гг.
Joomla был результатом форка Mambo 17 августа 2005 года. В то время название "Mambo" было торговой маркой Miro International Pvt. Ltd., которая создала некоммерческий фонд с заявленной целью финансирования проекта и защиты его от судебных исков. Команда разработчиков Joomla утверждала, что многие положения структуры фонда нарушали предыдущие соглашения, заключенные избранным руководящим комитетом Mambo, не предусматривали необходимых консультаций с ключевыми заинтересованными сторонами и включали положения, противоречащие основным принципам открытого исходного кода. Первоначальные соучредители Joomla, Эндрю Эдди, Брайан Тиман, Йохан Янсенс, Жан-Мари Симоне и другие, основали Open Source Matters, Inc. (OSM) для распространения информации в сообществе разработчиков программного обеспечения. Руководитель проекта Эдди опубликовал письмо в разделе объявлений на публичном форуме mamboserver.com. В течение дня к OpenSourceMatters.org присоединилось более тысячи человек, большинство из которых выражали слова поддержки и ободрения. Генеральный директор Miro Питер Ламонт публично ответил команде разработчиков в статье под названием "The Mambo Open Source Controversy—20 Questions With Miro". Это событие вызвало споры в сообществе свободного программного обеспечения относительно определения открытого исходного кода. Форумы других проектов с открытым исходным кодом активно обсуждали действия обеих сторон. В течение двух недель после объявления Эдди команды были реорганизованы, а сообщество продолжало расти. Эбен Моглен и Юридический центр свободы программного обеспечения (SFLC) оказали помощь основной команде Joomla, начиная с августа 2005 года, что подтверждается записью в блоге Моглена от той даты и соответствующим объявлением OSM. SFLC продолжает оказывать юридическую поддержку проекту Joomla как один из партнеров OSM. 18 августа Эдди призвал сообщество предложить название для проекта. Основная команда оставила за собой право принять окончательное решение о названии и выбрала имя, не предложенное сообществом. 22 сентября было объявлено о новом названии – Joomla! Это англицизированное написание слова *jumla* на суахили, означающего "все вместе" или "в целом", которое также имеет схожее значение в, по крайней мере, амхарском, арабском, тюркских языках и урду. 26 сентября команда разработчиков призвала сообщество представить варианты логотипа и пригласила проголосовать за лучший; решение сообщества было объявлено 29 сентября. Начиная с октября 2005 года, были опубликованы руководства по брендингу, лицензированию и использованию зарегистрированного товарного знака.
Молахо
В 2010 году, когда подготовка к Joomla 1.6 была почти завершена, Эми Стивен, Клас Берлик, Марко Барбоза, Мэтт Томас и другие начали проект по рефакторингу кода Joomla. Проект, получивший кодовое название Molajo (анаграмма Joomla), был вызван тем, что группа считала существующую CMS Joomla препятствием для пользователей и разработчиков, желающих её использовать, по двум причинам: (а) CMS Joomla не предлагала наборы пакетов с тематическими веб-приложениями, как это уже давно делали другие CMS, и (б) традиционный подход MVC снижал продуктивность разработчиков при создании новых компонентов для Joomla. Реакция сообщества на Molajo была неоднозначной. Некоторые утверждали, что это ответвление от Joomla CMS – утверждение, которое Стивен категорически отвергла, в то время как другие опасались, что эта деятельность подорвет будущее Joomla CMS. Несмотря на эти трудности, Molajo был впервые представлен публике на конференции J and Beyond в Нидерландах в 2011 году. Не получив поддержки от OSM, энтузиазма со стороны сообщества Joomla и не сумев выйти за пределы стадии pre-alpha, Molajo прекратил своё существование примерно в середине 2015 года.
20122014 год
В январе 2012 года была анонсирована еще одна крупная переработка: Joomla 2.5 (фактически объединившая два предыдущих незначительных релиза из предыдущего года). Joomla 2.5 принесла долгожданные улучшения, новый API, упрощающий работу для начинающих пользователей, расширенную многоязычную поддержку и возможность обновления в "один клик". Вскоре после выпуска Joomla 2.5 началась работа над Joomla 3.x. Joomla 3.x была ориентирована на создание мобильно-адаптированных веб-сайтов и более интуитивно понятный интерфейс администратора. Благодаря упрощенной навигации по сайту и удобным средствам редактирования контента Joomla, Joomla 3.x стала самой популярной версией CMS, в конечном итоге сделав все предыдущие версии устаревшими. В марте 2014 года, после сбора отзывов сообщества и представления от команды производственного руководства, вновь сформированный совет OSM одобрил изменение лицензии фреймворка с GPLv2 на LGPL. Хотя предложение касалось только лицензии фреймворка, а не CMS, это решение вызвало острые дебаты в сообществе. В августе 2014 года команда разработчиков Joomla CMS опубликовала план выпуска новых версий. К концу 2014 года, спустя три года после запроса обратной связи о способах реорганизации проекта, Эдди, хотя и больше не был активным участником, заявил, что код Joomla 3.x был "слишком громоздким и сложным для поддержки при текущем уровне участия"; он рекомендовал приостановить разработку текущей серии CMS и создать менее обременительную Joomla 4. Эдди также подверг критике видение, предпринимательский подход и управление проектом со стороны OSM. Другие участники сообщества также выразили мнение, что OSM стала дисфункциональной.
20152018 год
Критика усиливалась в отношении плана. Дионисопулос не согласился с Эдди относительно основной причины проблем с Joomla 3.x; Дионисопулос придерживался мнения, что причина большинства проблем с Joomla 3.x заключалась в "процессах организации Joomla!". Взгляды Дионисопулоса приобрели поддержку в сообществе и привели к формированию рабочей группы Joomla 4 (которая впоследствии стала рабочей группой Joomla X). В марте 2017 года проект объявил о прекращении поддержки Joomla 3 и представил планы по разработке Joomla 4. Это фактически завершило работу рабочей группы Joomla X (хотя еще два года потребовалось, чтобы деятельность рабочей группы Joomla X была переведена в статус "архивной"). В стремлении улучшить отношения с сообществом, команда разработчиков пересмотрела план 2014 года и в июне 2018 года опубликовала новую дорожную карту, рассчитывая выпустить Joomla 4.0 в стабильной версии до конца 2018 года. В период с 2017 по 2018 год разработчики выпустили шесть альфа-версий для тестирования Joomla 4.
20192020 год
В январе 2019 года разработчики опубликовали обновленный план, пересматривающий ранее объявленные сроки; дорожная карта пересматривалась несколько раз в течение 2020 года. Обеспокоенность сообщества по поводу управления проектом Joomla усилилась спустя два года после объявления о планах прекращения поддержки Joomla 3 (но после выпуска уже двух минорных версий и планов на третью), и к концу 2019 года для общественного обсуждения было выпущено еще шесть альфа-версий Joomla 4. С одной стороны, некоторые задавались вопросом, не утратило ли сообщество влияние на развитие проекта, а с точки зрения разработчиков, другие защищали проект, отмечая, что работа была бы более продуктивной, если бы сообщество активнее участвовало в тестировании альфа-версий, а не ограничивалось критикой. Эти дискуссии выявили растущий раскол между разработчиками и конечными пользователями. Длительная дискуссия, начавшаяся в марте 2019 года и первоначально посвященная эстетике и удобству использования интерфейса администрирования Joomla 4, отразила общее разочарование управлением и ходом проекта. Хотя основная часть дискуссии была сосредоточена на критике внешнего вида администрирования, участники со всех сторон высказывали несогласие относительно причин, по которым проект Joomla 4 отвлекся на добавление ненужных функций, разрастание программного кода, превышение бюджета и потерю доверия. На фоне непрекращающейся критики со стороны сообщества и снижения интереса к Joomla в то время конференция определила несколько ключевых направлений для дальнейшей работы, но в целом согласилась с тем, что проблемы связаны главным образом с организационной структурой проекта, а не с качеством продукта. 28 мая 2020 года команда Joomla сообщила о взломе данных, который потенциально затронул 2700 пользователей, предоставив доступ к их личным данным. Инцидент был обнаружен в ходе внутреннего аудита веб-сайта, который также выявил наличие учетных записей суперпользователей, принадлежащих лицам, не связанным с OSM. Несмотря на отсутствие доказательств несанкционированного доступа к личной информации, были немедленно приняты меры по снижению рисков, включая обязательную смену паролей для всех пользователей. Пандемия COVID-19 повлияла на запланированные мероприятия Joomla, что привело к отмене основных международных конференций. 21 июня 2020 года президент OSM Роуэн Хоскинс Абрахолл подала в отставку, ссылаясь на личные обстоятельства. Позже выяснилось, что совет директоров OSM не предоставил публичной информации о нескольких претензиях Абрахолл на возмещение расходов, которые не соответствовали финансовой политике OSM, и что Абрахолл теперь должна OSM деньги; это дело получило некоторое освещение в независимых источниках и было проанализировано. Это привело к цепи событий: Абрахолл объявила о банкротстве, чтобы избежать выплаты долга OSM; Абрахолл подала иск о клевете против OSM; совет директоров OSM был реорганизован; преемник Абрахолл, Брайан Митчелл, был уволен. 17 августа 2021 года была выпущена версия Joomla 4.0 (спустя примерно шесть лет после начала работы). Это был важный этап в развитии проекта Joomla.
Разработчики
Joomla поддерживается как проект с открытым исходным кодом сообществом добровольцев и распространяется по лицензии GNU General Public License в том виде, в каком она есть ("as is"), без каких-либо гарантий, явных или подразумеваемых, включая гарантии товарной пригодности и пригодности для конкретной цели. Исходный код Joomla размещен на GitHub. Три наиболее популярных публичных форума для обсуждения Joomla и получения технической поддержки — The Joomla Forum, Joomla on Stack Exchange и Mattermost. Общая ответственность за планирование и выпуск нового программного обеспечения лежит на OSM. Joomla имеет программную зависимость от некоторых компонентов Symfony и других библиотек с открытым исходным кодом, включая компоненты Joomla Framework.
Жизненный цикл разработки
Joomla приняла новую стратегию разработки с выходом версии 1.6. Основная идея заключалась в упрощении непрерывного выпуска версий стандартной поддержки (SSR), чтобы обеспечить более быстрое включение запросов пользователей в ядро Joomla и их стабилизацию для последующих релизов. Многие пользователи критиковали частую смену основных версий, особенно в тех случаях, когда для сайта Joomla были независимо разработаны сложные приложения, и владельцу сайта приходилось обновлять ядро для получения актуальных обновлений безопасности. В апреле 2014 года разработчики объявили об отказе от предыдущей системы, основанной на различных ветках версий LTR (Long Term Release) и STR (Short Term Release), в пользу линейного цикла выпуска версий. Первым релизом после этого изменения стала версия 3.3.1.
Безопасность
Инсталляции Joomla регулярно подвергаются атакам, особенно в форме так называемых дефейсов, но, вероятно, не чаще, чем другие веб-сайты в интернете. Расширения сторонних разработчиков могут создавать дополнительные риски для безопасности, которыми могут воспользоваться злоумышленники: список уязвимых расширений ведется по мере необходимости. Хотя ошибки в коде также встречаются, большинство проблем с безопасностью возникают из-за недостаточного регулярного обслуживания, а не из-за целенаправленных злонамеренных действий. Joomla реагирует на сообщения об уязвимостях через свою Группу реагирования на инциденты безопасности.
История версий
+Joomla версии Серия Выпущены как Дата выпуска Поддерживается до Основная функция 1. x scope="row" abbr=on abbr=on Переименованный релиз Mambo 4.5.2.3, включающий исправления ошибок и безопасности среднего уровня. Написан для PHP 4. scope="row" abbr=on abbr=on Полностью переработанный графический пользовательский интерфейс, шаблоны, ограниченная поддержка "старого режима". Написан для PHP 5. Примечания: Первая версия с долгосрочной поддержкой (LTS), хотя и не обратно совместима с предшественником. Такие версии LTS планировалось выпускать каждые три основных или второстепенных релиза и поддерживать до трех месяцев после выпуска следующей версии LTS; на практике этот подход не был реализован. Добавлена полная функциональность списка контроля доступа, иерархия категорий, определяемая пользователем, и улучшения административного интерфейса. Улучшена безопасность и инструменты миграции. 2. x scope="row" abbr=on abbr=on Новый компонент "Умный поиск", добавлена поддержка Microsoft SQL Server в качестве бэкенда базы данных, добавлены пользовательские заметки, дополнительные улучшения и повышения безопасности. Примечания: Второй релиз LTS. Изначально этот релиз должен был называться 1.8.0, однако 9 августа разработчики объявили о переименовании, чтобы соответствовать новой схеме нумерации версий, в которой каждый релиз LTS имеет номер x.5. 3. x scope="row" abbr=on abbr=on Новые шаблоны по умолчанию на основе Bootstrap; добавлена поддержка PostgreSQL в качестве бэкенда базы данных; удалена поддержка PHP 5.2. Примечания: Первоначально планировалось выпустить эту версию в июле 2012 года; однако, график выпуска в январе/июле был неудобен для волонтеров, и график был изменен на сентябрь/март. 24 декабря 2012 года было решено включить непредвиденное дополнение в серию 3.x для улучшения жизненного цикла разработки и продления поддержки версий LTS. scope="row" abbr=on abbr=on Тегирование статей. Версионность контента для статей. Примечания: Из-за изменения требований к PHP в Joomla 3.3, расширенная поддержка безопасности была предоставлена для 3.2 в течение шести месяцев после выпуска 3.3. Улучшено хеширование паролей; поддержка микроданных; удалены зависимости от MooTools. Примечания: 25 апреля 2014 года команда руководства по разработке Joomla объявила о переходе на "Схему семантического версионирования" для новых сборок Joomla. Политика жизненного цикла долгосрочной и краткосрочной поддержки была отменена. Версия Joomla 3.3.1 стала первой версией, выпущенной в рамках новой стратегии разработки. Улучшенные функции безопасности; интеграция с Composer; и Google No CAPTCHA reCAPTCHA. Примечания: В октябре 2015 года с выпуском версии 3.4.5 были развернуты масштабные исправления безопасности. Изменения в административном интерфейсе (включая возможность перетаскивания изображений). Примечания: Добавлена поддержка PHP 7. Добавлена возможность загрузки анонимной статистики сервера об окружениях, где используется Joomla. Улучшения UX, обновления программного обеспечения. Пользовательские поля; менеджер меню бэкенда; улучшенная система обновлений, системы кэширования и управление пакетами/расширениями; некоторые улучшения пользовательского опыта. scope="row" abbr=on abbr=on Улучшенная система маршрутизации; Совместимый слой Joomla 4; дополнительные примеры установленных данных; улучшения кода и поддержка шифрования (с использованием расширения Sodium на PHP 7.2 или через polyfill для более низких поддерживаемых версий). scope="row" abbr=on abbr=on Пакет инструментов конфиденциальности, в ответ на новые законы и правила о конфиденциальности и хранении данных, в частности, GDPR. Мост между Joomla 3.x и Joomla 4.x. 4. x scope="row" abbr=on Удалена поддержка PHP 5 и Microsoft SQL Server. Примечания: Добавлена поддержка PHP 8. Планирование задач; дочерние шаблоны; проверка доступности; подсветка синтаксиса; встроенная справка. Горячие клавиши; Многофакторная аутентификация. scope="row" abbr=on abbr=on "Интерактивные туры". scope="row" abbr=on abbr=on Мост между Joomla 4.x и Joomla 5.x. 5. x scope="row" abbr=on abbr=on Улучшена интеграция со Schema.org и повышена безопасность. Примечания: Устанавливает дополнительные минимальные технические требования для PHP 8.2 и MySQL 8.0 или эквивалентных. scope="row" abbr=on abbr=on Улучшения "темного режима"; "приветственный тур"; дальнейшая оптимизация SEO; интеграция с TUF. 6. x scope="row" abbr=on TBA
Общий
Проект Joomla управляет своей деятельностью (например, регистрацией торговых марок, лицензированием, маркетингом, разработкой программного обеспечения, документацией, публикациями в СМИ и т. д.) через специализированные команды под эгидой Open Source Matters, Inc. Членство в этих командах является добровольным, но доступ строго контролируется. Только утвержденные участники команд имеют право избирать руководителей команд и членов Совета директоров OSM. В целом, проект Joomla солидарен с WordPress, Drupal и Typo3 в решении вопросов, связанных с Законом ЕС о кибербезопасности.
Конференции
J and Beyond была ежегодной конференцией, ориентированной главным образом на разработчиков Joomla и интеграторов сайтов. Проводившаяся в Европе, как правило, в мае, она являлась важной площадкой для профессионалов, вовлеченных в проекты, связанные с Joomla. Конференция 2024 года была отменена из-за низких продаж билетов.
Финансовая поддержка
Joomla финансируется в основном за счет частных спонсоров, которые покрывают операционные расходы OSM, включая налоги, бухгалтерский учет, участие в мероприятиях, обслуживание доменов и прочее. Остальную часть дохода проект получает от рекламы на веб-сайте, комиссий, платы за экзамены и программы Google Summer of Code.
Расширения
Независимо от команды разработчиков Joomla, другие люди создали дополнительное программное обеспечение, коллективно называемое расширениями, для расширения спектра возможностей, которые могут потребоваться владельцам сайтов на Joomla. Как и в случае с любым сторонним программным обеспечением – некоторые из которых могут предлагаться бесплатно или лицензироваться на условиях, отличающихся от условий лицензии основной CMS Joomla – могут возникать дополнительные сложности (например, несовместимость с более новыми версиями Joomla). Расширения, разработанные для более ранних версий CMS Joomla, часто являются причиной, по которой владельцы сайтов не могут обновить свою CMS до более новой версии. Проект Joomla не одобряет и не рекомендует расширения, созданные независимо от команды разработчиков CMS, и не предоставляет поддержку по проблемам, которые могут возникнуть при их использовании.
Группы пользователей Joomla (JUGs)
Так называемые JUGs — это местные группы пользователей и разработчиков Joomla, которые регулярно встречаются для обмена опытом и планирования проектов, например, проведения мастер-классов.