CMS Drupal для создания Интернет-порталов

Время чтения
меньше чем
1 минута
Прочитано

CMS Drupal для создания Интернет-порталов

ноября 07, 2012 - 01:07
0 комментариев

Для разработки сложного и многофункционального сайта любой веб-разработчик должен, в первую очередь, проанализировать цели, задачи, структуру и технологии будущего проекта. Интернет-портал – это прежде всего набор разнообразных интерактивных сервисов, работающих в рамках одного веб-сайта.

Drupal (Друпал) – одна из самых популярных систем управления сайтом с открытым исходным кодом. Благодаря огромному функционалу и активному сообществу, многие крупные организации и новостные издания выбирают данную CMS в качестве главной составляющей развития компании в сети Интернет. Среди самых высокопосещаемых Интернет-проектов можно выделить сайт Белого Дома (http://www.whitehouse.gov/), сайт Гарвардского университета (http://www.harvard.edu/), официальный сайт операционной системы Ubuntu (http://www.ubuntu.com/), российский портал о спорте (http://sportbox.ru), Интернет-магазин одежды (http://zappos.com) и многие другие.

Сайт Президента США на CMS Drupal

Cайт Белого Дома построен на CMS Drupal

Архитектура CMS/СMF Drupal построена по принципу объектно-ориентированного программирования (однако сам Drupal не использует ООП). Структурной единицей материалов является Node (нода), на её основе строятся остальные типы материалов. Чтобы классифицировать и структурировать ноды в Drupal, введено понятие «Таксономия». Путем создания словарей и терминов можно построить любую структуру будущего веб-проекта.

Разработка сложного Интернет-портала, как правило, предполагает внедрение разнообразных коммуникационных сервисов, разграничения прав доступа к разделам и материалам,  большой объем информации  с возможностью семантического поиска, единую авторизацию пользователей во всех сервисах и постоянное развитие проекта в дальнейшем.

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

Какие именно модули можно использовать для создания Интернет-портала мы рассмотрим далее.

Создание и вывод различных типов материалов

1. ССK. Один из самых важных модулей Drupal (в Drupal 7 он установлен «по умолчанию»). Позволяет создавать типы материалов и добавлять к ним различные типы полей (текстовое поле, текстовая область, поле даты, изображение, ссылка, скрытые поля).

2. Views. Основной модуль для создания запросов и вывода их на сайте с применением разнообразных фильтров по выбранным полям. В комплексе с различными модулями дает возможность проектировать все виды представлений на сайте.

3.  Image. Позволяет редактировать изображения и добавляет поле «Изображение» в содержание материалов. Благодаря поддержке библиотеки Graphics Library (GD) появляются уникальные возможности для обработки изображений с созданием различным стилей и привязки их к определенным полям типов материалов.

4. Link. Модуль для создания полей «ссылка», темизация, настройка атрибутов nofollow и тип открытия в браузере.

5. Node Reference. Очень удобный модуль для организации связи между материалами.

6. Rules. Дает возможность запланировать алгоритмы и действия на основе разработанных событий и их сочетаний. С помощью модуля можно настроить удобную регистрацию пользователей на сайте, отправку системных сообщений на e-mail, автоматическое удаление материалов и т.д.

Навигация и структура сайта

1. Nice Menus. Удобен для организации раскрывающегося меню на веб-сайте. Модуль использует  CSS оформление, что позволяет разработать как горизонтальное, так и вертикальное меню.

2. Taxonomy Menu. Организация словарей и терминов таксономии в отдельное меню на сайте. Отличный модуль для реализации сложной иерархии за считанные минуты.

3. XML sitemap. При работе над поисковой оптимизацией модуль создает индексный XML-файл сайта в соответствии со спецификацией Sitemap, который распознает все современные поисковые системы (google, yandex, bing, yahoo).

4. Token и Pathauto. Неразрывно связанные модули, которые обеспечивают генерацию альтернативных url-адресов за счет использования разнообразных маркеров и токенов.

Комьюнити и общение

1. Blog. Любой Интернет-портал включает набор социальных сервисов web 2.0.  В СMS Drupal модуль «Блог» совместно с модулем «Комментарии» идет в стандартном комплекте. Кроме того, CMS Drupal позволяет работать со специализированными блог-клиентами, интегрировать веб-сервисы внешних комментариев (Disqus), настраивать расширенные параметры блогов (Flexible Blogs).

2. Forum. Стандартный модуль для организации форума. При использовании дополнительного функционала можно расширить стандартное оформление форума (модуль Advanced Forum), назначить ответственных модераторов и администраторов (модуль Forum Access),  включить цитирование (модуль Quote), а также организовать систему подписок (модуль Subscriptions).

3. Organic groups. Какой портал не имеет собственных сообществ. Organic groups позволяет пользователям создавать и управлять своими собственными группами. Члены сообщества могут организовывать или вступать в группы по интересам. Собственная мощная система прав доступа позволяет создавать как открытые, так и закрытые сообщества.

6. Voting API и Rate. С помощью этих модулей можно организовать систему голосований и оценок любых видов нод.

Единая авторизация и профиль пользователя

1. Profile 2. Кроме стандартного модуля профиля у CMS Drupal есть расширенный  - Profile 2. Основное отличие состоит в том, что Profile 2 позволяет разделить аккаунт и создать для него две различные ссылки «Мой аккаунт» и «Мой профиль».

2. Ulogin. Возможность авторизации и регистрации через социальные сети стало неотъемлемой частью современного Интернет-портала. Модуль поддерживает все возможные социальные сети (ВКонтакте, Одноклассники, Facebook, Mail.ru, Яндекс, Twitter, Linkedin, Youtube, Google, live id, steam, vimeo и др.) с возможностью автоматического «маппинга» полей из профилей Интернет-сервисов.

Защита от спама

1. Captcha. Является базовым модулем безопасности Интернет-проекта от всевозможного вида спама. Обладает большим количеством расширений, которые можно комбинировать для различных типов материалов: reCAPTCHA, CAPTCHA Pack, Text CAPTCHA, Egglue Semantic CAPTCHA, Captcha Riddler, Hidden CAPTCHA, CAPTCHA after, KeyCAPTCHA, Draggable CAPTCHA, Image CAPTCHA refresh.

2. Mollom. Высоконадежный сервис защиты от спама с подробной статистикой, который поддерживается основателем СMS Drupal Дрисом Бёйтартом (Dries Buytaert).

Думаете, это весь функционал СMS Drupal?

Периодическая таблица модулей CMS Drupal

Периодическая таблица модулей CMS Drupal

Кроме того, в CMS Drupal есть модуль для создания сложных веб-форм (Webforms),  организации сложного фасетного поиска на сайте (Search API, Apache Solr Search Integration, Facet API), работы с CMS Drupal через командную строку (модуль Drush),  работы с датами и организации календарей (Date API, Calendar), менеджер файлов (модуль IMCE),  организации облака тегов (Tagadelic), встраивания видео на сайте c поддержкой HTML5 (модуль Video), аналитики посещений сайта (Google Analytics), построения мета-тегов (модуль Meta tags) и др.

Одним из минусов, с которым может столкнуться разработчик – это производительность и нагрузка на сайт, построенный на системе управления сайтом Drupal. Во-первых, система рекомендует использовать хостинги и VPS-сервера с выделенной памятью не менее 128 mb (PHP, memory_limit). Во-вторых, система кеширования CMS Drupal разграничена как на анонимных посетителей, так и на авторизованных пользователей. В этом случае разработчику проекта необходимо заранее планировать применение различных акселераторов (eAccelerator , memcache), технологий CDN, оптимизации java-скриптов и php-файлов.

Таким образом,  я рассмотрел лишь небольшую часть арсенала возможностей СMS Drupal для разработки сложных Интернет-порталов. Чтобы создать сайт такого типа, конечно же, необходимо самостоятельно дорабатывать механику и дизайн сайта. В отличие от других CMS, система управления сайтом Drupal лишена большого количества готовых дизайнов. Разработчики  вправе верстать самостоятельно,  либо приобрести готовые шаблоны Drupal в популярном онлайн-супермаркете TemplateMonster Russia.

В заключение хочу сказать, что не редко самые популярные CMS сравнивают с архитектурой операционных систем.

CMS WordPress – это Macintosh. В этой системе пользователь чувствует себя как дома: общая простота использования, быстрая установка и обновление, на освоение в административной панели CMS WordPress уходит не более дня. Как итог - пользователь не может перейти на что-то другое.

СMS Joomla сравнивают с Windows. Она удобна в использовании, у нее много возможностей. Хотя интерфейс не настолько гибок и прост, как в Wordpress - на обучение уходит довольно много времени, а различные компоненты, плагины и модули приходится искать по всему Интернету.

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

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