logo
Разработка веб-сайта компании "ГИК"

1.3 Система управлением контентом Joomla!

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

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

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

Основные возможности CMS Joomla!:

1. Функциональность можно увеличивать с помощью дополнительных расширений (компонентов, модулей и плагинов).

2. Имеется модуль безопасности для многоуровневой аутентификации пользователей и администраторов (используется собственный алгоритм аутентификации и "ведения" сессий).

3. Система шаблонов позволяет легко изменять внешний вид сайта: расположение модулей, шрифты и другое. Можно предоставить пользователям выбирать одно из нескольких отображений. В сети существует огромный выбор готовых шаблонов, как платных, так и бесплатных. Также существует программное обеспечение для самостоятельного создания оригинальных шаблонов.

4. Предусмотрены настраиваемые схемы расположения модулей, включая левый, правый, центральный и любое другое произвольное положения блока. При желании содержимое модуля можно включить в содержимое материала. Например, выражение {loadposition mod_fpslideshow}, введенное (вместе с фигурными скобками) в произвольное место в статье, выведет содержимое модуля, которому задана позиция вывода как "mod_fpslideshow".

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

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

7. Многоязычность.

Начиная с версии 2.5 расширена поддержка баз данных. Реализована поддержка Microsoft SQL Server, в версии 3.0 - PostgreSQL. В настоящее время действует версия 3.5.

Joomla! имеет простую для понимания панель администрирования, которая включает следующие возможности:

· Для каждой динамической страницы можно создать своё описание и ключевые слова в целях повышения рейтинга в поисковых системах;

· Начало и окончание публикации любых материалов можно запрограммировать по календарю;

· Возможность ограничить доступ к определённым разделам сайта только для зарегистрированных пользователей;

· Настраиваемые схемы расположения элементов по областям шаблона;

· Различные модули (последние новости, счётчик посещений, подробная статистика посещений, гостевая книга, форум и другие);

· Возможно одновременно устанавливать несколько расширений, объединённых в один инсталляционный пакет. Реализована возможность автоматического обновления установленных расширений (при условии, что разработчик расширения задействует этот механизм);

· Публикация содержимого на нескольких языках;

· Возможность определить время начала и завершения публикации модулей;

· Возможность создания не одной, а нескольких форм обратной связи для каждого контакта;

· Модуль приёма от удалённых авторов новостей, статей и ссылок;

· Иерархия объектов;

· Менеджер рассылки новостей. Поддержка более чем 360 служб рассылки новостей по всему миру;

· Встроенный визуальный редактор TinyMCE;

· Человекопонятный URL

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

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

§ плагины ? элементы, отображаемые на административной панели инструментов и придающие дополнительную функциональность.

§ шаблоны ? элемент, отвечающий за унифицированное оформление всего сайта.

В ядро Joomla! входит:

· блок (функционал определяется HTML-кодом внутри него) и его разновидности с расширенными возможностями управления с административной панели: баннеры (модули для размещения рекламы), контакты (блок для размещения контактной информации и формы обратной связи), лента новостей (RSS подписка);

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

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

Можно выделить сильные стороны CMS Joomla!:

§ бесплатность;

§ открытый системный код, который позволяет при необходимости и наличии определенных навыков изменять в том числе и сам движок;

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

§ гибкость. При помощи одного и того же шаблона всегда можно сменить вид целого модуля или его компонента без исправления кода движка. Все такие изменения затем сохраняются в готовом шаблоне, однако их создание и применение требует знания PHP, CSS и JS; - большое количество разнообразных модулей, дополнений и шаблонов.

К отрицательной стороне относится:

§ необходимость создания лишнего кода в большом количестве;

§ довольно долгая загрузка страниц сайта, созданного на данной CMS именно вследствие наличия лишнего кода;

§ недостаточно понятная панель администрирования, создающая сложности начинающим веб-мастерам.