Joomla!

Joomla! (произносится джу́мла) — система управления содержимым (CMS), написанная на языках PHP и JavaScript, использующая в качестве хранилища базы данных СУБД MySQL или другие стандартные промышленные реляционные СУБД. Является свободным программным обеспечением, распространяемым под лицензией GNU GPL.

Joomla!
Логотип программы Joomla!
Joomla! 5.1.2 administrator dashboard
Тип система управления содержимым
Разработчик Open Source Matters
Написана на PHP[3] и JavaScript[4]
Операционные системы Windows и Unix-подобная операционная система
Языки интерфейса африкаанс[5], валлийский язык, украинский, вьетнамский, турецкий, тамильский язык, шведский, суахили, испанский, словенский, сербский, русский, румынский, бразильский португальский, португальский, персидский, пушту, букмол, македонский язык, литовский язык, латышский язык, корейский, кхмерский язык, казахский, ирландский язык, итальянский, японский, индонезийский язык, венгерский, иврит, немецкий, грузинский, нидерландский, финский, эстонский, эсперанто, датский, чешский, хорватский, китайский (вэньянь), каталанский, болгарский, белорусский, баскский язык и арабский
Первый выпуск 15 сентября 2005[1]
Последняя версия 5.2.1
Репозиторий github.com/joomla/joomla…
Лицензия GNU GPL 2+
Сайт joomla.org (англ.)
Логотип Викисклада Медиафайлы на Викискладе[2]

Этимология

править

Название «Joomla!» фонетически идентично слову «Jumla», которое в переводе с языка суахили означает «все вместе» или «единое целое», что отражает подход разработчиков и сообщества к развитию системы.[6]

История

править

Система управления содержимым Joomla! является ответвлением широко известной CMS Mambo. Команда независимых разработчиков отделилась от проекта Mambo по причине несогласия в экономической политике. 16 сентября 2005 года в свет вышла первая версия Joomla!, являющаяся по сути переименованной Mambo 4.5.2.3 и включающая в себя исправления найденных на тот момент ошибок и уязвимостей.

К лету 2008 года по числу ежедневных скачиваний Joomla! заняла второе место после WordPress со значительным отрывом от других подобных систем.[7]

  • Версия 1.0 считается устаревшей, её официальная поддержка прекращена 1 июля 2009 года.
  • Поддержка версии 1.6 прекращена 19 августа 2011 года.
  • Поддержка версии 1.7 прекращена 24 февраля 2012 года.[8]
  • Поддержка версии 1.5 прекращена 27 сентября 2012 года.
  • Поддержка версии 2.5 продолжалась до конца 2014 года.
  • Поддержка версии 3.x прекращена 17 августа 2023 года.

Цикл выхода релизов Joomla

править

В августе 2022 года в связи с выходом Joomla 4.0 и возникшей в международном сообществе разработчиков Joomla дискуссии на GitHub был опубликован[9][10] скорректированный выпуска релизов Joomla[11][12], согласно которому у каждой мажорной версии 2 года длится фаза активного развития и ещё 2 года - исправление ошибок и патчи безопасности.

Текущий релиз 4.4.9
Следующий релиз 4.4.10
Дата выхода серии релизов 17 августа 2021
Дата окончания исправления ошибок в версии 4.x (bug fix EOL) 15 октября 2024
Дата окончания исправления ошибок безопасности в версии 4.x (security fix EOL ) 14 октября 2025
Текущая версия 5.2.0
Следующая версия 5.2.1
Дата выхода серии релизов 17 октября 2023
Дата окончания исправления ошибок в версии 5.x (bug fix EOL) 13 октября 2026
Дата окончания исправления ошибок безопасности в версии 5.x (security fix EOL ) 12 октября 2027
Версии Joomla![13][11]
Версия Даты выпуска Поддержка до
Старая версия, не поддерживается: 1.0 15 сентября 2005 22 июля 2009
Старая версия, не поддерживается: 1.5 22 января 2008 30 сентября 2012, LTS
Старая версия, не поддерживается: 1.6 10 января 2011 19 августа 2011
Старая версия, не поддерживается: 1.7 19 июля 2011 24 февраля 2012
Старая версия, не поддерживается: 2.5 24 января 2012 31 декабря 2014, LTS
Старая версия, не поддерживается: 3.0 27 сентября 2012 24 апреля 2013
Старая версия, не поддерживается: 3.1 24 апреля 2013 6 ноября 2013
Старая версия, не поддерживается: 3.2 6 ноября 2013 20 октября 2014
Старая версия, не поддерживается: 3.3 20 апреля 2014 25 февраля 2015
Старая версия, не поддерживается: 3.4 25 февраля 2015 21 марта 2016
Старая версия, не поддерживается: 3.5 21 марта 2016 12 июля 2016
Старая версия, не поддерживается: 3.6 12 июля 2016 25 апреля 2017
Старая версия, не поддерживается: 3.7 25 апреля 2017 19 сентября 2017
Старая версия, не поддерживается: 3.8 19 сентября 2017 30 октября 2018
Старая версия, не поддерживается: 3.9 30 октября 2018 17 августа 2021
Старая версия, не поддерживается: 3.10 17 августа 2021 17 августа 2023, LTS
Старая поддерживаемая версия: 4.0 17 августа 2021 15 февраля 2022
Старая поддерживаемая версия: 4.1 15 февраля 2022 16 августа 2022
Старая поддерживаемая версия: 4.2 16 августа 2022 18 апреля 2023
Старая поддерживаемая версия: 4.3 18 апреля 2023 17 октября 2023
Старая поддерживаемая версия: 4.4 17 октября 2023
Старая поддерживаемая версия: 5.0 17 октября 2023 16 апреля 2024
Старая поддерживаемая версия: 5.1 16 апреля 2024 15 октября 2024
Текущая версия: 5.2 15 октября 2024
Будущая версия: 6.0 14 октября 2025 N/A (английский)
Легенда:
Старая версия, не поддерживается
Старая поддерживаемая версия
Текущая версия
Тестовая версия
Будущая версия

Описание системы

править

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

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

Основные возможности

править
 
Joomla! 5.1.2 — редактирование материала в панели администратора

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

Возможности контент-менеджмента

править
  • Создание неограниченного количества текстов (материалов в терминологии Joomla!), распределенных по неограниченному количеству категорий. Версионность материалов с возможностью вернуться к предыдущим сохранённым версиям.
  • Гибкая система создания и управления меню позволяет создавать навигацию по сайту самых разных уровней сложности.
  • Компонент «Контакты» позволяет отображать расширенные контактные данные пользователей, группировать контакты в категории разного уровня вложенности. Для каждого пользователя можно отображать форму обратной связи.
  • Компонент «Баннеры» является простой системой показа рекламных баннеров и ссылок на сайте.
  • Компонент «Ленты новостей» позволяет отображать данные RSS потоков из других источников.
  • Компонент «Теги» позволяет связывать различные сущности (материалы, контакты и т.д.) сайта с помощью тегов, организуя горизонтальную структуру сайта.
  • Компонент «Умный поиск» предназначен для индексации контента сайта и даёт возможность пользователям искать по сайту с учётом словоформ.
  • Права доступа пользователей сайта разделяются на группы и уровни доступа и в целом являются реализацией паттерна ACL. Реализован функционал многофакторной аутентификации. Пользователи сайта имеют возможность авторизовываться, редактировать свои данные, получать доступ к разделам сайта для зарегистрированных пользователей (согласно настройкам прав доступа).
  • Встроенная в Joomla версия сайта для слабовидящих, соответствующая стандарту WCAG 2.1. Для материалов Joomla! имеется инструмент проверки доступности для слабовидящих, который подскажет необходимые исправления для соответствия стандартам.
  • Плагины микроразметки Schema.org в составе Joomla! автоматически размечают страницы сайта для предоставления поисковикам более понятной и структурированной информации, которая может влиять на ранжирование в поисковой выдаче.
  • Работа с персональными данными пользователей: обработка запросов на выгрузку и удаление персональных данных согласно Федеральному закону «О персональных данных» №152-ФЗ[15][16].
  • Возможно включить и настроить Workflow для материалов («Процессы» в терминологии Joomla!), подразумевающие многоэтапную работу, согласование текста и процесс публикации[17][18].

Возможности администрирования

править
 
Экран раздел "Система" в панели администратора Joomla 5.1.2
  • Для каждой динамической страницы можно создать свои заголовок (тег title) и описание (meta description) в целях более высокого ранжирования в поисковых системах.
  • Начало и окончание публикации любых материалов, категорий, модулей можно запрограммировать по календарю. Таким же образом можно реализовать отложенные публикации, установив дату из будущего.
  • Возможность ограничить доступ к определённым разделам сайта только для зарегистрированных пользователей, доступ как к разделу, так и к определённому материалу с точностью до конкретной связи материал↔пользователь.
  • Настраиваемые схемы расположения элементов по позициям шаблона.
  • Автоматическая проверка новых версий установленных расширений. Отображение changelog прямо в панели админстратора позволяет просмотреть список изменений непосредственно перед обновлением (при условии, что разработчик расширения задействует этот механизм).
  • Возможность создания не одной, а нескольких форм обратной связи для каждого контакта;
  • Встроенный визуальный редактор TinyMCE;
  • ЧПУ — «человекопонятный URL», например, «example.com/news/2011/»;
  • Более 6000 (по состоянию на 07.08.2024) готовых расширений (http://extensions.joomla.org). С их помощью сайт на Joomla! легко становится интернет-магазином, каталогом, доской объявлений, социальной сетью, учебным порталом и т.д.
  • Система шаблонов позволяет легко изменять внешний вид сайта: расположение модулей, шрифты и другое. Можно предоставить пользователям выбирать одно из нескольких отображений. В сети существует огромный выбор готовых шаблонов, как платных, так и бесплатных. Также существует программное обеспечение для самостоятельного создания оригинальных шаблонов. Шаблон сайта можно назначить как всему сайту, так и конкретному пункту меню. Таким образом вы можете сделать различное оформление разным разделам сайта. Joomla! имеет функционал создания дочерних шаблонов.
  • Предусмотрены настраиваемые схемы расположения модулей, включая левый, правый, центральный и любое другое произвольное положения блока. При желании содержимое модуля можно включить в содержимое текста. Например, выражение {loadposition position_name}, введённое (вместе с фигурными скобками) в произвольное место в статье, выведет содержимое модуля, которому задана позиция вывода как «position_name».
  • Переключение светлой и тёмной темы оформления панели администратора.
  • Функциональность можно увеличивать с помощью дополнительных расширений (компонентов, модулей, плагинов, библиотек).
  • К преимуществам системы можно отнести то, что все компоненты, модули, плагины и шаблоны можно написать самому, разместить их в структурированном каталоге расширений или отредактировать существующее расширение по своему усмотрению.
  • Происходит регулярный выход обновлений. Существует публичный «баг-трекер» (система отслеживания ошибок). Основная работа с пользователями командой разработчиков ведётся в GitHub репозитории Joomla!. В нём можно оставить пожелания по расширению функциональности, оставить замечания по поводу работы CMS, которые впоследствии изучаются её разработчиками, при необходимости включающими в очередное обновление Joomla! исправления, решающие те или иные проблемы.
  • Встроенная мультиязычность - возможность создания языковых версий сайта.
  • Функционал пользовательских полей Joomla, который позволяет добавлять различные типы данных к сущностям компонентов Joomla. Таким образом с помощью штатного компонента материалов можно создать простой каталог товаров или услуг.

Возможности для разработчика

править

Создание собственного расширения осуществляется посредством написания плагина на языке PHP с использованием для взаимодействия API Joomla!.

  • Архитектурно Joomla! является монолитом - ядром, к которому присоединяются расширения. В Joomla существует 7 типов расширений:
    • шаблон - включает в себя вёрстку сайта, переопределения макетов, а так же может содержать некоторые параметры отображения в параметрах стилей шаблонов.
    • компонент - нужен для CRUD операций - создания, отображения, редактирования и удаления данных.
    • модуль - выводит некоторые данные в позиции шаблона, например, новые или популярные статьи, просмотренные товары, форма входа на сайт, форма обратной связи, форма поиска и т.д. Модуль может брать данные для отображения из какого-либо компонента, своих параметров или внешнего источника.
    • плагин - в процессе работы Приложения Joomla! вызываются события (Event Dispatching). По этим вызовам срабатывают плагины, получая возможность изменять данные или выполнять некую работу на лету. Например, добавить кнопку в панель управления, получить данные по ajax, обработать содержимое страницы регулярным выражением и т.д.
    • библиотека - некий набор функций и методов, который может одновременно использоваться в разных расширениях сайта: в плагине, модуле и компоненте. Например, библиотека для подключения и отправки данных во внешнюю CRM систему.
    • файл - любой PHP код в файле или нескольких файлах, который по каким-то причинам не получилось оформить надлежащим образом в одно из расширений Joomla!.
    • пакет - может включать в себя несколько типов расширений для одновременной установки и обновления. Например, пакет может содержать модуль и плагин или плагин и библиотеку. Установка, обновление, удаление может производиться сразу пакетно со всеми расширениями, входящими в данный пакет.
  • Функционал создания переопределений макетов в шаблоне является одной из основных особенностей Joomla!. Он позволяет скопировать часть стандартного отображения какого-либо расширения Joomla! в папку с вашим разрабатываемым шаблоном и изменить его HTML-вёрстку так, как необходимо, не опасаясь, что при следующем обновлением движка внесённые изменения будут утеряны.
  • Ядро Joomla! использует PHP Namespaces[19].
  • Начиная с Joomla! 4 под капот вошёл Joomla! Framework, который многие годы был отдельным проектом. Это полноценный PHP фреймворк, похожий на Laravel, Yii и другие, который можно использовать и вне Joomla! CMS.
  • Развитая система плагинов и событий для них[20]. С помощью плагинов можно обрабатывать содержимое текста сайта перед выводом, добавлять элементы панели управления или пользовательской части, предоставлять контент для индексации умным поиском, добавлять команды в CLI интерфейс Joomla, реализовывать различные интеграции со внешними системами и многое другое.
  • Начиная с версии 4.0 добавлена поддержка веб-сервисов в виде REST, компонент организации рабочих процессов и возможность шаблонизировать электронные письма сайта.

Минимальные системные требования

править
  • Для версий 1.6, 1.7 и 2.5 требуются, как минимум, Apache 2.0, PHP 5.2.4 и MySQL 5.0.4.[21]
  • Для версии 3.x требуются PHP 5.3.10+ (Magic Quotes GPC off), MySQL 5.1+ (с поддержкой InnoDB), Apache 2.x+ (с модулями mod_mysql, mod_xml, и mod_zlib)[21]
  • Для версии 4.x требуются PHP 7.2.5+, MySQL 5.6+ (с поддержкой InnoDB), Apache 2.x+ (с модулями mod_mysql, mod_xml, и mod_zlib)[21][22]
  • Для версии 5.x требуются PHP 8.1.+, MySQL 8+ (с поддержкой InnoDB) / MariaDB 10.4+ / PostgreSQL 12+, Apache 2.4+ (с модулями mod_mysql, mod_xml, и mod_zlib) / Nginx 1.21+ / Microsoft IIS 10+ [21][22]

Использование в электронной коммерции

править

На платформе Joomla! существует множество расширений для организации электронного магазина, в частности:

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

Награды

править

Best Linux / Open Source Project — лучший проект с открытым исходным кодом. Выставка LinuxWorld Expo 2005.[23]

  • 2005
    • Linux & Open Source Awards in London Best Linux / Open Source Project
  • 2006
    • Packt Open Source Awards — Best Open Source CMS
    • UK Linux & Open Source Awards Best Linux / Open Source Project - Joomla! Wins Again at UK LinuxWorld
  • 2007
    • Packt Open Source Awards — Best PHP Open Source CMS
  • 2008
    • Packt Open Source Awards
      • Open Source CMS Most Valued Person — Personal award Johan Janssens
      • 1st Runner-up Best Open Source CMS
      • 1st Runner-up Best Overall Open Source CMS
  • 2009
    • Packt Open Source Awards
      • Open Source CMS Most Valued Person — Personal award Louis Landry
      • 1st Runner-up Packt Hall of Fame CMS
      • 2nd Runner-up Best Open Source CMS
  • 2010
    • Packt Open Source Awards — 2nd Runner-up Hall of Fame CMS
  • 2011
    • Packt Open Source Awards — Best Open Source CMS
  • 2012
    • Infoworld Bossie Awards — Best Open Source Application
  • 2014
    • CMS Critic People's Choice Awards — Best Open Source PHP CMS
  • 2015
    • CMS Critic People's Choice Awards — Best Free CMS
  • 2016
    • CMS Critic People's Choice Awards — Best Free CMS
  • 2017
    • CMS Critic People's Choice Awards - Best Free CMS [24]
  • 2018
    • CMS Critic People's Choice Awards - Best Free CMS [25]
  • 2019
    • CMS Critic People's Choice Awards - Best Free CMS [25]
  • 2020
    • CMS Critic People's Choice Awards - Best Free CMS[26]
  • 2021
    • CMS Critic People's Choice Awards - Best Free CMS[27] [28]
    • CMS Critic's Choice Awards - Best Open Source CMS[27] [28]
  • 2022
    • Expert Insights — Spring 2022 Best-Of Awards [29]
    • FOSS Awards — Highly Recommended [30] [31]
    • Cloudfest Hackathon — Overall Hackathon Winner [32]
    • Cloudfest Hackathon — Social Media Engagement
    • CMS Critic People's Choice Awards - Best Free CMS[33]
  • 2023
    • CMS Critics Awards - People's Choice Awards - Best Free CMS[34][35]
    • CMS Critics Awards - People's Choice Awards - Best Open Source CMS[34][35][36]

Примечания

править
  1. The Joomla! Project Introducing Joomla 1.0 (брит. англ.)
  2. Category:Joomla! - Wikimedia Commons
  3. The joomla Open Source Project on Open Hub: Languages Page — 2006.
  4. Joomla! (англ.)
  5. Joomla! 4 - Afrikaans
  6. В суахили представляет собой заимствование арабского جملة «совокупность».
  7. Ric Shreves. 2008 Open Source CMS Market Survey (англ.) (pdf) (27 июля 2008). — Обзор рынка открытых CMS. Дата обращения: 11 августа 2009. Архивировано 28 августа 2011 года.
  8. Joomla! 1.7.5 Released (англ.) (html) (2 марта 2012). Дата обращения: 2 марта 2012. Архивировано 31 мая 2012 года.
  9. Department, Production Joomla! 5 - Panta Rhei (The follow up) (брит. англ.). Joomla! (2 сентября 2022). Дата обращения: 21 мая 2024.
  10. Опубликован скорректированный план выпуска релизов Joomla 4 и Joomla 5. Хабр (3 сентября 2022). Дата обращения: 21 мая 2024.
  11. 1 2 Trenkle, Benjamin Joomla! Project Roadmap (брит. англ.). Joomla! Developer Network™. Дата обращения: 21 мая 2024.
  12. План развития (roadmap) Joomla с датами выхода релизов - Joomlaportal. joomlaportal.ru. Дата обращения: 21 мая 2024.
  13. Joomla! CMS versions — Joomla! Documentation. Дата обращения: 31 декабря 2015. Архивировано 4 марта 2016 года.
  14. Joomla! Community Portal — Translations Packages. Дата обращения: 18 июля 2016. Архивировано 20 августа 2016 года.
  15. Joomla Работа с персональными данными в Joomla 4 / Joomla 5 — Разработка на vc.ru (англ.). vc.ru (31 октября 2023). Дата обращения: 7 августа 2024.
  16. Работа с персональными данными в Joomla 4 / Joomla 5 - WebTolk. web-tolk.ru. Дата обращения: 7 августа 2024.
  17. Толкачёв, Сергей Руководство по новой функции Joomla 4 – Процессы — Медиа на vc.ru (англ.). vc.ru (16 октября 2021). Дата обращения: 7 августа 2024.
  18. Руководство по новой функции Joomla 4 – Процессы - WebTolk. web-tolk.ru. Дата обращения: 7 августа 2024.
  19. Namespaces | Joomla! Programmers Documentation (англ.). manual.joomla.org. Дата обращения: 7 августа 2024.
  20. Extension and Dispatcher Classes | Joomla! Programmers Documentation (англ.). manual.joomla.org. Дата обращения: 7 августа 2024.
  21. 1 2 3 4 Technical Requirements | Joomla! Programmers Documentation (англ.). manual.joomla.org. Дата обращения: 21 мая 2024.
  22. 1 2 Системные требования Joomla - Joomlaportal. joomlaportal.ru. Дата обращения: 21 мая 2024.
  23. "Joomla! получила 2 награды на LinuxWorld Expo 2005". Joomla! по-русски. 2005-10-07. Архивировано 3 февраля 2017. Дата обращения: 3 февраля 2017.
  24. CMS Critic Awards 2017. Дата обращения: 21 апреля 2018. Архивировано 26 июля 2018 года.
  25. 1 2 CMS Critic Awards (англ.). CMS Critic. Дата обращения: 12 февраля 2019. Архивировано 2 февраля 2019 года.
  26. CMS Critic Awards (англ.). CMS Critic. Дата обращения: 19 ноября 2021. Архивировано 19 ноября 2021 года.
  27. 1 2 Introducing the Winners of the 2021 CMS Critic's Choice Awards (англ.). CMS Critic (31 марта 2022). Дата обращения: 9 апреля 2022. Архивировано 8 апреля 2022 года.
  28. 1 2 Joomla! Marketing Team. Joomla! is the Best Free CMS and Best Open Source CMS by 2021 CMS Critic Awards (брит. англ.). Joomla! Community Portal. Дата обращения: 9 апреля 2022. Архивировано 9 апреля 2022 года.
  29. The Top 10 Content Management Systems (CMS) (амер. англ.). Expert Insights (10 декабря 2021). Дата обращения: 14 февраля 2023. Архивировано 14 февраля 2023 года.
  30. 20i FOSS Awards. 20i FOSS Awards (англ.). 20i. Дата обращения: 14 февраля 2023. Архивировано 13 февраля 2023 года.
  31. Joomla признана лучшей CMS в конкурсе 20i FOSS Awards - Глобальные новости - Joomlaportal. joomlaportal.ru. Дата обращения: 21 мая 2024.
  32. martin.strubich. CloudFest Hackathon 2022 - Greatest Hackathon Ever! (амер. англ.). CloudFest Blog (8 апреля 2022). Дата обращения: 14 февраля 2023. Архивировано 14 февраля 2023 года.
  33. Critic, C. M. S. Let's Celebrate the Winners of the 2022 CMS Critic People’s Choice Awards (англ.). CMS Critic (2 марта 2023). Дата обращения: 21 мая 2024.
  34. 1 2 CMS Joomla победила в премии CMS Critics Awards - People's Choice Awards 2023 - Глобальные новости - Joomlaportal. joomlaportal.ru. Дата обращения: 21 мая 2024.
  35. 1 2 Critic, C. M. S. Announcing the Winners of the 2023 CMS Critic People’s Choice Awards (англ.). CMS Critic (1 марта 2024). Дата обращения: 21 мая 2024.
  36. Что такое Joomla! - Joomlaportal. joomlaportal.ru. Дата обращения: 21 мая 2024.

Литература

править

Ссылки

править
Официальный сайт