Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Создаем Drupal дистрибутив: от идеи до сопровождения Вадим Миргород @dealancer [email_address] ДонНТУ
 
Что такое Drupal дистрибутив? <ul><li>Продукт
OpenSource проект
Drupal </li></ul>
Знаменитые Drupal дистрибутивы <ul><li>OpenPublish  – для газет и журналов
Accquia Commons  – для сайтов сообществ
PressFlow  – быстрый Drupal
Open Atrium  – для совместной работы
ELMS ,  OpenScholar  – для образования
COD  – для конференций </li></ul>
Какая польза от дистрибутива? <ul><li>Готовое Drupal-решение для определенной ниши
Ускорение технологии производства сайтов
Contribution back
Доходы от коммерческой поддержки </li></ul>
 
Первые шаги <ul><li>Как узнать что уже сделано?
http://drupaldistrowatch.com/
http://drupal.org/project/installation%2Bprofiles
Как понять что нужно рынку? </li></ul>
 
Из чего состоит Drupal дистрибутив? <ul><li>Contrib и сustom модули
Тема
Фичи (см. модуль Features)
Установочный профиль
Сборочный файл ( Drush Make ) </li></ul>
Drush – Drupal Shell <ul>&quot;Drush is a command line shell and scripting interface for Drupal, a veritable Swiss Army kn...
Drush Make <ul>Drush Make - это расширение Drush, которое собирает сайт, заданной конфигурации (профили, модули, темы, пат...
Пример
Установочный профиль <ul><li>Задает базовые настройки
Включает необходимые модули
Структура установочного профиля: </li><ul><li>example.info
Upcoming SlideShare
Loading in …5
×

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

1,688 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Создаем Drupal дистрибутив: от идеи до сопровождения Вадим Миргород @dealancer [email_address] ДонНТУ
  2. 3. Что такое Drupal дистрибутив? <ul><li>Продукт
  3. 4. OpenSource проект
  4. 5. Drupal </li></ul>
  5. 6. Знаменитые Drupal дистрибутивы <ul><li>OpenPublish – для газет и журналов
  6. 7. Accquia Commons – для сайтов сообществ
  7. 8. PressFlow – быстрый Drupal
  8. 9. Open Atrium – для совместной работы
  9. 10. ELMS , OpenScholar – для образования
  10. 11. COD – для конференций </li></ul>
  11. 12. Какая польза от дистрибутива? <ul><li>Готовое Drupal-решение для определенной ниши
  12. 13. Ускорение технологии производства сайтов
  13. 14. Contribution back
  14. 15. Доходы от коммерческой поддержки </li></ul>
  15. 17. Первые шаги <ul><li>Как узнать что уже сделано?
  16. 18. http://drupaldistrowatch.com/
  17. 19. http://drupal.org/project/installation%2Bprofiles
  18. 20. Как понять что нужно рынку? </li></ul>
  19. 22. Из чего состоит Drupal дистрибутив? <ul><li>Contrib и сustom модули
  20. 23. Тема
  21. 24. Фичи (см. модуль Features)
  22. 25. Установочный профиль
  23. 26. Сборочный файл ( Drush Make ) </li></ul>
  24. 27. Drush – Drupal Shell <ul>&quot;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.&quot; http://drupal.org/project/drush http://drush.ws/drush_windows_installer </ul>
  25. 28. Drush Make <ul>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 </ul>
  26. 29. Пример
  27. 30. Установочный профиль <ul><li>Задает базовые настройки
  28. 31. Включает необходимые модули
  29. 32. Структура установочного профиля: </li><ul><li>example.info
  30. 33. example.install
  31. 34. example.profile </li></ul><li>Два важных хука: </li><ul><li>hook_install и hook_install_tasks </li></ul></ul>
  32. 35. hook_install_tasks <ul><li>Выполняет задания
  33. 36. Типы заданий: </li><ul><li>Normal – простое действие, PHP код
  34. 37. Batch – многократно повторяющиеся действия, Batch API
  35. 38. Form – диалог с пользователем, Form API </li></ul></ul>
  36. 39. Последовательность установки <ul><li>Выбор профиля и языка
  37. 40. Ввод параметров БД
  38. 41. Вызов hook_install модулей
  39. 42. Вызов hook_install профиля
  40. 43. Конфигурирование сайта
  41. 44. Распаковка фичей
  42. 45. Вызов hook_install_tasks модулей
  43. 46. Вызов hook_install_tasks профиля </li></ul>
  44. 47. Пример
  45. 48. Модуль Features и фичи <ul><li>Модуль Features позволяет экспортировать настройки/конфигурацию в под-модуль (фичу).
  46. 49. Когда фича включена, настройки активны.
  47. 50. Features следит за переопределением пользователем настроек фичи. Позволяет восстанавливать или пересоздавать фичу.
  48. 51. http://drupal.org/project/features - module
  49. 52. http://drupal.org/project/kit - naming conventions </li></ul>
  50. 53. Конфигурация, хранимая в фиче <ul><li>Типы содержимого и поля
  51. 54. Словари таксономии, меню и элементы меню
  52. 55. Роли и права доступа
  53. 56. Форматы ввода и стили изображений
  54. 57. Поддерживаемые модули: Views, Display suite, Context, Panels, Page Manager, Strongarm , и другие... </li></ul>
  55. 58. Модуль Strongarm <ul><li>Совместно с модулем Features, позволяет экспортировать переменные в фичи.
  56. 59. В переменных хранятся настройки многих модулей.
  57. 60. http://drupal.org/project/strongarm </li></ul>
  58. 61. Пример
  59. 62. Фичи vs Профиль <ul><li>Старайтесь не хранить права в фиче, кроме тех, что определяют логику ее работы.
  60. 63. Невозможно хранить элементы меню с не уникальными путями в фиче. </li></ul>
  61. 64. Вспомогательные модули <ul><li>Features override:
  62. 65. http://drupal.org/project/features_override
  63. 66. Profiler:
  64. 67. http://drupal.org/project/profiler
  65. 68. http://drupalcode.org/project/profiler_example.git/blob/HEAD:/profiler_example.info </li></ul>
  66. 72. Куда выкладывать дистрибутив? <ul><li>Исходный код – на drupal.org
  67. 73. Собранный дистрибутив – на отдельный сайт </li></ul>
  68. 74. Локализация <ul><li>Делайте дистрибутив с английском языком в качестве основного
  69. 75. Переводите при помощи http://localize.drupal.org или
  70. 76. http://drupal.org/project/l10n_client </li></ul>
  71. 77. Пути создания дистрибутивов <ul>Вначале сайт, затем продукт: <li>Сайт создается быстро, но с ошибками и костылями.
  72. 78. Во время создания продукта фиксятся все ошибки и убираются костыли.
  73. 79. В итоге сайт и продукт имеют разную реализацию, что осложняет поддержку сайта-прототипа.
  74. 80. Такой подход лучше использовать, когда у вас мало времени, нет четкого ТЗ, или есть вероятность, того, что заказчик сайта будет вносить изменения. </li></ul><ul>Вначале продукт, затем сайт: <li>Создается продукт, решаются сложные технические задачи, идет время.
  75. 81. На базе продукта создается сайт, происходит тестирование и отладка.
  76. 82. В итоге готовы продукт и сайт, но потрачено значиельное колиество времени веремени.
  77. 83. Такой подход лучше использовать когда у вас есть четко составленное ТЗ, которое не будет меняться, и время. </li></ul>
  78. 84. <ul>Чем отличается пара программист и программа от пары программист и женщина? В первом случае идет разработка, внедрение, а затем сопровождение. А во втором – вначале идет сопровождение, а затем все остальное. </ul>
  79. 85. Сопровождение <ul><li>Бесплатное: </li><ul><li>Решение багов
  80. 86. Выпуск обновлений </li></ul><li>Платное: </li><ul><li>Поддержка
  81. 87. Хостинг </li></ul></ul>
  82. 88. Ресурсы <ul><li>http://drupaldistrowatch.com/
  83. 89. http://drupal.org/project/installation%2Bprofiles
  84. 90. http://drupal.org/project/drush
  85. 91. http://drush.ws/drush_windows_installer
  86. 92. http://drupal.org/project/drush_make
  87. 93. http://drupal.org/project/features
  88. 94. http://drupal.org/project/strongarm
  89. 95. http://drupal.org/project/features_override
  90. 96. http://drupal.org/project/profiler
  91. 97. http://localize.drupal.org
  92. 98. http://drupal.org/project/l10n_client </li></ul>
  93. 99. Спасибо за внимание! <ul><li>http://slideshare.net/dealancer
  94. 100. http://drupal.org/project/openacadept </li></ul>

×