Drupal

Drupal (друпал) — система управления сайтом (CMS), написанная на языке PHP и использующая в качестве хранилища данных реляционную базу данных (поддерживаются MySQL, PostgreSQL и другие). Drupal является свободным программным обеспечением защищённым лицензией GPL и улучшается усилиями энтузиастов со всего мира.

Технические особенности

Архитектура Drupal позволяет применять его для построения различных типов сайтов — от блогов и форумов, до информационных архивов или сайтов новостей. Функциональность обеспечивается подключаемыми модулями, обращающимися к общему API Drupal. Стандартный набор модулей включает, например, такие функции как новостная лента, блог, форум, загрузка файлов, сборщик новостей, голосования, поиск и др. Большое количество дополнительных модулей, значительно расширяющих базовые функции можно скачать с официального сайта.

Наиболее важные функции предоставляемые модулями входящими в поставку Drupal:

  • единая категоризация всех видов содержимого — от форумных сообщений до блогов и новостных статей
  • вложенность категорий любой глубины
  • поиск по содержимому сайта
  • разграничение доступа пользователей к документам (ролевая модель)
  • динамическое построение меню
  • поддержка XML-форматов
    • вывод документов в RDF/RSS
    • аггрегация материалов с других сайтов
    • BlogAPI для публикации материалов с помощью внешних приложений
  • поддержка общей авторизации между сайтами на Drupal («сайты-партнёры»)
  • короткие URL (иначе "человеко-понятные" — ЧПУ)
  • поддержка сменных тем оформления сайта с предоставлением нескольких готовых вариантов
  • поддержка переводов интерфейса сайта на разные языки
  • возможность создания сайтов с пересекающимся содержимым (например общей базой пользователей или общими настройками)
  • раздельные конфигурации сайта для различных виртуальных хостов (в том числе собственные наборы модулей и тем оформления для каждого подсайта)
  • механизм для ограничения нагрузки на сайт (автоматическое отключение при высокой посещаемости части информационных блоков и модулей)

Поддержка локализации

Система поддерживает локализацию интерфейса для различных языков. Drupal 5 имеет переводы интерфейса на 33 языка (однако не все переводы являются полными). Имеется поддержка русского языка. В Drupal используется собственный механизм для локализации с хранением переводов в базе данных, наравне с остальным содержимым сайта. При этом несложной является адаптация к работе со стандартной библиотекой gettext. Импорт и экспорт переводов сайта также осуществляется в виде po-файлов (формат используемый библиотекой gettext).

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

В Drupal 6 планируется обновление механизма локализации, для полноценной работы с многоязычным содержимым. Также планируется адаптация к формату XLIFF для хранения переводов (совместимость с gettext сохранится).

Методы структуризации содержимого

В Drupal предлагается гибкая схема организации структуры сайта на основе таксономии. Таксономия — механизм, позволяющий создавать произвольное количество тематических категорий для содержимого сайта и ассоциировать их с модулями, обеспечивающими ввод и вывод информации. Категории могут представлять плоские или иерархические списки, либо сложные структуры, где элемент может иметь несколько «родителей» и несколько дочерних элементов. С помощью подобной схемы одними и теми же модулями возможна организация различных вариантов структуризации содержимого. Например, легко создаётся сквозной список «ключевых слов» для всех документов сайта и т. п.

Дизайн сайта на Drupal строится на основе сменных тем оформления. Как таковой нет единственной схемы построения дизайна, взамен Drupal даёт возможность использовать различные «движки тем», использующие шаблоны удобные для редактирования (шаблоны XML в движках xtemplate и Smarty или шаблоны на HTML+встроенный PHP в движке phptemplate и т. п.), либо создавать темы оформления напрямую обращающиеся к API Drupal. В комплект поставки Drupal включён движок тем на основе phptemplate и несколько примеров тем. Другие движки тем можно скачать на сайте проекта.

Начиная с версии 4.7 Drupal поддерживает технологию Ajax, для динамической подгрузки содержимого без полного обновления страниц. В версии 5 для работы с JavaScript добавлена библиотека JQuery. В версию 6 добавлено создание форм с помощью AHAH.

Системные требования

Drupal в первую очередь ориентирован на платформу LAMP, но возможны варианты использования другого системного ПО.

  • Операционная система: семейство Unix (в том числе FreeBSD, Mac OS X), Windows (любые ОС, на которых может работать интерпретатор PHP)
  • Веб-сервер: Apache, Lighttpd (теоретически любой веб-сервер, допускающий исполнение PHP-кода)
  • СУБД: MySQL, PostgreSQL (в принципе несложна адаптация к другим реляционным СУБД, например IBM DB2 [2])
  • PHP версии 4.3.3 и выше

Официальный сайт: http://drupal.org/

Партнеры :)

  • DLE Datalife engine CMS