В последнее время наблюдается все больший и больший рост популярности таких CMS как Joomla и Drupal, связанный с их повсеместным использованием. Следует отметить, что при выборе движка все-таки основным критерием остается вкус разработчика, нежели анализ функционала, так как на данный момент, в силу их широкого распространения, обе CMS по функционалу практически не отличаются друг от друга.
Joomla! | Drupal |
Версии | |
Разработчики Joomla в новых обновлениях стараются максимально приблизить движок к основным запросам пользователей в плане безопасности (т. е. устранению уязвимостей), а также добавить свои нововведения, которые позволяют расширить функционал движка. | Разработчики Drupal с тем же успехом закрыли в последней версии своего движка все основные на данный момент уязвимости. |
На данный момент видимой и серьезной разницы между работой разработчиков данных движков не наблюдается — и в том и в другом случае проводится серьезная работа по улучшению функционала, защищенности и дружелюбности для разработчика. | |
Особенности начального дистрибутива | |
Joomla является разносторонней CMS, рассчитанный первоначально на создание информационных интернет-порталов. Дистрибутив «по умолчанию» включает в себя лишь наличие основных функций для создания ресурса, которые можно значительно расширить с помощью сторонних компонентов. | Drupal первоначально все-таки представляет из себя больше комьюнити ресурс (комментируемый блог, форум), нежели CMS. В отличие от Joomla дистрибутив «по умолчанию» включает в себя наличие таких возможностей, как создание форума или модуль по управлению комментариями на сайте. Функционал также значительно расширяется с помощью сторонних модулей. |
По данному критерию нельзя четко выделить какой-то движок. Единственный нюанс заключается в том, что в дистрибутиве «по умолчанию» Drupal все-таки занимает позицию выше, чем Joomla в том плане, что первоначально в него включен набор функций, позволяющих создать комьюнити ресурс, когда в Joomla для этого нужно прибегать к установке сторонних компонентов. | |
Структура движка | |
Joomla представляет собой блочно-модульный конструктор, т.е сайт является совокупностью блоков, содержащих тот или иной контент. Основная структура: сайт состоит из компонентов, модулей (части общей конструкции сайта) и плагинов (минимальный элемент, содержащий ту или иную функцию). | Drupal также представляет собой блочно-модульный конструктор. Основная структура: модули, в которых заключены как отдельные функции, так и их набор. |
В этом вопросе Joomla занимает лидирующую позицию, так как система расширений подразделяется на три составляющих, имеющих иерархию, а поэтому и более тонкую установку, и настройку расширений. Более того, в Joomla еще есть специальная система их установки, позволяющая при помощи xml-файла описывать все действия необходимые для совершения при создании записи о расширении (например, SQL-запросы, копируемые файлы или действия выполняемые после установки, которые нельзя выполнить автоматически). | |
Коммерческие особенности расширений | |
Расширения в Joomla являются как бесплатными, так и коммерческими. На данный момент все чаще и чаще наблюдается разработка серьезных расширений на платной основе. | На данный момент основная масса расширений все-таки является бесплатной. |
По поводу большего количества коммерческих расширений для Joomla, нежели чем для Drupal, можно отметить как положительные стороны, так и отрицательные. Отрицательные стороны, учитывая интересы разработчика, очевидны — покупать дополнительные расширения для бесплатного движка никому не хочется, но эту же особенность можно считать и сильной стороной Joomla, так как коммерческая основа распространения некоторых компонентов положительно сказывается на их качестве. | |
Шаблоны оформления | |
Каждый шаблон оформления представляет собой набор определенных модулей, плагинов, расположения блоков сайта, файлов стилей, а иногда и нескольких компонентов. | В данном случае шаблон представляет собой набор стилевых файлов. |
Необходимо отметить минусы структуры шаблонов в Joomla — если в Drupal при смене шаблона меняются только стилевые файлы, то в Joomla некоторые шаблоны порой меняют в дополнение не только общее расположение блоков сайта, но и приоритеты этих блоков (например, основное меню сайта может измениться с вертикального на горизонтальное). Конечно, при создании и первоначальном выборе оформления сайта данный нюанс не существенен, так как контента все равно еще нет. Но если сайт уже разработан, и все меню привязаны по приоритетам, то изменение текущего шаблона на какой-либо некорректный может закончиться потраченным временем на исправление неприятностей (например, пропажа некоторых меню сайта). И все же проблема решаема — желательно использовать шаблоны проверенных разработчиков, что в том числе относится и к Drupal. | |
Уязвимости | |
Уязвимости присутствуют в ранних версиях линейки 1.0.х | Уязвимости присутствуют в ранних версиях линейки 4.х и 5.х |
По поводу уязвимости Joomla и Drupal, можно лишь посоветовать разработчику, использовать последние версии используемой линейки движка, в принципе, что и советуют разработчики данных движков. | |
Визуальный редактор | |
В основном это самые распространенные редакторы. Но все же самым удобным и функциональным из бесплатных является редактор JCE, разработанный специально для Joomla, составляющий очень хорошую альтернативу платному WysiwygPro. | В Drupal можно встроить TinyMCE или FCKEditor. И тот и другой гибко настраиваются. Оба являются мощными средствами. |
Конечно же, выбор редактора — дело вкуса, но Joomla все-таки занимает здесь лидирующую позицию из-за более широкого выбора визуального редактора. | |
Работа сизображениями | |
В базовом пакете включен функционал для работы с изображениями, причем настолько широкий, что в принципе не принуждает к установке сторонних расширений. | В базовом пакете вставка картинок не предусмотрена. Решается либо прикреплением картинки к посту блога, либо установкой WYSIWYG-редактора TinyMCE и медиа-менеджера IMCE. |
Здесь Joomla снова занимает лидирующую позицию из-за включения функционала для работы с изображениями в базовый пакет. | |
Производительность | |
Первоначально, более тяжелый, чем Drupal по производительности базовый пакет, в наращивании расширений не столь заметно прибавляет нагрузку на веб-сервер. | Менее загруженный базовый пакет при наращивании в последующем дополнительными расширениями запрашивает несколько больше ресурсов веб-сервера. |
По минимальной нагрузке на веб-сервер Joomla, конечно же, лидирует. Но этот аспект настолько субъективный (так как загруженность будет зависеть непосредственно от количества и качества установленных расширений), что точно можно лишь судить о базовых пакетах этих CMS. |
Итак, в процессе анализа функциональности двух очень популярных движков в среде веб-разработчиков можно выделить следующие моменты:
Joomla — очень функциональный движок благодаря трехуровневой системе расширений (компонент-модуль-плагин), которых имеется огромное количество. Также стоит отметить наличие сильного текстового и графического редактора в базовой сборке. Движок в основном предназначен для создания информационных интернет-порталов, но за счет расширений может быть многоплановым. Нагрузки на сервер создает небольшие.
Drupal — не менее функциональный движок, одним из основных его плюсов является простота и удобство верстки с помощью админпанели. В плане оформления с помощью дополнительных шаблонов занимает лидирующее место. Базовый пакет включает в себя все необходимые инструменты для создания комьюнити ресурса. Установка расширений имеет меньше ошибок, так как сам процесс установки наполовину выполняется вручную. Движок в основном предназначен для создания ЖЖ и блог-ресурса, но за счет расширений может быть многоплановым.
Основное различие движков Joomla и Drupal лишь в том, что Joomla рассчитана на создание обычного сайта, когда Drupal все-таки является сильным блоговым движком. Важно помнить, что создать сайт определенного типа (блог, портал и т.д.) можно на любом движке, поэтому следует руководствоваться в выборе движка для разработки сайта удобством интерфейса и админпанели, так как именно за этими инструментами проводится большая часть времени. Да и к тому же на сегодняшний день различия между Drupal и Joomla больше сводятся к делу вкуса.
Этапы подготовки Drupal
Для корректной работы системы Drupal необходимо выполнить следующие начальные настройки:
1.Локализация - по умолчанию меню, ссылки и все содержимое CMS Drupal представлено на английском языке, поэтому, сначала следует локализовать (русифицировать) сайт.
1.1. Включение модуля Locale
Для локализации сайта используется стандартный модуль Locale. Он входит в состав CMS Drupal, однако по умолчанию не включен.
Administer → Site building → Modules → Locales (установить флажок напротив него) → Save configuration.
1.2. Скачивание файла с переводом
Нужно скачать файл перевода интерфейса CMS Drupal – файл с расширением PO.
1.3. Установка файла перевода
Administer → Site building → Translate interface → нажать кнопку Import и в поле Language file отобразившейся страницы выбрать свой файл перевода (с расширением.po), кроме того, указать язык перевода (в списке Import into) → нажать кнопку Import и подождать некоторое время, пока будет выполняться перевод сайта. Затем нужно перейти в раздел Administer → Site configuration → Languages → установить переключатель Default в положение с названием нужного языка → нажать кнопку Save configuration.
2.Общая информация о проекте
Название и другие персональные элементы страницы можно изменить в разделе Управление → Настройка сайта → Информация о сайте
ñ Имя – указать в этом поле имя сайта.
ñ E-mail адрес – определяет адрес электронной почты владельца сайта или самого сайта. Он будет использоваться для рассылок, а также при отправке писем для регистрации нового пользователя, смены пароля и т. д.
ñ Слоган – в этом поле предлагается указать девиз сайта. Следует только учитывать, что не все темы оформления сайта отображают девиз.
ñ Миссия – здесь нужно вкратце описать назначение сайта: зачем он создается, на кого он рассчитан и какую информацию здесь можно найти. Данные сведения будут отображаться на главной странице сайта. Для этого во многих темах оформления предназначен отдельный специальный блок.
ñ Сообщение внизу страницы – это любое сообщение, которое будет отображаться в нижней части сайта. Чаще всего это поле используют для добавления копирайта (сведения о дате создания, разработчике/дизайнере/владельце, а также о правах на использование материала, который можно найти на сайте).
ñ Анонимный пользователь – определяет, какое имя будет у всех пользователей, которые не зарегистрированы в данный момент на вашем сайте. По умолчанию используется имя Гость.
ñ Главная страница по умолчанию – содержит адрес главной страницы вашего сайта. По умолчанию используется адрес https://<сайт>/?q=node.
3. Установка даты и времени
Управление → Настройка сайта → Дата и время.
4.Выбор административной и общей темы оформления
Огромное количество тем для CMS Drupal можно найти на официальном сайте проекта Drupal – www.drupal.org.
4.1. Включение темы
Управление → Конструкция сайта → Темы оформления → установить переключатель рядом с добавленной темой и ее названием По умолчанию → нажать кнопку Сохранить настройки
4.2. Административная тема
Можно сделать так, чтобы для пользователей Интернета отображалась одна тема, а лично для администратора сайта – совершенно другая.
Выбор темы оформления для администратора осуществляется в разделе Управление → Настройка сайта → Тема админки.
4.3. Настройка темы оформления сайта
Управление → Конструкция сайта → Темы оформления – напротив названия раздела отображаются ссылки Список и Настроить
▪ Скрытие/отображение логотипа, названия, девиза, назначения сайта
▪ Скрытие/отображение значка favicon.ico, аватарок в сообщениях и комментариях, а также поля поиска.
▪ Выбор типов страниц, для которых будет отображаться персональная информация (имя автора, дата создания и т. д.).
▪ Выбор логотипа, который будет отображаться на сайте.
▪ Выбор значка favicon.ico (значок сайта, который будет отображаться, например, напротив названия на вкладке браузера или в списке Избранное).
4.4. Настройка отображения блоков темы оформления сайта
Управление → Конструкция сайта → Блоки
Здесь можно определить, блоки с какой информацией будут отображаться на сайте, а какие – не будут. Кроме того, можно определять позицию конкретного блока на сайте.
5.Настройка производительности. Кэш страницы
Управление → Настройка сайта → Производительность → переключатель Режим кэширования. Он может быть установлен в одно из следующих положений: Выкл., Нормальный (рекомендуемый) и Агрессивный (только для профессионалов).
Практически для любого сайта оптимальным будет использование нормального режима кэширования. Включать агрессивный режим для постоянного использования можно только после длительного тестирования поведения вашего сайта в таком режиме. Кроме того, агрессивный режим кэширования не всегда можно включить, так как работающие модули могут его не поддерживать.
6.Установка необходимых модулей
ñ Content Construction Kit (CCK)
ñ Views
ñ JobSearch
Структура Drupal
Cтруктуру Drupal рассматривают в виде пяти слоев:
ñ пул данных - хранилице различных данных; все, что отображается на страницах сайта, вводится как данные;
ñ модули - подключаемые функциональности сайта. Кроме модулей входящих в поставку Drupal, можно использовать сторонние модули;
ñ блоки и меню - определяют видимую структуру страницы сайта. Блоки создаются модулями для отображения соответствующего интерфейса, кроме этого можно создать свой блок для отображения чего-либо;
ñ механизм управления пользователями - Drupal позволяет создавать пользователей сайта и назначать им роли, определяющие права доступа;
ñ тема - шаблон страницы, представляющий собой XHTML+CSS со вставками PHP-кода. Дополонительно в каждый шаблон включается набор функций, которые доступны для изменения. Это придает большую гибкость вывода блоков генерируемых модулями.
С точки зрения разработчика сайта, в Drupal важны следующие элементы:
ñ страница (page) - полная страница сайта, включая заголовок, конец, отображение модулей и содержимое. Структурно страница разбивается на области или регионы;
ñ блок (block) - небольшой блок с содержимым, который может быть использован на нескольких страницах. В разделе управления блоками можно назначить область страницы, в которой блок будет отображаться. Также можно ограничить появление блока на определенных страницах. Каждый блок имеет уникальный идентификатор (id), используемый при более близкой работе с ним;
ñ узел (node) - это основной блок на странице, другими словами главное содержание страницы. Они создаются в разделе создания материала. Каждый узел имеет уникальный идентификатор (id), который входит в URL страницы с этим узлом;
ñ тип материала (content type) - каждый узел относится к какому-либо типу материалов. Например изначально доступны два типа Page - статическая страница и Story - страница с комментариями, наподобие блогов. С помощью модулей как CCK, тип материала можно расширить дополнительными полями. А, переопределяя шаблон вывода узла, вывести эти поля в нужном месте;
ñ модуль (module) - как правило это небольшая программа на PHP, создающая различные элементы как блоки и типы материалов, или предоставляющая дополнительный интерфейс для управления сайтом. Каждый модуль имеет уникальное имя;
ñ путь (path) - URL-путь к странице. Некоторые модули вставляют свое имя в путь. С помощью модулей как autopath можно создавать синонимы адресов страниц.
ñ