Joomla ( / ˈ dʒ uː m . l ɑː / ), также пишется как Joomla! (с восклицательным знаком), а иногда и сокращенно J! , — это бесплатная система управления контентом (CMS) с открытым исходным кодом для публикации веб-контента на веб-сайтах . Приложения веб-контента включают дискуссионные форумы , фотогалереи , электронную коммерцию и сообщества пользователей , а также множество других веб- приложений. Joomla разрабатывается сообществом добровольцев при поддержке юридических, организационных и финансовых ресурсов Open Source Matters, Inc.
Joomla написана на PHP , использует методы объектно-ориентированного программирования и шаблоны проектирования программного обеспечения и хранит данные в базе данных языка структурированных запросов ( MySQL ). [4] Он зависит от программного обеспечения Symfony PHP. Joomla включает в себя такие функции, как кэширование страниц , RSS-каналы , блоги , поиск и поддержку интернационализации языков . Он построен на основе платформы веб-приложений модель-представление-контроллер , которую можно использовать независимо от CMS.
На веб-сайте Joomla доступно около 6000 расширений , [5] и другие доступны из других источников. По состоянию на 2022 год она считалась пятой по популярности CMS в Интернете после WordPress , Shopify , Wix и Squarespace . [6] [7]
Joomla имеет систему веб-шаблонов , использующую процессор шаблонов . Его архитектура представляет собой фронт-контроллер , маршрутизирующий все запросы к нестатическим URI через PHP , который анализирует URI и идентифицирует целевую страницу. Это позволяет поддерживать более удобочитаемые постоянные ссылки . Контроллер управляет как внешним интерфейсом , общедоступным представлением, так и внутренним ( управляемым графическим интерфейсом ) интерфейсом администрирования. Интерфейс администрирования (а) хранит информацию об управлении и содержимом в базе данных и (б) поддерживает файл конфигурации ( configuration.php , обычно расположенный в корне файловой системы установки Joomla). Файл конфигурации обеспечивает связь между сервером, базой данных и файловой системой и облегчает миграцию сайта с одного сервера на другой. [8]
Внутренний интерфейс позволяет операторам веб-сайтов управлять пользователями , меню , расширениями и веб-контентом . [примечание 1]
Joomla предназначена для людей, обладающих базовыми навыками создания веб-сайтов , и для нее требуется сервер Apache-MySQL-PHP, такой как LAMP или WAMP . [примечание 2] Коммерческие услуги веб-хостинга могут включать панели управления для автоматической установки Joomla для своих клиентов. Joomla может использоваться для создания локальных веб-приложений, которые работают на различных серверах AMP . [4]
Управление рисками , резервное копирование и восстановление являются обязанностью оператора веб-сайта. Joomla не имеет средств резервного копирования или восстановления веб-сайтов, встроенных в основную CMS; Существуют продукты, написанные сторонними организациями (в виде устанавливаемых расширений или отдельных продуктов).
Другие программные средства (будь то встроенные расширения, использующие структуру Joomla или через «программные мосты») расширяют спектр приложений веб-сайта, включая дискуссионные форумы , фотогалереи , электронную коммерцию , сообщества пользователей и множество других веб- приложений.
Joomla возникла в результате ответвления Mambo 17 августа 2005 года. [ 9] В то время название Mambo было товарным знаком Miro International Pvt. Ltd, которая сформировала некоммерческий фонд с заявленной целью финансирования проекта и защиты его от судебных исков. Команда разработчиков Joomla заявила, что многие положения базовой структуры нарушают предыдущие соглашения, заключенные избранным руководящим комитетом Mambo, не имеют необходимых консультаций с ключевыми заинтересованными сторонами и включают положения, которые нарушают основные ценности открытого исходного кода . [10]
Первоначальные соучредители Joomla Эндрю Эдди, Брайан Тиман, Йохан Янссенс, Жан-Мари Симоне и др. [11] основал компанию Open Source Matters , Inc. (OSM) для распространения информации среди сообщества разработчиков программного обеспечения. Руководитель проекта Эдди написал письмо, которое появилось в разделе объявлений на публичном форуме mamboserver.com. [12] За день к OpenSourceMatters.org присоединилось более тысячи человек, большинство из которых написали слова ободрения и поддержки. Генеральный директор Miro Питер Ламонт публично ответил команде разработчиков в статье под названием «Споры об открытом исходном коде Mambo — 20 вопросов Миро». [13] Это событие вызвало споры в сообществе свободного программного обеспечения по поводу определения открытого исходного кода . Форумы других проектов с открытым исходным кодом активно публиковали сообщения о действиях обеих сторон.
В течение двух недель после заявления Эдди команды были реорганизованы, а сообщество продолжало расти. Эбен Моглен и Юридический центр свободы программного обеспечения (SFLC) помогали основной команде Joomla, начиная с августа 2005 года, о чем свидетельствует запись в блоге Моглена от этой даты и соответствующее объявление OSM. [14] [15] SFLC продолжает предоставлять юридическое сопровождение проекта Joomla в качестве одного из партнеров OSM. [16]
18 августа Эдди обратился к сообществу с просьбой предложить название проекта. Основная команда оставила за собой право принятия окончательного решения об имени и выбрала имя, не предложенное сообществом. 22 сентября было объявлено о новом названии Joomla!. Это англизированное написание слова jumla на суахили , означающего «все вместе» или «в целом», которое также имеет аналогичное значение, по крайней мере, в амхарском , арабском , тюркском языках и урду . 26 сентября команда разработчиков призвала сообщество подать заявку на логотип и предложила сообществу проголосовать за логотип; команда объявила о решении сообщества 29 сентября. Начиная с октября 2005 г. были опубликованы руководящие принципы, касающиеся брендинга, лицензирования и использования зарегистрированного товарного знака. [17]
28 января 2008 года было объявлено о первой крупной версии Joomla:
Joomla 1.5 была популярна, но ее критиковали за негибкий и ограниченный подход к контролю доступа. [18] Независимо от проекта Эндрю Эдди и Луи Лэндри создали компанию под названием JXtended [19] для продолжения разработки Control — компонента ACL, который можно было бы интегрировать с Joomla 1.5. В июле 2009 года Эдди представил свои идеи [20] группе пользователей Joomla в Брисбене.
В июле 2009 года проект Joomla объявил о реструктуризации своего управления: новая руководящая группа Joomla заменила основную команду, которая первоначально руководила проектом. Это по-новому определило роль команды, возглавляющей проект, и структурировало ее вокруг участия сообщества в мероприятиях, проектах Google Summer of Code и других мероприятиях; Цель нового подхода к построению команды также заключалась в попытке повысить участие сообщества в процессе разработки вместо того, чтобы полагаться на небольшую группу программистов, выполняющих большую часть работы.
По данным Google Trends , пик интереса к Joomla пришелся на период 2009–2010 годов. [21] В январе 2011 года — во многом благодаря сотрудничеству Эдди и Лэндри — была выпущена вторая основная версия Joomla: Joomla 1.6. [22]
Перед выпуском стабильной версии Joomla 1.6 Эдди оставил свои посты в совете директоров OSM и руководил проектом; [23] Луи Ландри объявил о своем уходе из проекта в следующем году. [24] После ухода Эдди в сентябре 2011 года OSM запросила обратную связь от сообщества, включая возможность создания руководящего органа под новым названием, чтобы реструктурировать членство в совете и руководство проектом. [25]
В 2010 году, когда подготовка к выпуску Joomla 1.6 была почти завершена, Эми Стивен, Клас Берлик, Марко Барбоза, Мэтт Томас и др. начал проект по рефакторингу кода Joomla. Группа под кодовым названием Molajo ( анаграмма Joomla) считала, что существующая CMS Joomla препятствует внедрению Joomla конечными пользователями и разработчиками, поскольку (а) CMS Joomla не предлагает ряд пакетов, содержащих тематические наборы веб-приложений, например другие продукты CMS работали уже некоторое время, и (б) традиционный подход MVC снижал производительность разработчиков при создании новых компонентов для Joomla.
Реакция сообщества на Молахо была неоднозначной. Некоторые комментаторы утверждали, что это ответвление Joomla CMS — утверждение, категорически отвергнутое Стивеном, — в то время как другие утверждали, что его деятельность подорвет будущее Joomla CMS. [26] [27] Несмотря на эти препятствия, Molajo дебютировал публично на конференции J and Beyond в Нидерландах в 2011 году. [28]
Не имея поддержки со стороны OSM, восторженных последователей сообщества Joomla и не имея возможности выйти за рамки пре-альфа- статуса, Molajo распалась примерно в середине 2015 года. [29]
В январе 2012 года было объявлено об еще одной крупной версии: Joomla 2.5 (по сути, объединяющей два предыдущих второстепенных выпуска, выпущенных в предыдущем году). Joomla 2.5 привнесла столь востребованные улучшения и новый API, упрощающий работу начинающих пользователей, дополнительные многоязычные возможности и возможность обновления пользователями «одним щелчком мыши».
Вскоре после выпуска Joomla 2.5 велась работа над Joomla 3.x. Joomla 3.x была ориентирована на веб-сайты, удобные для мобильных устройств, а также на более интуитивно понятный интерфейс. Благодаря большей простоте навигации по сайту и более удобным средствам редактирования содержимого сайта Joomla, Joomla 3. x стала самой популярной версией CMS, в конечном итоге сделав все предыдущие версии устаревшими. [30]
В марте 2014 года, после получения отзывов сообщества и предложений от группы руководства производством, вновь созданное правление OSM одобрило изменение лицензирования платформы с GPLv2 на LGPL . [31] [32] Хотя это предложение затронуло только лицензирование фреймворка, а не CMS, это решение вызвало ожесточенные дебаты в сообществе. [33] [31] В конце концов, фреймворк не принял LGPL и до сих пор лицензируется по GPLv2. [34]
В августе 2014 года команда разработчиков Joomla CMS опубликовала план выпуска новых версий. [35]
К концу 2014 года — через три года после запроса отзывов о способах реорганизации проекта [25] и выхода Joomla 3.x в четвертую малую редакцию — сообщество обсудило изменения в структуре руководства. [36] Эдди, хотя больше и не принимал активного участия в проекте, утверждал, что код для Joomla 3.x был «слишком толстым и тяжелым, чтобы его поддерживать при нынешнем уровне вклада»; он рекомендовал законсервировать текущую серию CMS и разработать менее громоздкую версию Joomla 4. Эдди пошел дальше и раскритиковал видение OSM , предпринимательство и управление проектом. Другие комментаторы также высказали мнение, что OSM стал нефункциональным. [37]
Растет критика в адрес плана [35] будущего развития CMS Joomla. В заключении, написанном в мае 2015 года Николасом Дионисопулосом (основателем Akeeba Ltd.), были отражены некоторые из более ранних наблюдений Эдди о том, что OSM не хватает видения, предприимчивости и способности управлять проектом. [38] Дионисопулос не согласился с Эдди по поводу основной причины проблем с Joomla 3.x ; По мнению Дионисопулоса, причина большинства проблем с Joomla 3. x кроется в «процессах организации Joomla!».
Взгляды Дионисопулоса набрали силу в сообществе и привели к формированию рабочей группы Joomla 4 (которая позже стала рабочей группой Joomla X). [39] [40] [41]
В марте 2017 года проект объявил о прекращении поддержки Joomla 3 и обнародовал свои планы по разработке Joomla 4. [42] Это фактически положило конец работе рабочей группы Joomla X (хотя до того, как Joomla X заработает, пройдет еще два года). активность группы переведена в статус «в архиве»). [43]
Стремясь улучшить отношения с сообществом, команда разработчиков пересмотрела план на 2014 год и в июне 2018 года подготовила новую дорожную карту с ожиданием, что Joomla 4.0 будет выпущена в стабильной форме до конца 2018 года. [44] Во время За период 2017-2018 гг. разработчики создали шесть альфа-тестовых релизов Joomla 4. [45]
В январе 2019 года разработчики опубликовали обновленный план, в котором были пересмотрены ранее объявленные ориентировочные сроки; [46] В течение 2020 года дорожная карта несколько раз пересматривалась. [47]
Обеспокоенность сообщества по поводу управления проектом Joomla усилилась — через два года после объявления о планах прекращения поддержки Joomla 3 (но уже было выпущено две второстепенные версии с планами по выпуску третьей) — и к концу 2019 года было выпущено еще шесть альфа-тестовых выпусков Joomla 4. вынесено на общественное обсуждение. [48] С одной стороны, некоторые люди задавались вопросом, потеряло ли сообщество свое влияние в реализации проекта, в то время как, с точки зрения разработчиков, другая сторона защищала проект, отмечая, что все было бы более продуктивно, если бы сообщество было более активно вовлечено. в тестировании, а не в критике альфа-релизов. Эти дискуссии выявили растущее чувство разделения между разработчиками с одной стороны и конечными пользователями с другой.
Длительные дебаты, начавшиеся в марте 2019 года и первоначально сосредоточенные на эстетике и удобстве использования внутреннего интерфейса Joomla 4, выявили общее чувство разочарования в управлении и ходе проекта. [49] Хотя дебаты в значительной степени сводились к критике эстетики серверной части, люди со всех сторон дискуссии высказывали свои особые мнения о том, почему проект Joomla 4 отвлекся на расползание функций , раздувание программного обеспечения , возможный перерасход средств и отсутствие доверия.
На фоне неослабевающей критики внутри сообщества и снижения народного интереса к Joomla в то время [21] в январе 2020 года была проведена конференция по разработке стратегии на будущее. [50] Конференция определила несколько ключевых областей для дальнейшей работы, но в основном приняла предпосылку, что недостатки связаны главным образом с организационной структурой проекта, а не с качеством продукта. [51]
28 мая 2020 года команда Joomla сообщила, что произошла утечка данных, которая потенциально затронула 2700 пользователей, поскольку были раскрыты их личные данные. [52] Инцидент был обнаружен в ходе внутреннего аудита веб-сайта, который также выявил наличие учетных записей суперпользователей, принадлежащих лицам, не связанным с OSM. Хотя никаких доказательств несанкционированного доступа к личной информации обнаружено не было, были немедленно приняты меры по снижению риска, включая требование ко всем пользователям сменить свои пароли. [53]
Пандемия COVID-19 повлияла на запланированные мероприятия Joomla, что привело к отмене основных всемирных конференций. [54]
На первой диаграмме ниже показана распространенность различных версий Joomla среди всех веб-сайтов, использующих Joomla, в январе 2023 года. [112]
Вторая диаграмма ниже показывает распространенность различных версий Joomla за последние 180 дней до 7 декабря 2023 года. [113]
Больше данных о Joomla! Страница статистики использования.
В CMS Joomla используются два типа шаблонов: шаблоны внешнего интерфейса и шаблоны серверной части . Шаблон внешнего интерфейса представляет веб-сайт пользователю, просматривающему его содержимое. Бэкэнд-шаблон представляет собой панель управления для администрирования сайта.
Шаблоны устанавливаются как расширения Joomla и могут быть настроены с помощью переопределения исходного кода и/или CSS . [114]
Стандартные шаблоны включаются при установке, а другие шаблоны сторонних производителей можно установить позже. Как правило, шаблоны, разработанные для каждой основной версии Joomla, несовместимы с другими основными версиями Joomla. В следующей таблице перечислены стандартные шаблоны, установленные в каждой основной версии Joomla.
Joomla поддерживается как проект с открытым исходным кодом сообществом добровольцев и лицензируется по лицензии GNU General Public License на условиях «как есть», без каких-либо гарантий, включая подразумеваемые гарантии коммерческой ценности и пригодности для конкретной цели. [115] Исходный код хранится на GitHub . Два самых популярных общедоступных форума для обсуждения Joomla и получения технических консультаций находятся по адресу https://forum.joomla.org и https://joomla.stackexchange.com.
J and Beyond — это конференция, в основном ориентированная на разработчиков Joomla и интеграторов сайтов, которая проводится в Европе примерно в мае каждого года.
Joomla в основном финансируется за счет частного спонсорства, которое компенсирует операционные расходы OSM; в эти затраты входят налоги, бухгалтерский учет, присутствие на наземных мероприятиях, эксплуатация доменов и пр. [116] Оставшуюся часть доходов проект получает от рекламы на веб-сайте, комиссий, платы за экзамены и Google Summer of Code . [117]
На следующей диаграмме показана доля Joomla на рынке CMS ( для сравнения с лидером рынка WordPress ). [118]
На следующей диаграмме показана тенденция поисковых запросов в Google о Joomla с течением времени. [21]
Джумла! Уведомление об EOL 1.5 (окончание срока службы) — сентябрь 2012 г.
Поддержка версии 1.6 закончится 19 августа 2011 года.
Поддержка версии 1.7 закончится 24 февраля 2012 г.
Конец жизни: выпуск 3.4
Конец жизни: выпуск 3.5
Конец жизни: выпуск 3.6
Конец жизни: выпуск 3.7
Конец жизни: выпуск 3.8
Конец жизни: выпуск 3.9
Конец жизни: выпуск 3.10
Окончание жизни: 17.08.2023
Конец жизни: выпуск 4.1
Конец жизни: выпуск 4.2
Конец жизни: выпуск 4.3 (в настоящее время запланирован на апрель 2023 г.)