SlideShare a Scribd company logo
Drupal и возможности его применения. Илья Азаров
Что представляет собой Drupal. Drupal: CMS/CMF для более быстрого создания сайтов Версии на сегодняшний день: 5.7, 6.1 Скоро намечается релиз 6.2 Система позиционируется как CMS/CMF для сайтов разной направленности — от простых сайтов на несколько страничек до сложных социальных сетей
Базовая поставка системы Drupal5 taxonomy node blog forum comment book path poll user watchdog
Что добавилось в ядро в Drupal 6  htmlcorrector Что изменилось в системе в целом: режим кеширования — для неанонимных пользователей — похоже на advcache для Drupal5 загрузка в память только нужных кусков php кода
Чего не хватает для создания сайта с нуля? нет визуального редактора нет нормального модуля коррекции HTML — htmlcorrector сырой.
Все не так плохо :)‏ На самом деле — это мелочи для которых есть готовые модули на Drupal.org. Но как к полновесной CMS к Drupal относиться не стоит.
Модули Drupal функциональное программирование ипользуются объекты stdClass — но чисто для хранения данных как в struct в C для написания модулей используются  хуки
Хук(hook) — это функция, которая именуется следующим образом: foo_bar(), где "foo" — имя модуля(чей основной файл определяется как foo.module) и  "bar"  -, собственно, имя хука. Каждый хук имеет определенный набор параметров и специальный тип результата.
Пример хука function advblog_link($type, $node = NULL, $teaser = FALSE) { ...... return $links; // массив ссылок привязанных к    // в заданном формате. }
hook_menu()‏ создание пунктов меню регистрация отработчиков, отвечающих за определенные пути(например за /blog, /node)‏ в 6.1 немного изменилось кеширование элементов в 6.2 будут немного изменены структуры для добавления пунктов меню
Еще хуки hook_search()‏ hook_delete()‏ hook_perm()‏ hook_access()‏ Чем удобно: позволяет быстро ввести в курс дела программиста даже на своей системе.
Шаблоны phptemplate engine возможность прицепить любой шаблонный движок в принципе — smarty, blitz, есть готовые решения на этот счет
Производительность Встроенное кеширование —  includes/cache.inc кеширование страниц и внутренних данных по умолчанию — кеш в базе в drupal 6 кеш блоков страницы — в ядре постраничное кеширование — для анонимов
Свой кеш settings.php — параметр $conf['cache_inc'] варианты: memcache, fastpath_fscache, apc, ваши собственные решения :)‏ для Drupal 5 — набор патчей advcache
Почему для зарегистрированных пользователей кеш не спасает? выборки документов общий запрос на все node_load на каждый id документа node_load дергает hook_load плагинов, hook_view итого до 250 запросов к базе при стандартном подходе
Что делать? сократить число нод в листинге связка CCK+Views + отказ от вывода избыточной информации advcache для Drupal 5
Lock table в drupal 5 инкрементирующиеся номера в таблице sequences при инкременте drupal блокирует таблицу чтобы не было конфликта решено в Drupal 6 — метаописанием таблиц базы + обвязкой на запросах. в drupal 5 решается отказом от db_next_id() для своих модулей :)‏
Типы документов и модули есть много готового на  drupal.org/project/modules большая часть модулей не быстрая свои надо писать визуальные редакторы и прочее есть готовое — тот же BBCode для форума Views + CCK для тех кто ленивый
Разработка сайтов есть инсталлятор есть своя система вывода форм не совсем быстрый поиск не совсем быстрая унификация типов документа в системе для нагруженных систем надо отказываться от node и делать свой модуль комментариев
GPL — юридический аспект вирусная лицензия подходит не под все проекты или публикуем код или не можем распространять
Спасибо. С вопросами на brainstorm@brainstorm.name

More Related Content

PPTX
Олена Ольховик — Від frontend розробки до Drupal-темізації. Основи і специфіка
PPTX
Как быть с большими сайтами на Word press
PDF
Yury Glushkov.What should we build a website.Drupal Camp Kyiv 2011
PDF
Владимир Кузнецов — Прототип сайта: разработка и развёртывание
PPT
Services в drupal 8
PDF
Работаем с API по-взрослому - Максим Кислов (Badoo)
PPTX
Drush - незаменимый инструмент друпал разработчика
PDF
Creating custom module
Олена Ольховик — Від frontend розробки до Drupal-темізації. Основи і специфіка
Как быть с большими сайтами на Word press
Yury Glushkov.What should we build a website.Drupal Camp Kyiv 2011
Владимир Кузнецов — Прототип сайта: разработка и развёртывание
Services в drupal 8
Работаем с API по-взрослому - Максим Кислов (Badoo)
Drush - незаменимый инструмент друпал разработчика
Creating custom module

What's hot (20)

PDF
Lviv Euro Drupal Camp 2015_От front-end разработки к темизации в Drupal
PPT
Yulia tsuba
PPTX
Building C++ Boost, and Boosting C++ Builds
PDF
Ограничение доступа в ruby on rails
PDF
Стабы для фронтенда - Никита Мостовой (HeadHunter)
PDF
Highload 2014. PostgreSQL: ups, DevOps.
PPT
Drupal Vs Other
PDF
Сергей Белов "bem server: система сборки фронтенда"
PPTX
системы сборок проектов
PDF
Как мы делаем модули PHP в Badoo – Антон Довгаль
PDF
Денис Трифонов
PDF
Лекция #6. Введение в Django web-framework
PDF
Корневая директория WordPress
PPT
Maven как средство сборки проекта
PDF
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET» O...
PDF
Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв
PPTX
base.network — пиринговый веб на JavaScript / Денис Глазков (Lazada Rus)
ODP
Создаем Drupal дистрибутив: от идеи до сопровождения
PPTX
Planning SharePoint 2010 Backup and Recovery (Russian)
PPTX
Поисковая оптимизация сайта на Drupal 7
Lviv Euro Drupal Camp 2015_От front-end разработки к темизации в Drupal
Yulia tsuba
Building C++ Boost, and Boosting C++ Builds
Ограничение доступа в ruby on rails
Стабы для фронтенда - Никита Мостовой (HeadHunter)
Highload 2014. PostgreSQL: ups, DevOps.
Drupal Vs Other
Сергей Белов "bem server: система сборки фронтенда"
системы сборок проектов
Как мы делаем модули PHP в Badoo – Антон Довгаль
Денис Трифонов
Лекция #6. Введение в Django web-framework
Корневая директория WordPress
Maven как средство сборки проекта
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET» O...
Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв
base.network — пиринговый веб на JavaScript / Денис Глазков (Lazada Rus)
Создаем Drupal дистрибутив: от идеи до сопровождения
Planning SharePoint 2010 Backup and Recovery (Russian)
Поисковая оптимизация сайта на Drupal 7
Ad

Viewers also liked (20)

PPT
Работа с Views в Drupal 7
PPTX
За что мы ненавидим Drupal
PPTX
Знакомство с Drupal 8
PPT
Фичи н-н-нада? Или почему стоит использовать модуль Features.
PPTX
Темизация и Twig в Drupal 8
PPTX
Drupal
PPT
Работа с полями (fields) в Drupal 7
PPT
Работа с материалами (nodes) в Drupal 7
PPT
Платформа приложений Facebook
PPT
этические нормы разработки сайтов андрей зиенко
PPT
эффективный полнотекстовый поиск по базам данных петр зайцев
PPT
Жизненный цикл продукта и потребности пользователей
PDF
классификация товаров егор азанов
PDF
рит2007 оптимизация бд бесков доронин
PPT
создание отдела Qa в Internet компании андрей кремнев
PPT
рит2007 оптимизация бд бесков доронин
PPT
микроформаты максим россомахин
PDF
Iway slides e-travel_2013-11_ready
PPTX
Data insight e-travel2013
ODP
настройка Free Bsd для обслуживания 100 200 тысяч соединений игорь сысоев
Работа с Views в Drupal 7
За что мы ненавидим Drupal
Знакомство с Drupal 8
Фичи н-н-нада? Или почему стоит использовать модуль Features.
Темизация и Twig в Drupal 8
Drupal
Работа с полями (fields) в Drupal 7
Работа с материалами (nodes) в Drupal 7
Платформа приложений Facebook
этические нормы разработки сайтов андрей зиенко
эффективный полнотекстовый поиск по базам данных петр зайцев
Жизненный цикл продукта и потребности пользователей
классификация товаров егор азанов
рит2007 оптимизация бд бесков доронин
создание отдела Qa в Internet компании андрей кремнев
рит2007 оптимизация бд бесков доронин
микроформаты максим россомахин
Iway slides e-travel_2013-11_ready
Data insight e-travel2013
настройка Free Bsd для обслуживания 100 200 тысяч соединений игорь сысоев
Ad

Similar to Drupal и возможности его применения (20)

RTF
PPT
Drupal организация разработки
PPT
Drupal -organizaciya_razrabotki
PPTX
Drupal Camp Kyiv 2013. Удобная разработка drupal проекта. Полезные модули.
PDF
Frontend: Путешествие в мир модульных загрузчиков
PDF
Михаил Давыдов "Масштабируемые JavaScript-приложения"
PPTX
Презентация «Drupal и SEO» с московской DrupalConf 2011
PPTX
Comfortable drupal project development. Useful modules (Andriy Yun, studio de...
PPT
Perl Debugger и mod_perl
PPT
идеология Drupal 8 уже в drupal 7 вячеслав касихин
PDF
Андрей Юн Удобная разработка Drupal проекта. Полезные модули
PPTX
Развертывание и управление CMS Drupal в Microsoft Azure
PPT
Node.js (RichClient)
PPTX
Создаем Drupal дистрибутив: от идеи до сопровождения.
ODP
DrupalCamp Kyiv 2011. Views - стандарт вывода списка данных. Расширение Views...
PPTX
JavaScript-модули "из прошлого в будущее"
PPTX
Алексей Горобец - Building Drupal Distributions. Why? When? and How?
PDF
Drupal 8: Теперь со вкусом Symfony
PPTX
DrupalCafe #2: Константин Комелин - Быстрый старт для новичка в Drupal
PPT
Доклад на DrupalCafe Minsk
Drupal организация разработки
Drupal -organizaciya_razrabotki
Drupal Camp Kyiv 2013. Удобная разработка drupal проекта. Полезные модули.
Frontend: Путешествие в мир модульных загрузчиков
Михаил Давыдов "Масштабируемые JavaScript-приложения"
Презентация «Drupal и SEO» с московской DrupalConf 2011
Comfortable drupal project development. Useful modules (Andriy Yun, studio de...
Perl Debugger и mod_perl
идеология Drupal 8 уже в drupal 7 вячеслав касихин
Андрей Юн Удобная разработка Drupal проекта. Полезные модули
Развертывание и управление CMS Drupal в Microsoft Azure
Node.js (RichClient)
Создаем Drupal дистрибутив: от идеи до сопровождения.
DrupalCamp Kyiv 2011. Views - стандарт вывода списка данных. Расширение Views...
JavaScript-модули "из прошлого в будущее"
Алексей Горобец - Building Drupal Distributions. Why? When? and How?
Drupal 8: Теперь со вкусом Symfony
DrupalCafe #2: Константин Комелин - Быстрый старт для новичка в Drupal
Доклад на DrupalCafe Minsk

More from Media Gorod (20)

PDF
Itogi2013
PDF
Moneytree rus 1
PDF
Iidf market watch_2013
PDF
E travel 2013 ufs-f
PPTX
Travel shop 2013
PPT
Kozyakov pay u_e-travel2013
PDF
13909772985295c7a772abc7.11863824
PPT
As e-travel 2013
PDF
Ishounkina internet research-projects
PPTX
E travel13
PPTX
Orlova pay u group_290813_
PDF
Ep presentation (infographic 2013)
PDF
Электронное Правительство как Продукт
PPTX
Lean мышление / Специфика Lean Startup
PDF
Глобальный взгляд на мобильный мир (Nielsen)
PDF
Как россияне используют смартфоны (Nielsen)
PDF
Мобильный интернет в России (MailRuGroup)
PDF
Meta Mass Media
PDF
Karlovyvaryparti 130406024405-phpapp02
PDF
Развитие интернета в регионах России
Itogi2013
Moneytree rus 1
Iidf market watch_2013
E travel 2013 ufs-f
Travel shop 2013
Kozyakov pay u_e-travel2013
13909772985295c7a772abc7.11863824
As e-travel 2013
Ishounkina internet research-projects
E travel13
Orlova pay u group_290813_
Ep presentation (infographic 2013)
Электронное Правительство как Продукт
Lean мышление / Специфика Lean Startup
Глобальный взгляд на мобильный мир (Nielsen)
Как россияне используют смартфоны (Nielsen)
Мобильный интернет в России (MailRuGroup)
Meta Mass Media
Karlovyvaryparti 130406024405-phpapp02
Развитие интернета в регионах России

Drupal и возможности его применения

  • 1. Drupal и возможности его применения. Илья Азаров
  • 2. Что представляет собой Drupal. Drupal: CMS/CMF для более быстрого создания сайтов Версии на сегодняшний день: 5.7, 6.1 Скоро намечается релиз 6.2 Система позиционируется как CMS/CMF для сайтов разной направленности — от простых сайтов на несколько страничек до сложных социальных сетей
  • 3. Базовая поставка системы Drupal5 taxonomy node blog forum comment book path poll user watchdog
  • 4. Что добавилось в ядро в Drupal 6 htmlcorrector Что изменилось в системе в целом: режим кеширования — для неанонимных пользователей — похоже на advcache для Drupal5 загрузка в память только нужных кусков php кода
  • 5. Чего не хватает для создания сайта с нуля? нет визуального редактора нет нормального модуля коррекции HTML — htmlcorrector сырой.
  • 6. Все не так плохо :)‏ На самом деле — это мелочи для которых есть готовые модули на Drupal.org. Но как к полновесной CMS к Drupal относиться не стоит.
  • 7. Модули Drupal функциональное программирование ипользуются объекты stdClass — но чисто для хранения данных как в struct в C для написания модулей используются хуки
  • 8. Хук(hook) — это функция, которая именуется следующим образом: foo_bar(), где "foo" — имя модуля(чей основной файл определяется как foo.module) и "bar" -, собственно, имя хука. Каждый хук имеет определенный набор параметров и специальный тип результата.
  • 9. Пример хука function advblog_link($type, $node = NULL, $teaser = FALSE) { ...... return $links; // массив ссылок привязанных к // в заданном формате. }
  • 10. hook_menu()‏ создание пунктов меню регистрация отработчиков, отвечающих за определенные пути(например за /blog, /node)‏ в 6.1 немного изменилось кеширование элементов в 6.2 будут немного изменены структуры для добавления пунктов меню
  • 11. Еще хуки hook_search()‏ hook_delete()‏ hook_perm()‏ hook_access()‏ Чем удобно: позволяет быстро ввести в курс дела программиста даже на своей системе.
  • 12. Шаблоны phptemplate engine возможность прицепить любой шаблонный движок в принципе — smarty, blitz, есть готовые решения на этот счет
  • 13. Производительность Встроенное кеширование — includes/cache.inc кеширование страниц и внутренних данных по умолчанию — кеш в базе в drupal 6 кеш блоков страницы — в ядре постраничное кеширование — для анонимов
  • 14. Свой кеш settings.php — параметр $conf['cache_inc'] варианты: memcache, fastpath_fscache, apc, ваши собственные решения :)‏ для Drupal 5 — набор патчей advcache
  • 15. Почему для зарегистрированных пользователей кеш не спасает? выборки документов общий запрос на все node_load на каждый id документа node_load дергает hook_load плагинов, hook_view итого до 250 запросов к базе при стандартном подходе
  • 16. Что делать? сократить число нод в листинге связка CCK+Views + отказ от вывода избыточной информации advcache для Drupal 5
  • 17. Lock table в drupal 5 инкрементирующиеся номера в таблице sequences при инкременте drupal блокирует таблицу чтобы не было конфликта решено в Drupal 6 — метаописанием таблиц базы + обвязкой на запросах. в drupal 5 решается отказом от db_next_id() для своих модулей :)‏
  • 18. Типы документов и модули есть много готового на drupal.org/project/modules большая часть модулей не быстрая свои надо писать визуальные редакторы и прочее есть готовое — тот же BBCode для форума Views + CCK для тех кто ленивый
  • 19. Разработка сайтов есть инсталлятор есть своя система вывода форм не совсем быстрый поиск не совсем быстрая унификация типов документа в системе для нагруженных систем надо отказываться от node и делать свой модуль комментариев
  • 20. GPL — юридический аспект вирусная лицензия подходит не под все проекты или публикуем код или не можем распространять
  • 21. Спасибо. С вопросами на brainstorm@brainstorm.name