SlideShare a Scribd company logo
Drupal Code Sprint
Быстрый старт
Фигачить или
педалить?
Что такое код-спринт?
Бег?
Плавание?
Изнеможение?
Победа?
А может это...
Drupal code sprint для новичков
или...
Drupal code sprint для новичков
Скорее это похоже на...
Drupal code sprint для новичков
...программирование
Инструменты
LAMP
WAMP
MAMP
Acquia Dev Desktop для Mac или Windows:
http://www.acquia.com/downloads
Drupal Quickstart - настроенная виртуальная Linux машина
http://drupal.org/project/quickstart
LAMP своими руками:
http://vmirgorod.name/blog/setting-drupal-development-environment-based-
ubuntu-1010
Улучшаем производительность:
SSD + http://vmirgorod.name/blog/boosted-lamp-drupal-devs
Сервер для разработки
GIT
Извлечь проект:
git clone --branch 8.x http://git.drupal.org/project/drupal.git
Применить патч:
patch -p1 < some-patch-1860434-33.patch
Создать патч:
git add <modified.file>
git diff --cached > some-patch-1860434-35.patch
git reset <modified.file>
Как должен быть настроен Git:
http://drupal.org/documentation/git/configure
Работа с GIT
Как правильно именовать патчи:
[project_name]-[short-description]-[issue-number]-[comment-number].patch
Графические клиенты GIT:
http://git-scm.com/downloads/guis
Еще:
http://drupal.org/project/drupal/git-instructions
http://drupal.org/node/707484
Работа с GIT
Devel
Coder
Drush
Dreditor
IRC
IRC
Жизнь - это общение, а общение - это IRC.
Сервер:
http://freenode.net
Drupal каналы:
#drupal, #drupal-contribute
http://drupal.org/irc
Веб интерфейс:
http://webchat.freenode.net
X-Chat (IRC клиент)
Стандарты кодирования
Стандарты
кодирования
С т а н д а
р т ы к о
д и р о в а
н и я !
http://drupal.org/coding-standards
Процесс
1. Заходим сюда http://drupal.org/community-
initiatives/drupal-core.
2. Знакомимся с инициативами и ментейнерами.
Выбираем инициативу
1. Допустим, нам понравилась мобильная инициатива
и мы изучили её roadmap и почитали новости.
2. Смотрим на список заданий: http://drupal.
org/project/issues/search/drupal?status[]=Open&version
[]=8.x&issue_tags=mobile
3. Выбираем то задание, которое:
a. Нам понятно.
b. Его еще не успели сделать.
c. Имеет статус active или needs work.
4. Заходим на IRC канал #drupal-mobile и интересуемся
кто еще работает над этой задачей в данный
момент.
Выбираем задачу
1. Заходим на страницу задачи.
2. Изучаем что нужно сделать и что готово.
3. Обновляем репозиторий до последней версии.
4. Применяем последний патч, если он был.
5. Кодируем (пишем тест).
6. Выкладываем новый патч.
7. Меняеем статус задания на needs review.
8. Ждем отклика от системы тестирования и от
разработчиков.
9. Пишем в IRC канале, что справились с заданием и
просим рябят сделать проверку.
10. Если все ОК, пачт, добавят в ядро.
Работаем
Проверяем пачти
1. Заходим на страницу задачи со статусом needs
review.
2. Изучаем что было сделано и просматриваем
последний патч, если он не завалил тесты.
3. Читаем описание задачи, убеждаясь в том, что патч
решает задачу.
4. Проверяем патч на соблюдение стандартов
кодирования с помощью Dreditor.
5. Пишем наш отклик о патче.
6. Меняем статус в случае необходимости на needs
work или reviewed and tested by community.
Сокращения
1. RTBC - Ready to Be Committed.
Инициативы:
2. WSCCI (aka "Whiskey") - Web Services & Context Core
Initiative.
3. SCOTCH - Blocks & Layouts Everywhere Initiative.
4. VODKA - Views in Core Initiative.
5. RUM - Responsive User Mobile Initiative.
Донецк
IZOLAB
28 апреля 2013
Вадим Миргород
dealancer@gmail.com
@dealancer

More Related Content

What's hot (19)

PDF
Angular into drupal integration - Eugene Mickhnitskyy & Dmitriy Petruk
DrupalCamp Kyiv
 
PDF
"Посмотрим на Акку-Джаву" Дмитрий Мантула
Fwdays
 
PDF
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
Fwdays
 
PPTX
Moscow js 26 webpack
lgordey
 
PDF
JS Lab2017_Redux: время двигаться дальше?_Екатерина Лизогубова
GeeksLab Odessa
 
PDF
50 оттенков play!
Andrei Solntsev
 
PDF
How to build solid CI-CD pipeline / Илья Беда (beda.software)
Ontico
 
PPTX
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Ontico
 
PPT
Drupal Vs Other
Andrii Lundiak
 
PDF
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Fwdays
 
PDF
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
Timur Batyrshin
 
PDF
react-native
wtfil
 
PPT
Стажировка-2014, занятие 8. Обзор Sails framework (Node.js)
7bits
 
PPTX
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Ontico
 
PDF
Виртуализация как инструмент разработчика
Alexander Kirillov
 
PDF
2015-11-07 01 Виталий Кравцов. Webpack: человеческий подход к разработке веб ...
Омские ИТ-субботники
 
PDF
Optimizaciya vremeni zagruzki_azat_razetdinov
yaevents
 
PDF
Svyatoslav Login "How to test authentication and authorization for security"
Fwdays
 
Angular into drupal integration - Eugene Mickhnitskyy & Dmitriy Petruk
DrupalCamp Kyiv
 
"Посмотрим на Акку-Джаву" Дмитрий Мантула
Fwdays
 
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
Fwdays
 
Moscow js 26 webpack
lgordey
 
JS Lab2017_Redux: время двигаться дальше?_Екатерина Лизогубова
GeeksLab Odessa
 
50 оттенков play!
Andrei Solntsev
 
How to build solid CI-CD pipeline / Илья Беда (beda.software)
Ontico
 
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Ontico
 
Drupal Vs Other
Andrii Lundiak
 
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Fwdays
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
Timur Batyrshin
 
react-native
wtfil
 
Стажировка-2014, занятие 8. Обзор Sails framework (Node.js)
7bits
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Ontico
 
Виртуализация как инструмент разработчика
Alexander Kirillov
 
2015-11-07 01 Виталий Кравцов. Webpack: человеческий подход к разработке веб ...
Омские ИТ-субботники
 
Optimizaciya vremeni zagruzki_azat_razetdinov
yaevents
 
Svyatoslav Login "How to test authentication and authorization for security"
Fwdays
 

Viewers also liked (18)

DOCX
Happy ever afters with ci workflow
Albina Tiupa
 
PDF
Drupal на 20-ти мегабайтах или издевательства над Shared Hosting
Andrii Podanenko
 
PPTX
Who is here? DrupalCamp Kyiv 2009 opening
Drupal Camp Kyiv
 
PPT
Порівняння Drupal та Typo3
Drupal Camp Kyiv
 
PDF
CIbox - OpenSource solution for making your #devops better
Andrii Podanenko
 
PPT
Drupal Paranoia
Drupal Camp Kyiv
 
PDF
Lviv 2013 d7 vs d8
Andy Postnikov
 
PPT
Многоязычие сайта на Drupal
Drupal Camp Kyiv
 
PDF
Drupal contrib module maintaining
Andrii Podanenko
 
PDF
Live deployment, ci, drupal
Andrii Podanenko
 
ODP
Історія, теорія та використання CMS Drupal
Igor Bronovskyy
 
PDF
Drupal 8 DevOps . Profile and SQL flows.
Andrii Podanenko
 
PPTX
Drupal Continuous Integration Workflow
Andrii Podanenko
 
PDF
DrupalCon Los Angeles - Continuous Integration Toolbox
Andrii Podanenko
 
PPTX
природна і економна дорожня карта для переходу команди розробки на тест центр...
Andrii Podanenko
 
PDF
Головні Принципи Автоматизації
Andrii Podanenko
 
PPTX
MoldCamp - multidimentional testing workflow. CIBox.
Andrii Podanenko
 
PDF
DrupalCamp Kyiv 2009 Official Report
Drupal Camp Kyiv
 
Happy ever afters with ci workflow
Albina Tiupa
 
Drupal на 20-ти мегабайтах или издевательства над Shared Hosting
Andrii Podanenko
 
Who is here? DrupalCamp Kyiv 2009 opening
Drupal Camp Kyiv
 
Порівняння Drupal та Typo3
Drupal Camp Kyiv
 
CIbox - OpenSource solution for making your #devops better
Andrii Podanenko
 
Drupal Paranoia
Drupal Camp Kyiv
 
Lviv 2013 d7 vs d8
Andy Postnikov
 
Многоязычие сайта на Drupal
Drupal Camp Kyiv
 
Drupal contrib module maintaining
Andrii Podanenko
 
Live deployment, ci, drupal
Andrii Podanenko
 
Історія, теорія та використання CMS Drupal
Igor Bronovskyy
 
Drupal 8 DevOps . Profile and SQL flows.
Andrii Podanenko
 
Drupal Continuous Integration Workflow
Andrii Podanenko
 
DrupalCon Los Angeles - Continuous Integration Toolbox
Andrii Podanenko
 
природна і економна дорожня карта для переходу команди розробки на тест центр...
Andrii Podanenko
 
Головні Принципи Автоматизації
Andrii Podanenko
 
MoldCamp - multidimentional testing workflow. CIBox.
Andrii Podanenko
 
DrupalCamp Kyiv 2009 Official Report
Drupal Camp Kyiv
 
Ad

Similar to Drupal code sprint для новичков (20)

PDF
Creating custom module
yulia_tsyba
 
PDF
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Образовательные мероприятия "Netpeak Talks"
 
PPT
Yulia tsuba
jurenites
 
PDF
Юрий Василевский «Автоматизация в XCode»
Yandex
 
PDF
Юрий Василевский "Автоматизация в XCode"
Yandex
 
PPTX
Little Service in 2h
Alexei Yuzhakov
 
PPTX
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest
 
PPTX
Chef @DevWeb
Alex Chistyakov
 
PPT
презентация.1
Ivan Mashkantsev
 
PPT
Проблемы и пути их решения при командной разработке проектов
Агентство AlterEGO
 
PPT
Drupal и мобильные устройства
Konstantin Komelin
 
PPT
Drupal и мобильные устройства комелин константин
drupalconf
 
PPT
Drupal и мобильные устройства, Комелин Константин
PVasili
 
PPTX
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
IT-Portfolio
 
PDF
Александр Воинов - Тренды Web
DrupalSib
 
PPTX
Создаем Drupal дистрибутив: от идеи до сопровождения.
DrupalForumZP2012
 
PDF
Yury Glushkov.What should we build a website.Drupal Camp Kyiv 2011
camp_drupal_ua
 
PDF
Фронтенд разработка без боли
Anton Piskunov
 
PDF
WebCamp: Developer Day: Разработка фронтенда: от кузницы до металлургического...
GeeksLab Odessa
 
PDF
РИФ 2016, Внедрение контроля качества в большом web-проекте на примере Badoo
Тарасов Константин
 
Creating custom module
yulia_tsyba
 
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Образовательные мероприятия "Netpeak Talks"
 
Yulia tsuba
jurenites
 
Юрий Василевский «Автоматизация в XCode»
Yandex
 
Юрий Василевский "Автоматизация в XCode"
Yandex
 
Little Service in 2h
Alexei Yuzhakov
 
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest
 
Chef @DevWeb
Alex Chistyakov
 
презентация.1
Ivan Mashkantsev
 
Проблемы и пути их решения при командной разработке проектов
Агентство AlterEGO
 
Drupal и мобильные устройства
Konstantin Komelin
 
Drupal и мобильные устройства комелин константин
drupalconf
 
Drupal и мобильные устройства, Комелин Константин
PVasili
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
IT-Portfolio
 
Александр Воинов - Тренды Web
DrupalSib
 
Создаем Drupal дистрибутив: от идеи до сопровождения.
DrupalForumZP2012
 
Yury Glushkov.What should we build a website.Drupal Camp Kyiv 2011
camp_drupal_ua
 
Фронтенд разработка без боли
Anton Piskunov
 
WebCamp: Developer Day: Разработка фронтенда: от кузницы до металлургического...
GeeksLab Odessa
 
РИФ 2016, Внедрение контроля качества в большом web-проекте на примере Badoo
Тарасов Константин
 
Ad

More from Ovadiah Myrgorod (7)

PDF
Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...
Ovadiah Myrgorod
 
PDF
How we maintain 200+ Drupal sites in Georgetown University
Ovadiah Myrgorod
 
PDF
Using Backbone.js with Drupal 7 and 8
Ovadiah Myrgorod
 
PPT
Open source and You. DrupalForum ZP.
Ovadiah Myrgorod
 
ODP
Системы управления взаимоотношениями с клиентами. Drupal CRM Core.
Ovadiah Myrgorod
 
PDF
Drupal Camp Kyiv 2011 - OpenAcaDept – Drupal distribution for building academ...
Ovadiah Myrgorod
 
PPT
DrupalCon Chicago - Best practices for cross-browser compatibility of Drupal ...
Ovadiah Myrgorod
 
Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...
Ovadiah Myrgorod
 
How we maintain 200+ Drupal sites in Georgetown University
Ovadiah Myrgorod
 
Using Backbone.js with Drupal 7 and 8
Ovadiah Myrgorod
 
Open source and You. DrupalForum ZP.
Ovadiah Myrgorod
 
Системы управления взаимоотношениями с клиентами. Drupal CRM Core.
Ovadiah Myrgorod
 
Drupal Camp Kyiv 2011 - OpenAcaDept – Drupal distribution for building academ...
Ovadiah Myrgorod
 
DrupalCon Chicago - Best practices for cross-browser compatibility of Drupal ...
Ovadiah Myrgorod
 

Drupal code sprint для новичков

  • 17. Acquia Dev Desktop для Mac или Windows: http://www.acquia.com/downloads Drupal Quickstart - настроенная виртуальная Linux машина http://drupal.org/project/quickstart LAMP своими руками: http://vmirgorod.name/blog/setting-drupal-development-environment-based- ubuntu-1010 Улучшаем производительность: SSD + http://vmirgorod.name/blog/boosted-lamp-drupal-devs Сервер для разработки
  • 18. GIT
  • 19. Извлечь проект: git clone --branch 8.x http://git.drupal.org/project/drupal.git Применить патч: patch -p1 < some-patch-1860434-33.patch Создать патч: git add <modified.file> git diff --cached > some-patch-1860434-35.patch git reset <modified.file> Как должен быть настроен Git: http://drupal.org/documentation/git/configure Работа с GIT
  • 20. Как правильно именовать патчи: [project_name]-[short-description]-[issue-number]-[comment-number].patch Графические клиенты GIT: http://git-scm.com/downloads/guis Еще: http://drupal.org/project/drupal/git-instructions http://drupal.org/node/707484 Работа с GIT
  • 22. IRC
  • 23. IRC Жизнь - это общение, а общение - это IRC. Сервер: http://freenode.net Drupal каналы: #drupal, #drupal-contribute http://drupal.org/irc Веб интерфейс: http://webchat.freenode.net
  • 27. С т а н д а р т ы к о д и р о в а н и я !
  • 30. 1. Заходим сюда http://drupal.org/community- initiatives/drupal-core. 2. Знакомимся с инициативами и ментейнерами. Выбираем инициативу
  • 31. 1. Допустим, нам понравилась мобильная инициатива и мы изучили её roadmap и почитали новости. 2. Смотрим на список заданий: http://drupal. org/project/issues/search/drupal?status[]=Open&version []=8.x&issue_tags=mobile 3. Выбираем то задание, которое: a. Нам понятно. b. Его еще не успели сделать. c. Имеет статус active или needs work. 4. Заходим на IRC канал #drupal-mobile и интересуемся кто еще работает над этой задачей в данный момент. Выбираем задачу
  • 32. 1. Заходим на страницу задачи. 2. Изучаем что нужно сделать и что готово. 3. Обновляем репозиторий до последней версии. 4. Применяем последний патч, если он был. 5. Кодируем (пишем тест). 6. Выкладываем новый патч. 7. Меняеем статус задания на needs review. 8. Ждем отклика от системы тестирования и от разработчиков. 9. Пишем в IRC канале, что справились с заданием и просим рябят сделать проверку. 10. Если все ОК, пачт, добавят в ядро. Работаем
  • 33. Проверяем пачти 1. Заходим на страницу задачи со статусом needs review. 2. Изучаем что было сделано и просматриваем последний патч, если он не завалил тесты. 3. Читаем описание задачи, убеждаясь в том, что патч решает задачу. 4. Проверяем патч на соблюдение стандартов кодирования с помощью Dreditor. 5. Пишем наш отклик о патче. 6. Меняем статус в случае необходимости на needs work или reviewed and tested by community.
  • 34. Сокращения 1. RTBC - Ready to Be Committed. Инициативы: 2. WSCCI (aka "Whiskey") - Web Services & Context Core Initiative. 3. SCOTCH - Blocks & Layouts Everywhere Initiative. 4. VODKA - Views in Core Initiative. 5. RUM - Responsive User Mobile Initiative.