Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Создаем Drupal дистрибутив: от идеи до сопровождения.

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Consultez-les par la suite

1 sur 34 Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Similaire à Создаем Drupal дистрибутив: от идеи до сопровождения. (20)

Publicité

Plus par DrupalForumZP2012 (20)

Plus récents (20)

Publicité

Создаем Drupal дистрибутив: от идеи до сопровождения.

  1. 1. Создаем Drupal дистрибутив: от идеи до сопровождения ДонНТУ Вадим Миргород @dealancer dealancer@gmail.com
  2. 2. Что такое Drupal дистрибутив? ● Продукт ● OpenSource проект ● Drupal
  3. 3. Знаменитые Drupal дистрибутивы ● OpenPublish – для газет и журналов ● Accquia Commons – для сайтов сообществ ● PressFlow – быстрый Drupal ● Open Atrium – для совместной работы ● ELMS, OpenScholar – для образования ● COD – для конференций
  4. 4. Какая польза от дистрибутива? ● Готовое Drupal-решение для определенной ниши ● Ускорение технологии производства сайтов ● Contribution back ● Доходы от коммерческой поддержки
  5. 5. Первые шаги ● Как узнать что уже сделано? ● http://drupaldistrowatch.com/ ● http://drupal.org/project/installation%2Bprofiles ● Как понять что нужно рынку?
  6. 6. Из чего состоит Drupal дистрибутив? ● Contrib и сustom модули ● Тема ● Фичи (см. модуль Features) ● Установочный профиль ● Сборочный файл (Drush Make)
  7. 7. 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
  8. 8. 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
  9. 9. Пример
  10. 10. Установочный профиль ● Задает базовые настройки ● Включает необходимые модули ● Структура установочного профиля: ● example.info ● example.install ● example.profile ● Два важных хука: ● hook_install и hook_install_tasks
  11. 11. hook_install_tasks ● Выполняет задания ● Типы заданий: ● Normal – простое действие, PHP код ● Batch – многократно повторяющиеся действия, Batch API ● Form – диалог с пользователем, Form API
  12. 12. Последовательность установки ● Выбор профиля и языка ● Ввод параметров БД ● Вызов hook_install модулей ● Вызов hook_install профиля ● Конфигурирование сайта ● Распаковка фичей ● Вызов hook_install_tasks модулей
  13. 13. Пример
  14. 14. Модуль Features и фичи ● Модуль Features позволяет экспортировать настройки/конфигурацию в под-модуль (фичу). ● Когда фича включена, настройки активны. ● Features следит за переопределением пользователем настроек фичи. Позволяет восстанавливать или пересоздавать фичу. ● http://drupal.org/project/features - module ● http://drupal.org/project/kit - naming conventions
  15. 15. Конфигурация, хранимая в фиче ● Типы содержимого и поля ● Словари таксономии, меню и элементы меню ● Роли и права доступа ● Форматы ввода и стили изображений ● Поддерживаемые модули: Views, Display suite, Context, Panels, Page Manager, Strongarm, и другие...
  16. 16. Модуль Strongarm ● Совместно с модулем Features, позволяет экспортировать переменные в фичи. ● В переменных хранятся настройки многих модулей. ● http://drupal.org/project/strongarm
  17. 17. Пример
  18. 18. Фичи vs Профиль ● Старайтесь не хранить права в фиче, кроме тех, что определяют логику ее работы. ● Невозможно хранить элементы меню с не уникальными путями в фиче.
  19. 19. Вспомогательные модули ● Features override: ● http://drupal.org/project/features_override ● Profiler: ● http://drupal.org/project/profiler ● http://drupalcode.org/project/profiler_example.git/blob/HEAD:/profiler_example.info
  20. 20. Куда выкладывать дистрибутив? ● Исходный код – на drupal.org ● Собранный дистрибутив – на отдельный сайт
  21. 21. Локализация ● Делайте дистрибутив с английском языком в качестве основного ● Переводите при помощиhttp://localize.drupal.or g или
  22. 22. Пути создания дистрибутивов Вначале сайт, затем Вначале продукт, затем продукт: сайт: ● Сайт создается быстро, но с ● Создается продукт, решаются ошибками и костылями. сложные технические задачи, идет время. ● Во время создания продукта фиксятся все ошибки и убираются ● На базе продукта создается сайт, костыли. происходит тестирование и отладка. ● В итоге сайт и продукт имеют разную ● В итоге готовы продукт и сайт, но реализацию, что осложняет потрачено значиельное колиество поддержку сайта-прототипа. времени веремени. ● Такой подход лучше использовать, ● Такой подход лучше использовать когда у вас мало времени, нет когда у вас есть четко составленное четкого ТЗ, или есть вероятность, ТЗ, которое не будет меняться, и того, что заказчик сайта будет время. вносить изменения.
  23. 23. Чем отличается пара программист и программа от пары программист и женщина? В первом случае идет разработка, внедрение, а затем сопровождение. А во втором – вначале идет сопровождение, а затем все остальное.
  24. 24. Сопровождение ● Бесплатное: ● Решение багов ● Выпуск обновлений ● Платное: ● Поддержка ● Хостинг
  25. 25. Ресурсы ● http://drupaldistrowatch.com/ ● http://drupal.org/project/installation%2Bprofiles ● http://drupal.org/project/drush ● http://drush.ws/drush_windows_installer ● http://drupal.org/project/drush_make ● http://drupal.org/project/features ● http://drupal.org/project/strongarm ● http://drupal.org/project/features_override ● http://drupal.org/project/profiler ● http://localize.drupal.org ● http://drupal.org/project/l10n_client
  26. 26. Спасибо за внимание! ● http://slideshare.net/dealancer ● http://drupal.org/project/openacadept

×