Ромка!eu

  • Отдых
  • Работа
  • Штуки-дрюки
Главная — Блоги — Ромка's blog

Разработка сайта на Drupal. Часть 1. Введение.

  • Просмотреть
  • Голоса

Ромка — Вс, 01/03/2010 - 02:06

65
points

Создание сайта — процесс непростой. Конечно, сайт-визитку можно соорудить за полчаса, но, если речь идет о более серьезном ресурсе, задача усложняется. Современный сайт — это не просто набор информационных материалов в статичном интерфейсе, а полноценная программная система, которая обеспечивает управление содержимым сайта, ведение базы данных пользователей, поисковые функции, загрузку изображений и т. д.

Все эти задачи решаются с помощью программных комплексов класса «система управления контентом» (Content Management System, CMS). Как правило, CMS предоставляют целый ряд готовых решений стандартных задач: ленты новостей, гостевые книги, форумы, опросы, фотогалереи и т. д. Их достаточно много как коммерческих, так и бесплатных, например Drupal, которая рассматривается в этой статье.

Строго говоря, Drupal иногда классифицируют не как CMS, а как CMF (Content Management Framework, «фреймворк» или «каркас» для сайта). В Drupal удачно сочетаются достоинства CMS (большое количество модулей, расширяющих функционал системы) и CMF (мощный, детально документированный интерфейс, API, позволяющий без затруднений написать новый или доработать существующий модуль для этой системы). В итоге разработчики могут создавать на единой основе Web-комплексы, адаптированные для решения самых разных прикладных задач.

Возможности Drupal

Первая версия системы была разработана в 2000 г. бельгийцем Дрисом Байтаертом. Сейчас, спустя почти девять лет, вокруг проекта образовалась широкая инфраструктура. Работу над ядром системы курирует компания Acquia, разработкой дополнительных модулей, расширяющих возможности системы, занимается сообщество из нескольких тысяч программистов со всего мира. Кроме центрального англоязычного сайта drupal.org, общение на других языках обеспечивают около 20 национальных сообществ, в том числе drupal.ru — сообщество на русском языке.

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

  • Таксономия — система категоризации материалов, благодаря которой к каждому материалу может быть присвоено любое количество «тэгов» (их еще называют ярлыками или метками), на основе которых могут быть построены фильтры любой сложности. На человеческом языке описания к этим фильтрам могут выглядеть примерно так: «показать все документы, которым присвоены метки «футбол», «Россия», но не присвоены метки «поражение» и «Испания»» или «показать все фотографии, которым присвоены метки «весна» или «солнце»».
  • Система ревизий — при внесении изменений в любые материалы Друпал, при соответствующих настройках, будет сохранять все версии (ревизии) документа, а также предоставит возможность сравнить любые две ревизии материала и в любой момент откатиться к одной из них.
  • На уровне ядра поддерживается многоязычность — используя специальные механизмы переводить можно и интерфейс системы, и контент.
  • Поддержка протокола OpenID — открытой децентрализованной системы единого входа (используется, например, в LiveJournal, Яндексе и других крупных проектах), благодаря которой пользователь может один раз зарегистрироваться в системе OpenID и использовать свой логин и пароль на всех сайтах, поддерживающих этот протокол.
  • Система автоматического оповещения об обновлениях.
  • Мультисайтинг — возможность на одной установке системы (на одном аккаунте хостинга, на одной базе данных) получить несколько сайтов, причем у разных сайтов может быть как общий, так и независимый набор таблиц, благодаря чему можно, например, создать несколько сайтов с единой базой пользователей, но независимыми базами контента.
  • Интеграция с движками шаблонов (template engines), позволяющими отделить логику приложения от данных и их представления.

Используя дополнительные модули можно получить:

  • Авторизацию по протоколу LDAP с использованием учетных записей Active Directory (это полезно для построения корпоративных интранет-порталов).
  • Полноценный интернет-магазин интегрированный с платежными системами Webmoney и Янедекс.Деньги.
  • Систему управления взаимоотношениями с клиентами (CRM — Customer relationship management).
  • Сложные системы рейтингования материалов, комментариев и пользователей, на основе которых может осуществляться «социальная модерация», то есть, например, удаление (депубликация) материалов с отрицательным рейтингом или поощрение авторов материалов, набравших большой рейтинг.
  • Инструменты для поисковой оптимизации (Search engine optimization — SEO) — интеллектуальная борьба с дубликатами адресов, автоматическое создание ключевых слов (keywords, не путать с тэгами), ссылок на похожие документы, борьба со СПАМ-ссылками и другие.
  • Интеграцию с сервисами Google и Yahoo, в том числе с Google Maps API, Flickr API, Youtube и другими.
  • Интеграцию с популярными системами кеширования (Memcache, xCache, APC), причем в новых версиях Drupal эта интеграция будет поддерживаться на уровне ядра системы.
  • Интеграцию с системой тестирования SimpleTest, в новой версии эта система также будет включена в ядро Друпала.
  • Интеграцию с внешними поисковыми движками, в том числе и со Sphinx.
  • Мощные инструменты для создания составных типов контента, а также автоматической расстановки перекрестных связей между ними.

Ссылки на другие части этой статьи:

  • Часть 1. Введение
  • Часть 2. Архитектура Друпала
  • Часть 3. Модули Drupal
  • Часть 4. Интранет-сайт на Друпале
  • Часть 5. Социальная сеть на Друпале
  • Часть 6. Оптимизация Друпал

Содержание всех статей: http://romka.eu/blog/my-drupal-articles

  • Drupal
  • статья
  • Ромка's blog

Обо мне

Всем привет!
Меня зовут
Роман Архаров, я профессиональный веб-разработчик, программирую на языках PHP, Python и Action-Script, в работе использую фреймворки Drupal и Django. В этом блоге я размещаю заметки и статьи, связанные с моей работой, отдыхом и другими интересными мне темами.

Похожие заметки

  • Несколько статей о Друпале
  • Пример разработки плагина для модуля CCK
  • Темизация Drupal. Часть 2. Анатомия темы оформления Drupal
  • Темизация Drupal. Часть 1
  • Разработка модуля для Drupal. Часть2

Популярные заметки

  • Разработка сайта на Drupal. Часть 4. Пример разработки корпоративного интранет-сайта на Drupal
  • Разработка сайта на Drupal. Часть 6. Оптимизация Друпал
  • Темизация Drupal. Часть 1
  • Перетаскивание строк таблицы. Table drag and drop — плагин для jQuery
  • Cinnamon Chasers - Luv Deluxe (Music Video)
  • Разработка сайта на Drupal. Часть 2. Архитектура Drupal.
  • Разработка сайта на Drupal. Часть 3. Модули Drupal.
  • Разработка сайта на Drupal. Часть 5. Социальная сеть на Друпале
  • Разработка модуля для Drupal. Часть1. Введение
  • Разработка модуля для Drupal. Часть2

Подписка


Последние комментарии

  • Гость → Знак → Явное плоскостопие
  • Anonymous → Swftools и модуль Pdf2SWfField для Друпала → Здравствуйте, Рома! Все
  • Всеволод → Разработка сайта на Drupal. Часть 4. Пример разработки корпоративного интранет-сайта на Drupal → Panels
  • vsevolod → Несколько статей о Друпале → Статьи
  • Looker → Swftools и модуль Pdf2SWfField для Друпала → Привет! Все вроде делаю
  • Feniksss89 → Динамическое добавление элементов к форме → Не получается.
  • Anonymous → Разработка сайта на Drupal. Часть 6. Оптимизация Друпал → У меня на одном из сайтов
  • Anonymous → Модуль "Курсы валют" для Drupal 6 → Модуль
  • Smith → Разработка сайта на Drupal. Часть 4. Пример разработки корпоративного интранет-сайта на Drupal → Thanks for giving out
  • Anonymous → Получение заголовков (headers) страницы при помощи Java-script → индия курсовые по физике

Новые заметки

  • Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 3 — Бали, Сингапур, Пхукет
  • Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 2 — Джокьякарта
  • Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 1 — Пхукет и Джакарта
  • Шпаргалка по командам и хоткеям Unix
  • Семинар по хапкидо в Днепропетровске
  • О планах
  • Несколько статей о Друпале
  • Темизация Drupal. Часть 4. Темизация Views
  • Темизация Drupal. Часть 3. Основы Drupal Forms API и темизация форм
  • Темизация Drupal. Часть 2. Анатомия темы оформления Drupal

Тэги

Индонезия Отдых Работа Штуки-дрюки зима зима 2010 модуль статья темизация dckyiev09 Drupal jquery
еще тэги

Вход для пользователей

Что такое OpenID?
  • Войти по OpenID
  • Скрыть вход по OpenID
  • Зарегистрироваться
  • Запросить новый пароль

Навигация

  • Exchange rate
  • Vote up/down
  • Переход по внешней ссылке
  • Последние сообщения
  • Фотогалереи

Курсы валют

  • 100 Казахских тенге — 20,2044 (-0.06)
  • 10 Украинских гривен — 37,0715 (-0.11)
  • 10 Китайских юаней — 43,5819 (-0.12)
  • 100 Японских иен — 33,0298 (-0.39)
  • 1 Доллар США — 29,7499 (-0.09)
  • 1 Евро — 40,4866 (-0.03)
  • 1000 Белорусских рублей — 10,0984 (-0.05)
  • 1 Турецкая лира — 19,3760 (+0.12)

10 случайных заметок

  • Перетаскивание строк таблицы. Table drag and drop — плагин для jQuery
  • Пример разработки плагина для модуля CCK
  • Google Developer Day 2009
  • Разработка модуля для Drupal. Часть1. Введение
  • Backbird — скажи "прощай" алертам или удобная отладка java-script.
  • Темизация Drupal. Часть 4. Темизация Views
  • Май 2006. Сочи, Адлер, Геленджик, Анапа, Керчь, Судак, Ялта, Севастополь.
  • Динамическое добавление элементов к форме
  • Тестовое письмо из Копенгагена.
  • Новый год 2008. Часть 4. Копенгаген, Оденсе.

Случайные фото

Старая и новая наши машины — пыжик и сузуки джимни
Дом, плавающий по морю на больших поплавках
Это лыжники. В мае. На улице +20.
Опять я
Типичная местная женщина
Насыпь между Кайо Санта Мария и Кубой
Копенгаген, Кристиания, Граффити 3
Парашютист в Варадеро
Закат в Гаване
Пустыня
В Сингапурском зоопарке. Попугай
А это уже полуостров Крым, на пути в Керчь.
Дерево в Прамбанане
Градиент
Буквы
Норвегия, Нордсетер
  • Отдых
  • Работа
  • Штуки-дрюки

При использовании материалов с сайта, пожалуйста, ставьте ссылку на источник. E-mail для связи: mne@romka.eu.