SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
Создаем Drupal дистрибутив: от идеи до сопровождения.
Создаем Drupal
 дистрибутив: от идеи до
     сопровождения

                      ДонНТУ
Вадим Миргород
@dealancer
dealancer@gmail.com
Создаем Drupal дистрибутив: от идеи до сопровождения.
Что такое Drupal
     дистрибутив?
● Продукт
● OpenSource проект


● Drupal
Знаменитые Drupal
       дистрибутивы
●   OpenPublish – для газет и журналов
●   Accquia Commons – для сайтов
    сообществ
●   PressFlow – быстрый Drupal
●   Open Atrium – для совместной работы
●   ELMS, OpenScholar – для образования
●   COD – для конференций
Какая польза от
        дистрибутива?
●   Готовое Drupal-решение для
    определенной ниши
●   Ускорение технологии
    производства сайтов
●   Contribution back
●   Доходы от коммерческой
    поддержки
Создаем Drupal дистрибутив: от идеи до сопровождения.
Первые шаги

● Как узнать что уже сделано?
● http://drupaldistrowatch.com/

●   http://drupal.org/project/installation%2Bprofiles


●   Как понять что нужно рынку?
Создаем Drupal дистрибутив: от идеи до сопровождения.
Из чего состоит Drupal
    дистрибутив?
● Contrib и сustom модули
● Тема


● Фичи (см. модуль Features)


● Установочный профиль


● Сборочный файл (Drush Make)
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
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
Пример
Установочный
               профиль
●   Задает базовые настройки
●   Включает необходимые модули
●   Структура установочного профиля:
    ●   example.info
    ●   example.install
    ●   example.profile
●   Два важных хука:
    ●   hook_install и hook_install_tasks
hook_install_tasks
●   Выполняет задания
●   Типы заданий:
    ●   Normal – простое действие, PHP код
    ●   Batch – многократно повторяющиеся
        действия, Batch API
    ●   Form – диалог с пользователем, Form API
Последовательность
        установки
●   Выбор профиля и языка
●   Ввод параметров БД
●   Вызов hook_install модулей
●   Вызов hook_install профиля
●   Конфигурирование сайта
●   Распаковка фичей
●   Вызов hook_install_tasks модулей
Пример
Модуль Features и
            фичи
●   Модуль Features позволяет экспортировать
    настройки/конфигурацию в под-модуль
    (фичу).
●   Когда фича включена, настройки активны.
●   Features следит за переопределением
    пользователем настроек фичи. Позволяет
    восстанавливать или пересоздавать фичу.
●   http://drupal.org/project/features - module
●   http://drupal.org/project/kit - naming conventions
Конфигурация,
       хранимая в фиче
●   Типы содержимого и поля
●   Словари таксономии, меню и элементы
    меню
●   Роли и права доступа
●   Форматы ввода и стили изображений
●   Поддерживаемые модули: Views, Display
    suite, Context, Panels, Page Manager,
    Strongarm, и другие...
Модуль Strongarm
●   Совместно с модулем Features, позволяет
    экспортировать переменные в фичи.
●   В переменных хранятся настройки многих
    модулей.
●   http://drupal.org/project/strongarm
Пример
Фичи vs Профиль
●   Старайтесь не хранить права в фиче, кроме
    тех, что определяют логику ее работы.
●   Невозможно хранить элементы меню с не
    уникальными путями в фиче.
Вспомогательные
              модули
●   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
Создаем Drupal дистрибутив: от идеи до сопровождения.
Создаем Drupal дистрибутив: от идеи до сопровождения.
Создаем Drupal дистрибутив: от идеи до сопровождения.
Куда выкладывать
      дистрибутив?
● Исходный код – на drupal.org
● Собранный дистрибутив – на

  отдельный сайт
Локализация

● Делайте дистрибутив с
  английском языком в
  качестве основного
● Переводите при

  помощиhttp://localize.drupal.or
  g или
Пути создания
              дистрибутивов
Вначале сайт, затем                       Вначале продукт, затем
  продукт:                                  сайт:
●   Сайт создается быстро, но с           ●   Создается продукт, решаются
    ошибками и костылями.                     сложные технические задачи, идет
                                              время.
●   Во время создания продукта
    фиксятся все ошибки и убираются       ●   На базе продукта создается сайт,
    костыли.                                  происходит тестирование и отладка.
●   В итоге сайт и продукт имеют разную   ●   В итоге готовы продукт и сайт, но
    реализацию, что осложняет                 потрачено значиельное колиество
    поддержку сайта-прототипа.                времени веремени.
●   Такой подход лучше использовать,      ●   Такой подход лучше использовать
    когда у вас мало времени, нет             когда у вас есть четко составленное
    четкого ТЗ, или есть вероятность,         ТЗ, которое не будет меняться, и
    того, что заказчик сайта будет            время.
    вносить изменения.
Чем отличается пара программист и
 программа от пары программист и
 женщина?


В первом случае идет разработка,
 внедрение, а затем сопровождение.


А во втором – вначале идет
 сопровождение, а затем все
 остальное.
Сопровождение

● Бесплатное:
  ● Решение багов


  ● Выпуск обновлений


● Платное:


  ● Поддержка


  ● Хостинг
Ресурсы
●   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
Спасибо за внимание!
●   http://slideshare.net/dealancer
●   http://drupal.org/project/openacadept
Создаем Drupal дистрибутив: от идеи до сопровождения.

Contenu connexe

Tendances

Компонентный веб. Проникновение в дизайн.
Компонентный веб. Проникновение в дизайн.Компонентный веб. Проникновение в дизайн.
Компонентный веб. Проникновение в дизайн.Anton Winogradov
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеYandex
 
Frontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиковFrontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиковCodeFest
 
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...7bits
 
История развития и применения CMS: Drupal и другие
История развития и применения CMS: Drupal и другиеИстория развития и применения CMS: Drupal и другие
История развития и применения CMS: Drupal и другиеlugnsk
 
Как сделать хороший прототип вовремя?
Как сделать хороший прототип вовремя?Как сделать хороший прототип вовремя?
Как сделать хороший прототип вовремя?Mikhail Kulakov
 
Повышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаПовышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаAleksandr Makhomet
 
Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромKirill Kovalchuk
 
Opensource на .NET
Opensource на .NETOpensource на .NET
Opensource на .NETlugnsk
 
Сборка проектов с помощью ENB
Сборка проектов с помощью ENBСборка проектов с помощью ENB
Сборка проектов с помощью ENBAleksandr Boichenko
 
WordPress.org Under the Hood, WordCamp Moscow 2017
WordPress.org Under the Hood, WordCamp Moscow 2017WordPress.org Under the Hood, WordCamp Moscow 2017
WordPress.org Under the Hood, WordCamp Moscow 2017Sergey Biryukov
 
GDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на JenkinsGDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на JenkinsMikhail Chinkov
 
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo KazymyrovFwdays
 
WebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double funWebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double funAlexandr Khotemskoy
 
Спецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версийСпецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версий7bits
 
Мониторинг Drupal-сайтов
Мониторинг Drupal-сайтовМониторинг Drupal-сайтов
Мониторинг Drupal-сайтовDrupalSPB
 
Владислав Грязнов "Многозадачность в PHP"
Владислав Грязнов "Многозадачность в PHP"Владислав Грязнов "Многозадачность в PHP"
Владислав Грязнов "Многозадачность в PHP"Fwdays
 
Maksym Antipov Hardware development as a hobby and a job
Maksym Antipov Hardware development as a hobby and a jobMaksym Antipov Hardware development as a hobby and a job
Maksym Antipov Hardware development as a hobby and a jobАліна Шепшелей
 
случаи из практики пма.
случаи из практики пма.случаи из практики пма.
случаи из практики пма.MobiDev
 
Drupal: система для быстрой и комфортной разработки web-сайтов
Drupal: система для быстрой и комфортной разработки web-сайтовDrupal: система для быстрой и комфортной разработки web-сайтов
Drupal: система для быстрой и комфортной разработки web-сайтовAlex Barkov
 

Tendances (20)

Компонентный веб. Проникновение в дизайн.
Компонентный веб. Проникновение в дизайн.Компонентный веб. Проникновение в дизайн.
Компонентный веб. Проникновение в дизайн.
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в Яндексе
 
Frontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиковFrontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиков
 
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
 
История развития и применения CMS: Drupal и другие
История развития и применения CMS: Drupal и другиеИстория развития и применения CMS: Drupal и другие
История развития и применения CMS: Drupal и другие
 
Как сделать хороший прототип вовремя?
Как сделать хороший прототип вовремя?Как сделать хороший прототип вовремя?
Как сделать хороший прототип вовремя?
 
Повышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаПовышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кода
 
Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодером
 
Opensource на .NET
Opensource на .NETOpensource на .NET
Opensource на .NET
 
Сборка проектов с помощью ENB
Сборка проектов с помощью ENBСборка проектов с помощью ENB
Сборка проектов с помощью ENB
 
WordPress.org Under the Hood, WordCamp Moscow 2017
WordPress.org Under the Hood, WordCamp Moscow 2017WordPress.org Under the Hood, WordCamp Moscow 2017
WordPress.org Under the Hood, WordCamp Moscow 2017
 
GDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на JenkinsGDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на Jenkins
 
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
 
WebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double funWebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double fun
 
Спецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версийСпецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версий
 
Мониторинг Drupal-сайтов
Мониторинг Drupal-сайтовМониторинг Drupal-сайтов
Мониторинг Drupal-сайтов
 
Владислав Грязнов "Многозадачность в PHP"
Владислав Грязнов "Многозадачность в PHP"Владислав Грязнов "Многозадачность в PHP"
Владислав Грязнов "Многозадачность в PHP"
 
Maksym Antipov Hardware development as a hobby and a job
Maksym Antipov Hardware development as a hobby and a jobMaksym Antipov Hardware development as a hobby and a job
Maksym Antipov Hardware development as a hobby and a job
 
случаи из практики пма.
случаи из практики пма.случаи из практики пма.
случаи из практики пма.
 
Drupal: система для быстрой и комфортной разработки web-сайтов
Drupal: система для быстрой и комфортной разработки web-сайтовDrupal: система для быстрой и комфортной разработки web-сайтов
Drupal: система для быстрой и комфортной разработки web-сайтов
 

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

Создаем Drupal дистрибутив: от идеи до сопровождения
Создаем Drupal дистрибутив: от идеи до сопровожденияСоздаем Drupal дистрибутив: от идеи до сопровождения
Создаем Drupal дистрибутив: от идеи до сопровожденияOvadiah Myrgorod
 
Алексей Горобец - Building Drupal Distributions. Why? When? and How?
Алексей Горобец - Building Drupal Distributions. Why? When? and How?Алексей Горобец - Building Drupal Distributions. Why? When? and How?
Алексей Горобец - Building Drupal Distributions. Why? When? and How?LEDC 2016
 
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...DrupalCamp MSK
 
Drupal vs Бизнес: почему Drupal лучше любого framework и как его правильно го...
Drupal vs Бизнес: почему Drupal лучше любого framework и как его правильно го...Drupal vs Бизнес: почему Drupal лучше любого framework и как его правильно го...
Drupal vs Бизнес: почему Drupal лучше любого framework и как его правильно го...PVasili
 
Создание дистрибутивов Drupal. Почему, зачем и как?
Создание дистрибутивов Drupal. Почему, зачем и как?Создание дистрибутивов Drupal. Почему, зачем и как?
Создание дистрибутивов Drupal. Почему, зачем и как?Alexei Gorobets
 
Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв
Обзор Drupal 8 by Andrei Khalipau, Kostya  Halipov and Егор БогатырёвОбзор Drupal 8 by Andrei Khalipau, Kostya  Halipov and Егор Богатырёв
Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор БогатырёвMinsk PHP User Group
 
Comfortable drupal project development. Useful modules (Andriy Yun, studio de...
Comfortable drupal project development. Useful modules (Andriy Yun, studio de...Comfortable drupal project development. Useful modules (Andriy Yun, studio de...
Comfortable drupal project development. Useful modules (Andriy Yun, studio de...Andriy Yun
 
DrupalCafe #2: Константин Комелин - Быстрый старт для новичка в Drupal
DrupalCafe #2: Константин Комелин - Быстрый старт для новичка в DrupalDrupalCafe #2: Константин Комелин - Быстрый старт для новичка в Drupal
DrupalCafe #2: Константин Комелин - Быстрый старт для новичка в DrupalDrupalSPB
 
Angular into drupal integration - Eugene Mickhnitskyy & Dmitriy Petruk
Angular into drupal integration - Eugene Mickhnitskyy & Dmitriy PetrukAngular into drupal integration - Eugene Mickhnitskyy & Dmitriy Petruk
Angular into drupal integration - Eugene Mickhnitskyy & Dmitriy PetrukDrupalCamp Kyiv
 
Андрей Юн Удобная разработка Drupal проекта. Полезные модули
Андрей Юн Удобная разработка Drupal проекта. Полезные модулиАндрей Юн Удобная разработка Drupal проекта. Полезные модули
Андрей Юн Удобная разработка Drupal проекта. Полезные модулиAlbina Tiupa
 
Ігор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerІгор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerLEDC 2016
 
Workflow: работа над проектом в Яндексе
Workflow: работа над проектом в ЯндексеWorkflow: работа над проектом в Яндексе
Workflow: работа над проектом в ЯндексеDenis Chistyakov
 
Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Nikita Baksalyar
 
MockServer-driven development
MockServer-driven developmentMockServer-driven development
MockServer-driven developmentTestableapple
 
Павел Юрийчук - Разработка приложений под мобильные браузеры
Павел Юрийчук - Разработка приложений под мобильные браузерыПавел Юрийчук - Разработка приложений под мобильные браузеры
Павел Юрийчук - Разработка приложений под мобильные браузерыUA Mobile
 
Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60. Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60. Yana Brodetski
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 

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

Создаем Drupal дистрибутив: от идеи до сопровождения
Создаем Drupal дистрибутив: от идеи до сопровожденияСоздаем Drupal дистрибутив: от идеи до сопровождения
Создаем Drupal дистрибутив: от идеи до сопровождения
 
Алексей Горобец - Building Drupal Distributions. Why? When? and How?
Алексей Горобец - Building Drupal Distributions. Why? When? and How?Алексей Горобец - Building Drupal Distributions. Why? When? and How?
Алексей Горобец - Building Drupal Distributions. Why? When? and How?
 
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
 
Drupal Vs Other
Drupal Vs OtherDrupal Vs Other
Drupal Vs Other
 
Drupal vs Бизнес: почему Drupal лучше любого framework и как его правильно го...
Drupal vs Бизнес: почему Drupal лучше любого framework и как его правильно го...Drupal vs Бизнес: почему Drupal лучше любого framework и как его правильно го...
Drupal vs Бизнес: почему Drupal лучше любого framework и как его правильно го...
 
Создание дистрибутивов Drupal. Почему, зачем и как?
Создание дистрибутивов Drupal. Почему, зачем и как?Создание дистрибутивов Drupal. Почему, зачем и как?
Создание дистрибутивов Drupal. Почему, зачем и как?
 
Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв
Обзор Drupal 8 by Andrei Khalipau, Kostya  Halipov and Егор БогатырёвОбзор Drupal 8 by Andrei Khalipau, Kostya  Halipov and Егор Богатырёв
Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв
 
Comfortable drupal project development. Useful modules (Andriy Yun, studio de...
Comfortable drupal project development. Useful modules (Andriy Yun, studio de...Comfortable drupal project development. Useful modules (Andriy Yun, studio de...
Comfortable drupal project development. Useful modules (Andriy Yun, studio de...
 
Drupal community 2012
Drupal community 2012Drupal community 2012
Drupal community 2012
 
Lovely scrum
Lovely scrumLovely scrum
Lovely scrum
 
DrupalCafe #2: Константин Комелин - Быстрый старт для новичка в Drupal
DrupalCafe #2: Константин Комелин - Быстрый старт для новичка в DrupalDrupalCafe #2: Константин Комелин - Быстрый старт для новичка в Drupal
DrupalCafe #2: Константин Комелин - Быстрый старт для новичка в Drupal
 
Angular into drupal integration - Eugene Mickhnitskyy & Dmitriy Petruk
Angular into drupal integration - Eugene Mickhnitskyy & Dmitriy PetrukAngular into drupal integration - Eugene Mickhnitskyy & Dmitriy Petruk
Angular into drupal integration - Eugene Mickhnitskyy & Dmitriy Petruk
 
Андрей Юн Удобная разработка Drupal проекта. Полезные модули
Андрей Юн Удобная разработка Drupal проекта. Полезные модулиАндрей Юн Удобная разработка Drupal проекта. Полезные модули
Андрей Юн Удобная разработка Drupal проекта. Полезные модули
 
Ігор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerІгор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developer
 
Workflow: работа над проектом в Яндексе
Workflow: работа над проектом в ЯндексеWorkflow: работа над проектом в Яндексе
Workflow: работа над проектом в Яндексе
 
Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016
 
MockServer-driven development
MockServer-driven developmentMockServer-driven development
MockServer-driven development
 
Павел Юрийчук - Разработка приложений под мобильные браузеры
Павел Юрийчук - Разработка приложений под мобильные браузерыПавел Юрийчук - Разработка приложений под мобильные браузеры
Павел Юрийчук - Разработка приложений под мобильные браузеры
 
Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60. Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60.
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 

Plus de DrupalForumZP2012

Создание собственных сущностей с использованием Entity API
Создание собственных сущностей с использованием Entity APIСоздание собственных сущностей с использованием Entity API
Создание собственных сущностей с использованием Entity APIDrupalForumZP2012
 
Архитектурные отличия тем для Drupal 7 от Drupal 6. Краткий обзор RDFa и рабо...
Архитектурные отличия тем для Drupal 7 от Drupal 6. Краткий обзор RDFa и рабо...Архитектурные отличия тем для Drupal 7 от Drupal 6. Краткий обзор RDFa и рабо...
Архитектурные отличия тем для Drupal 7 от Drupal 6. Краткий обзор RDFa и рабо...DrupalForumZP2012
 
Препроцессор Less.
Препроцессор Less.Препроцессор Less.
Препроцессор Less.DrupalForumZP2012
 
Управление отображением содержимого.
Управление отображением содержимого.Управление отображением содержимого.
Управление отображением содержимого.DrupalForumZP2012
 
Работа с пользователями.
Работа с пользователями.Работа с пользователями.
Работа с пользователями.DrupalForumZP2012
 
Управление содержимым.
Управление содержимым.Управление содержимым.
Управление содержимым.DrupalForumZP2012
 
Поиск уязвимостей в коде.
Поиск уязвимостей в коде.Поиск уязвимостей в коде.
Поиск уязвимостей в коде.DrupalForumZP2012
 
Черные дыры разработки. Как мода убивает эффективность.
Черные дыры разработки. Как мода убивает эффективность.Черные дыры разработки. Как мода убивает эффективность.
Черные дыры разработки. Как мода убивает эффективность.DrupalForumZP2012
 
Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.DrupalForumZP2012
 
Drupal commerce VS Ubercart 3.x.
Drupal commerce VS Ubercart 3.x.Drupal commerce VS Ubercart 3.x.
Drupal commerce VS Ubercart 3.x.DrupalForumZP2012
 
Боремся с "лишними" переходами на сайте, или еще пара слов о попапах и аяксах.
Боремся с "лишними" переходами на сайте, или еще пара слов о попапах и аяксах.Боремся с "лишними" переходами на сайте, или еще пара слов о попапах и аяксах.
Боремся с "лишними" переходами на сайте, или еще пара слов о попапах и аяксах.DrupalForumZP2012
 
Электронные платежные системы: Тенденции в отрасли и способы реализации.
Электронные платежные системы: Тенденции в отрасли и способы реализации.Электронные платежные системы: Тенденции в отрасли и способы реализации.
Электронные платежные системы: Тенденции в отрасли и способы реализации.DrupalForumZP2012
 
10 странностей Друпала или почему клиенты не любят Друпал.
10 странностей Друпала или почему клиенты не любят Друпал.10 странностей Друпала или почему клиенты не любят Друпал.
10 странностей Друпала или почему клиенты не любят Друпал.DrupalForumZP2012
 
Модуль GetLocations. Google Maps API ver.3 и Drupal.
Модуль GetLocations. Google Maps API ver.3 и Drupal.Модуль GetLocations. Google Maps API ver.3 и Drupal.
Модуль GetLocations. Google Maps API ver.3 и Drupal.DrupalForumZP2012
 
Rules. Обзор, примеры, API.
Rules. Обзор, примеры, API.Rules. Обзор, примеры, API.
Rules. Обзор, примеры, API.DrupalForumZP2012
 

Plus de DrupalForumZP2012 (20)

OpenSource и Вы
OpenSource и ВыOpenSource и Вы
OpenSource и Вы
 
Создание собственных сущностей с использованием Entity API
Создание собственных сущностей с использованием Entity APIСоздание собственных сущностей с использованием Entity API
Создание собственных сущностей с использованием Entity API
 
Архитектурные отличия тем для Drupal 7 от Drupal 6. Краткий обзор RDFa и рабо...
Архитектурные отличия тем для Drupal 7 от Drupal 6. Краткий обзор RDFa и рабо...Архитектурные отличия тем для Drupal 7 от Drupal 6. Краткий обзор RDFa и рабо...
Архитектурные отличия тем для Drupal 7 от Drupal 6. Краткий обзор RDFa и рабо...
 
Препроцессор Less.
Препроцессор Less.Препроцессор Less.
Препроцессор Less.
 
Управление отображением содержимого.
Управление отображением содержимого.Управление отображением содержимого.
Управление отображением содержимого.
 
Работа с пользователями.
Работа с пользователями.Работа с пользователями.
Работа с пользователями.
 
Управление содержимым.
Управление содержимым.Управление содержимым.
Управление содержимым.
 
Поиск уязвимостей в коде.
Поиск уязвимостей в коде.Поиск уязвимостей в коде.
Поиск уязвимостей в коде.
 
Черные дыры разработки. Как мода убивает эффективность.
Черные дыры разработки. Как мода убивает эффективность.Черные дыры разработки. Как мода убивает эффективность.
Черные дыры разработки. Как мода убивает эффективность.
 
Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.
 
Drupal commerce VS Ubercart 3.x.
Drupal commerce VS Ubercart 3.x.Drupal commerce VS Ubercart 3.x.
Drupal commerce VS Ubercart 3.x.
 
Боремся с "лишними" переходами на сайте, или еще пара слов о попапах и аяксах.
Боремся с "лишними" переходами на сайте, или еще пара слов о попапах и аяксах.Боремся с "лишними" переходами на сайте, или еще пара слов о попапах и аяксах.
Боремся с "лишними" переходами на сайте, или еще пара слов о попапах и аяксах.
 
Электронные платежные системы: Тенденции в отрасли и способы реализации.
Электронные платежные системы: Тенденции в отрасли и способы реализации.Электронные платежные системы: Тенденции в отрасли и способы реализации.
Электронные платежные системы: Тенденции в отрасли и способы реализации.
 
Drupal as service.
Drupal as service.Drupal as service.
Drupal as service.
 
Drupal and NodeJS.
Drupal and NodeJS.Drupal and NodeJS.
Drupal and NodeJS.
 
Drupal Apps.
Drupal Apps.Drupal Apps.
Drupal Apps.
 
10 странностей Друпала или почему клиенты не любят Друпал.
10 странностей Друпала или почему клиенты не любят Друпал.10 странностей Друпала или почему клиенты не любят Друпал.
10 странностей Друпала или почему клиенты не любят Друпал.
 
Модуль GetLocations. Google Maps API ver.3 и Drupal.
Модуль GetLocations. Google Maps API ver.3 и Drupal.Модуль GetLocations. Google Maps API ver.3 и Drupal.
Модуль GetLocations. Google Maps API ver.3 и Drupal.
 
Render API.
Render API.Render API.
Render API.
 
Rules. Обзор, примеры, API.
Rules. Обзор, примеры, API.Rules. Обзор, примеры, API.
Rules. Обзор, примеры, API.
 

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

  • 2. Создаем Drupal дистрибутив: от идеи до сопровождения ДонНТУ Вадим Миргород @dealancer dealancer@gmail.com
  • 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 Профиль ● Старайтесь не хранить права в фиче, кроме тех, что определяют логику ее работы. ● Невозможно хранить элементы меню с не уникальными путями в фиче.
  • 23. Вспомогательные модули ● 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
  • 27. Куда выкладывать дистрибутив? ● Исходный код – на drupal.org ● Собранный дистрибутив – на отдельный сайт
  • 28. Локализация ● Делайте дистрибутив с английском языком в качестве основного ● Переводите при помощиhttp://localize.drupal.or g или
  • 29. Пути создания дистрибутивов Вначале сайт, затем Вначале продукт, затем продукт: сайт: ● Сайт создается быстро, но с ● Создается продукт, решаются ошибками и костылями. сложные технические задачи, идет время. ● Во время создания продукта фиксятся все ошибки и убираются ● На базе продукта создается сайт, костыли. происходит тестирование и отладка. ● В итоге сайт и продукт имеют разную ● В итоге готовы продукт и сайт, но реализацию, что осложняет потрачено значиельное колиество поддержку сайта-прототипа. времени веремени. ● Такой подход лучше использовать, ● Такой подход лучше использовать когда у вас мало времени, нет когда у вас есть четко составленное четкого ТЗ, или есть вероятность, ТЗ, которое не будет меняться, и того, что заказчик сайта будет время. вносить изменения.
  • 30. Чем отличается пара программист и программа от пары программист и женщина? В первом случае идет разработка, внедрение, а затем сопровождение. А во втором – вначале идет сопровождение, а затем все остальное.
  • 31. Сопровождение ● Бесплатное: ● Решение багов ● Выпуск обновлений ● Платное: ● Поддержка ● Хостинг
  • 32. Ресурсы ● 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
  • 33. Спасибо за внимание! ● http://slideshare.net/dealancer ● http://drupal.org/project/openacadept