Статьи

Что такое Joomla?

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

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

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

Система управления контентом, называемая CMS, — это система, которая позволяет вам легко и эффективно управлять информацией. Информация может быть чем угодно, будь то простая статья или сложная система управления медиа. Целью CMS является обеспечение эффективного рабочего процесса, который отображает ясное состояние объекта в любой данный момент времени. Проще говоря, это позволяет информации проходить через различные состояния, такие как черновик, просмотр, редактирование и публикация.

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

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

В своей основной форме типичный рабочий процесс любой CMS может выглядеть примерно так:

  • Автор начинает беседу с создания статьи, и на данный момент статус статьи по умолчанию является черновым . Обычно для перехода статьи из черновика в состояние рецензирования требуется несколько итераций.
  • Рецензенту предоставляется разрешение на доступ ко всем статьям, имеющим статус рецензирования . Опять же, рецензенту требуются сознательные усилия, чтобы просмотреть их и передать их редакторам, если они соответствуют определенным рекомендациям, которые необходимы для перехода статьи из статуса рецензирования в статус редактирования . Конечно, рецензент может отправить их обратно в черновик , оставив соответствующие комментарии, если от автора ожидается улучшение.
  • Просмотр всех статей в статусе редактирования и их окончательное оформление — это то, чего от редактора ожидают в повседневной жизни. Кроме того, они несут ответственность за передачу контента из редактирования в очередь публикации .
  • Наконец, издатель должен убедиться, что контент, находящийся в очереди публикации, получает надлежащую обработку, запланировав его публикацию во внешнем интерфейсе.

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

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

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

Joomla! построен с использованием некоторых наиболее широко используемых веб-технологий, таких как PHP, MySQL и Apache. При этом речь идет не только о вышеупомянутых технологиях, но и о других популярных базах данных и веб-серверах. Вы можете выбрать SQL Server или PostgreSQL вместо базы данных MySQL, если вы предпочитаете это делать. С другой стороны, Microsoft IIS и NGINX являются кандидатами на выбор веб-сервера наряду с Apache.

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

Неудивительно, что последняя основная версия Joomla! является адаптивным и готовым для мобильных устройств, поскольку в настоящее время невозможно игнорировать это, и это может быть дорогостоящим для любой платформы, которая сделала это. На момент написания этого, Joomla! 3.4.x поддерживает версию PHP 5.5+, но не PHP 7. Тем не менее, релиз долгожданной версии Joomla! 3.5 не за горами, и он заявляет о поддержке PHP 7, который, если верить экспертам, будет иметь огромное повышение производительности.

Так что, если это был обзор высокого уровня того, что Joomla! В следующем списке перечислены некоторые конкретные функции, которые вы так долго ждали, которые поставляются с Joomla! само ядро.

  • готовые функции управления контентом
  • организация контента с использованием вложенного уровня категорий
  • управление версиями и маркировка контента
  • управление медиа
  • Управление пользователями
  • мощная система ACL (Access Control Lists)
  • интеллектуальная функция поиска для свободного поиска по всему тексту
  • RSS-каналы
  • многоязычные особенности
  • отзывчивый и удобный для мобильных устройств интерфейс

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

Ты не на той стороне стола, если веришь, что Joomla! полезен только для управления контентом, так как вы будете удивлены, узнав, что на официальном сайте JED (Joomla Extensions Directory) доступно более 7000 расширений, которые предоставляют функции, которые варьируются от простого решения галереи изображений до полноценного бронирования. и система управления бронированием. Фактически, существует большая вероятность того, что расширение, которое вы хотите разработать самостоятельно, уже доступно на JED!

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

Давайте взглянем на роскошь, которую вы могли бы иметь, выбрав Joomla! как ваше решение:

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

Это лишь некоторые из них, так как очень сложно перечислить все возможные варианты. Как говорится, ограничением является ваше воображение — так верно для Joomla!

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

Например, скажем, вы хотите создать сервис, который предоставляет Joomla! данные в стороннее мобильное приложение. Чтобы достичь этого, совершенно нормально создать собственное расширение, которое выполняет желаемую функциональность, но с дополнительным багажом этих нежелательных функций CMS в вашем случае. Вместо этого вам бы хотелось выбрать нужные API-интерфейсы, избегая остальных функций, а конечный продукт — это сверхлегкое веб-приложение.

Это цель Joomla! Framework, ранее известный как Joomla! Платформа. Это позволяет вам создавать приложения, используя знакомый набор API, если вы пришли из Joomla! CMS фон. Он предоставляет общий набор API, как и в других PHP-инфраструктурах, позволяя вам больше концентрироваться на функциях приложения, а не изобретать колесо для таких функций, как обработка ввода, уровень абстракции базы данных, маршрутизация и тому подобное.

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

Один многообещающий пример Joomla! Framework — это приложение для отслеживания проблем Joomla! Сама CMS. Таким же образом вы можете создать любое веб-приложение, которое вы бы создали с любой другой платформой на основе PHP. Исследуйте это, и я уверен, что есть что-то, что он может предложить всем.

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

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

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

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

Прежде чем я начну объяснять, что такое модуль в Joomla !, я хотел бы привести несколько примеров, чтобы упростить процесс. Если вы когда-либо посещали Joomla! на переднем крае вы увидите множество блоков, таких как Логин, Последние статьи, Последние каналы и т. д. К вашему удивлению, это Joomla! Модули назначены на разные позиции в шаблоне! Joomla! Модуль — это подвижный блок, который формирует выходные данные, большую часть времени выбирая данные из компонента, и отображает выходные данные.

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

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

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

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

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

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

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

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

Итак, это JED в вашем распоряжении — почувствуйте себя комфортно, и вы будете рады, что сделали это.

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

Для опытных разработчиков PHP:

Это настолько обширная тема, что вы найдете множество онлайн-уроков и видео в вашем распоряжении. Также участники Joomla! Форум сообщества достаточно дружелюбен, чтобы помочь вам разобраться в любых проблемах.

Я с удовольствием представил одну из самых популярных CMS с открытым исходным кодом в области веб-разработки — Joomla! Хотя мы едва поцарапали поверхность Joomla! Мир, я надеюсь, что я смог отдать должное предмету.

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

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