Как устроена CMS Drupal, и как с ней работать

Drupal: 
Уровень сложности: 

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

Подходы к разработке сайта могут быть разными. Узнаем, для каких сайтов CMS Drupal подходит.

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

2. Разрабатывать сайт, который может расширяться без ограничений
Это более профессиональный подход, который предполагает владение информацией о многих модулях, как популярных, так и специфических. В этом случае другие CMS будут неверным решением, так как их функционал ниже, а функционал системы Drupal - самого высокого уровня. Но не все задачи будут решаться модулями: также придётся если не писать свои php-коды, то копировать в Интернет готовые решения и уметь их правильно вставлять в специальные файлы Друпал. Не обязательно иметь большой опыт php-разработки, чтобы решать задачи - достаточно правильно задавать вопросы гугл или уметь формулировать вопросы на форумах. Друпал имеет множество ответов на вопросы и решает такие задачи лучше других.

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

4. Разработать популярный специфический проект масштаба страны
Пожалуй, крупные магазины, порталы, общеизвестные российские сервисы (например авито, дром.ру, одноклассники) будут иметь недостаточную производительность, если использовать API Drupal при разработке. В этом случае оптимальным решением будет написание всей системы заново, без использования Друпал для базовых функций (регистрации, управления пользователями, содержимым). Как и любая другая, CMS Drupal в этом случае просто не нужна: функциона друпал будет во много раз ниже доработанных функций такой системы, а значит и систему API можно заменить собственной, специально разработанной для проекта. Для работы над такими проектами нужны фреймворки и талантливые программисты.

Область применения этой системы - огромная, хотя и имеет ограничения.

Структура CMS Drupal, где её скачать, какую версию выбрать, как обновлять

CMS Drupal состоит из набора программ на PHP, в том числе, из модулей ядра. Последнюю версию друпал можно скачать по кнопке Download & Extend на официальном сайте: https://www.drupal.org/project/drupal внизу в таблице рекомендуемых релизов - Recommended releases.
Обычно предлагается два релиза (выпуска) CMS Drupal: последний и предшествующий. На данный момент это релизы: 7.38 - из ветки седьмой версии Друпал - и релиз 6.36 - из ветки шестой версии.

Почему есть 7 и 6 ветка, а также 8? Эти ветки имеют различные функциональные особенности, а именно: API-функции. Поэтому все модули, которые написаны для 6й версии, не будут работать на 7й, так как 7я версия не поддерживает API 6й версии. Но как ядро Друпал, так и большинство модулей существуют в версиях 6, 7 и теперь многие в 8 версии.

Какая версия Друпал основная и правильная? На данный момент 7 версия и её последний релиз 7.38 - то что нужно скачивать и использовать для всех новых сайтов. Другие версии (6, 8) просто не нужно использовать, так как 6я является устаревшей, а 8я еще не готова для использования - она не стабильная и может содержать ошибки или уязвимости.

Как обновлять друпал? Друпал нужно обновлять при появлении нового релиза выбранной ветки. То есть, если у вас дурпал 7й версии,например 7.38, тогда когда выйдет новая версии 7.39 или 7.40 - можно будет сделать обновление (хотя не обязательно). Иногда без обновления друпал рискует быть взломанным, так как разработчики иногда находят ошибки, которые влияют на безопасность сайта, и закрывают эти ошибки в новой версии.

Если вы установили нужную версию (Recommended releases), тогда давайте расширять функционал сайта при помощи модулей.

О модулях CMS Drpual

Как все CMS Drupal работает с содержимым и позволяет редактировать тексты сайта, его структуру, внешний вид, создавать интерактив, добавлять функции. Для расширения функций Друпал не нужно скачивать отдельные версии друпал - достаточно установить ядро и расширить ядро готовыми модулями. В отличие, например, от DLE, в которой для смены дизайна нужно скачивать целиком всю cms заново, в Друпал для смены дизайна сайта не нужно скачивать всю CMS целиком. В друпал внешний вид и функции сайта отделены от ядра и скачиваются отдельно.

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

Для расширения ядра под конкретный проект нужно пользоваться модулями. В других CMS это ещё называется плагины, расширения.

Модули ядра - это модули, которые уже есть в Друпал базовой установки. Это обязательные модули, которые расположены в папке /modules в корне сайта. Их нельзя удалять или редактировать, иначе сайт перестанет работать.

Контрибные модули - это дополнительные модули, которые разработали опытные программисты, использующие CMS Drupal и готовые поделиться своими решениями. Эти модули проверены и допущены к массовому использованию (от английского contribute - содействовать, делать вклад). Использование контрибных модулей безопасно. Эти модули должны размещаться в отдельной папке: /sites/all/modules (и не должны быть в одной папке с модулями ядра, хотя это не навредит но это неудобно при обновлении сайта)

Всё что нужно новичку для добавления функционала друпал-сайту - скачать нужный модуль с drupal.org и настроить.

Как узнать свою версию Друпал

Для установки модулей правильной версии вы должны знать версию Друпал, установленную на вашем сайте. Узнать версию вашей системы можно двумя способами:

  1. посмотреть в файле CHANGELOG.txt в корне сайта в первой строке, что-то типа: Drupal 7.38, 2015-06-17 - значит Друпал 7й версии
  2. посмотреть в администраторском разделе в Модулях, то есть тут site.ru/admin/modules - в таблице модулей в колонке Версия у всех модулей будут обозначены версии с первой цифрой 7 - значит у вас 7й друпал.

Как правильно выбирать модули? Если вы знаете версию ядра, вам нужно подбирать правильные версии модулей: начинающиеся с этой же цифры. Например, на странице модуля Taxonomy menu внизу есть версии для скачивания: на данный момент 7.x-1.5 и 6.x-2.9, также 8.x-3.x-dev - это версии для 7, 6 или 8 друпал.

О самых популярных модулях и базовой настройке Друпал читайте тут.