logo
Vvedenie_v_Veb_programmirovanien_2 / Vvedenie_v_Veb_programmirovanien_2

Приложение 2. Системы быстрой разработки Веб-приложений и cms

Drupal. Это — система управления сайтом (CMS), написанная на языке PHP и исполь­зующая в качестве хранилища данных реляционные базы данных ( MySQL, PostgreSQL и другие). Drupal является свободным программным обеспечением. Разработку проекта начал в 2000 году бельгиец Дрис Байтаерт,который в2007 году соз­дал фирму Acquia, направленную на коммерческую поддержку проектов и сервисов.Drupal— мощная система управления контентом, созданная группой энтузиастов со всего мира. В настоящее время активно разрабатывается версия 8.x, в которой упор делается на интернационализацию, мультиплатформенность,HTML5 и сервисы.

Архитектура Drupal позволяет применять его для построения различных типов сайтов — от блогов и форумов до информационных архивов или сайтов новостей. Имеющийся по умолчанию функционал можно увеличивать подключением дополнительных расширений — «модулей». Некоторые важные функции, предоставляемые Drupal:

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

Модули Drupal.

Кроме программных интерфейсов, в Drupal имеется несколько мощных модулей, бла­годаря которым даже без навыков программирования можно создавать проекты с до­вольно сложной структурой:

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

Другая парадигма появилась с созданием в Drupal расширения Content Construction Kit (CCK). CCK позволяет дополнять документы новыми полями различных типов — от по­лей ввода URL и email, до полей хранения и отображения мультимедийных файлов. Посредством дополнительных модулей к CCK (например Node reference) можно организо­вать связи между документами, не используя механизм таксономии.

Несколько примеров популярных модулей, которые можно скачать в репозитории на drupal.org:

На базе платформы Drupal разработано два конкурирующих решения, позволяю­щих организовать полномасштабный электронный магазин — модули e-Commerce и Ubercart. В Ubercart реализованы интерфейс покупателя и администратора (менеджера) магазина. Первый включает в себя витрину и корзину для покупок, второй обеспечивает управление товарами и их атрибутами, а также управление магазином в целом. Корзина Ubercart по умолчанию предоставляет возможность оплатить товар.

Выше рассмотренные модули, которые не входят в стандартный дистрибутив Drupal, можно скачать с официального английского сайта Drupal — drupal.org

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

Drupal поддерживает технологию Ajax для динамической подгрузки содержимого без полного обновления страниц. Для работы с JavaScript добавлена библиотека JQuery. C версии 6.0 появилась возможность создания форм без полной перезагрузки стра­ниц сайта.

Как начать работать с сайтом на Drupal?