4. Что такое Drupal
дистрибутив?
● Продукт
● OpenSource проект
● Drupal
5. Знаменитые Drupal
дистрибутивы
● OpenPublish – для газет и журналов
● Accquia Commons – для сайтов
сообществ
● PressFlow – быстрый Drupal
● Open Atrium – для совместной работы
● ELMS, OpenScholar – для образования
● COD – для конференций
6. Какая польза от
дистрибутива?
● Готовое Drupal-решение для
определенной ниши
● Ускорение технологии
производства сайтов
● Contribution back
● Доходы от коммерческой
поддержки
8. Первые шаги
● Как узнать что уже сделано?
● http://drupaldistrowatch.com/
● http://drupal.org/project/installation%2Bprofiles
● Как понять что нужно рынку?
10. Из чего состоит Drupal
дистрибутив?
● Contrib и сustom модули
● Тема
● Фичи (см. модуль Features)
● Установочный профиль
● Сборочный файл (Drush Make)
11. Drush – Drupal Shell
"Drush is a command line shell and scripting
interface for Drupal, a veritable Swiss Army
knife designed to make life easier for those of
us who spend some of our working hours
hacking away at the command prompt."
http://drupal.org/project/drush
http://drush.ws/drush_windows_installer
12. Drush Make
Drush Make - это расширение Drush, которое
собирает сайт, заданной конфигурации
(профили, модули, темы, патчи), которая
храниться в make файле.
drush make distro.make distro --prepare-install
http://drupalcode.org/project/drush_make.git/blob/086793e8887008a7841a5ef6081f8cf2766347db:/EXAMPLE.make
http://drupal.org/project/drush_make
14. Установочный
профиль
● Задает базовые настройки
● Включает необходимые модули
● Структура установочного профиля:
● example.info
● example.install
● example.profile
● Два важных хука:
● hook_install и hook_install_tasks
15. hook_install_tasks
● Выполняет задания
● Типы заданий:
● Normal – простое действие, PHP код
● Batch – многократно повторяющиеся
действия, Batch API
● Form – диалог с пользователем, Form API
16. Последовательность
установки
● Выбор профиля и языка
● Ввод параметров БД
● Вызов hook_install модулей
● Вызов hook_install профиля
● Конфигурирование сайта
● Распаковка фичей
● Вызов hook_install_tasks модулей
18. Модуль Features и
фичи
● Модуль Features позволяет экспортировать
настройки/конфигурацию в под-модуль
(фичу).
● Когда фича включена, настройки активны.
● Features следит за переопределением
пользователем настроек фичи. Позволяет
восстанавливать или пересоздавать фичу.
● http://drupal.org/project/features - module
● http://drupal.org/project/kit - naming conventions
19. Конфигурация,
хранимая в фиче
● Типы содержимого и поля
● Словари таксономии, меню и элементы
меню
● Роли и права доступа
● Форматы ввода и стили изображений
● Поддерживаемые модули: Views, Display
suite, Context, Panels, Page Manager,
Strongarm, и другие...
20. Модуль Strongarm
● Совместно с модулем Features, позволяет
экспортировать переменные в фичи.
● В переменных хранятся настройки многих
модулей.
● http://drupal.org/project/strongarm
22. Фичи vs Профиль
● Старайтесь не хранить права в фиче, кроме
тех, что определяют логику ее работы.
● Невозможно хранить элементы меню с не
уникальными путями в фиче.
29. Пути создания
дистрибутивов
Вначале сайт, затем Вначале продукт, затем
продукт: сайт:
● Сайт создается быстро, но с ● Создается продукт, решаются
ошибками и костылями. сложные технические задачи, идет
время.
● Во время создания продукта
фиксятся все ошибки и убираются ● На базе продукта создается сайт,
костыли. происходит тестирование и отладка.
● В итоге сайт и продукт имеют разную ● В итоге готовы продукт и сайт, но
реализацию, что осложняет потрачено значиельное колиество
поддержку сайта-прототипа. времени веремени.
● Такой подход лучше использовать, ● Такой подход лучше использовать
когда у вас мало времени, нет когда у вас есть четко составленное
четкого ТЗ, или есть вероятность, ТЗ, которое не будет меняться, и
того, что заказчик сайта будет время.
вносить изменения.
30. Чем отличается пара программист и
программа от пары программист и
женщина?
В первом случае идет разработка,
внедрение, а затем сопровождение.
А во втором – вначале идет
сопровождение, а затем все
остальное.