Обзор drupal 8 by andrei khalipau, kostya halipov and Егор Богатырёв
DESCRIPTION
Minsk Drupal Meetup #1TRANSCRIPT
![Page 1: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/1.jpg)
Drupal 8
Введение
![Page 2: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/2.jpg)
Статистика
●Текущий релиз - drupal 8.0-alpha9
●Более 11 400 файлов и 37.5 мб кода в
распакованном состоянии
●Количество контрибьютеров - over 1700
●Количество незакрытых критических багов менее
120
●Предполагаемая дата релиза TBD
●Количество скачиваний более 23 тысяч
![Page 3: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/3.jpg)
Ключевые моменты
Phase Start date End date
Development phase March 10, 2011 December 1, 2012
Feature completion phase December 1, 2012 February 18, 2013
Clean-up phase February 18, 2013 July 1, 2013
API completion phase July 1, 2013 TBD
![Page 4: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/4.jpg)
![Page 5: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/5.jpg)
Инициативы
●Configuration Management
●HTML5
●Layouts (была вынесена из ядра)
●Mobile
●Multilingual
●Views in Core
●Web Services
![Page 6: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/6.jpg)
Install Drupal 8
![Page 7: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/7.jpg)
CKEditor
![Page 8: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/8.jpg)
Views
![Page 9: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/9.jpg)
Поддержка RESTful Web Services
![Page 10: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/10.jpg)
No valid e-mail, link
![Page 11: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/11.jpg)
Пример создания материала без комментариев
![Page 12: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/12.jpg)
Manage fields
![Page 13: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/13.jpg)
Manage form display
![Page 14: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/14.jpg)
Quick editing
![Page 15: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/15.jpg)
Отказ от поддержки IE6/7
![Page 16: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/16.jpg)
Конфигурация хранится в
специальных файлах
sites/default/files/config_XXXX/active
![Page 17: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/17.jpg)
Модуль Migrate
![Page 18: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/18.jpg)
Пример размещения одного блока несколько раз
на странице
![Page 19: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/19.jpg)
Пример размещения одного блока несколько раз
на странице
![Page 20: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/20.jpg)
BACKEND
![Page 21: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/21.jpg)
Изменения в Drupal 8
Новые типы полей.
Настройка страниц с Views.
Редактирование контента.
Конфигурационная система.
ООП подход.
Использование компонентов Symfony2.
PHPUnit тесты.
Миграция в Drupal 8.
Мультиязычность.
Сокращение модулей ядра.
![Page 22: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/22.jpg)
Новые типы: ссылка на сущность (Entity Reference),
ссылка, дата, адрес электронной почты, телефон и
т.д.
Комментарии теперь являются полем.
Создания собственных пользовательских
контактных форм.
Новые типы полей
![Page 23: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/23.jpg)
Модуль Views встроен в ядро.
Легко настраиваемая фронтальная страница.
Простой процесс создания собственных страниц
администрирования, настройки уже существующих
страниц, фильтров, действий и т. д.
Настройка страниц с Views
![Page 24: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/24.jpg)
Встроенный редактор WYSIWYG CKEditor.
Конфигурация WYSIWYG с учетом требований веб-
безопасности.
В месте редактирования контента теперь нет
необходимости использовать полную форму
редактирования.
Редактирование контента
![Page 25: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/25.jpg)
Файлы конфигурации в формате YAML.
Простой импорт/экспорт конфигураций между
сайтами.
Использование систем контроля версий (Git, SVN и
т.д.)
Конфигурационная система
![Page 26: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/26.jpg)
ООП подход к большей части системы.
Постепенный отход от процедурного
программирования и использования хуков.
Стандарт PSR-0 для пространств имен.
Полный переход к ООП планируется осуществить в
Drupal 9.
Большая гибкость в разработке и настройке
поведения Drupal.
ООП подход
![Page 27: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/27.jpg)
HttpFoundation и HttpKernel
Routing
ClassLoader
DependencyInjection или Service Container
EventDispatcher
Yaml
Twig
Serializer
Translation
Process
Validator
Использование компонентов
Symfony2
![Page 28: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/28.jpg)
Drupal 8 содержит PHPUnit для более быстрого и
целенаправленного тестирования.
SimpleTest все еще является частью системы.
PHPUnit тесты
![Page 29: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/29.jpg)
Модуль Migrate интегрирован в ядро.
Инструменты импорта.
Импорт контента из Drupal 6 или Drupal 7.
Миграция в Drupal 8
![Page 30: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/30.jpg)
Выбор языка на первом шаге установки Drupal 8.
Перевод слов в системе с помощью встроенного
пользовательского интерфейса стал более удобен.
Создание страниц с Views с фильтрацией языка и
видимостью блоков.
Автоматические обновления переводов от
сообщества Drupal.
Мультиязычность
![Page 31: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/31.jpg)
Blog
Dashboard
List
OpenID
Overlay
PHP filter
Trigger
Poll
Profile и т.д
Сокращение модулей ядра
![Page 32: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/32.jpg)
СПАСИБО ЗА ВНИМАНИЕ
Материалы используемые для подготовки докладаo Drupal 8 — Coming soon (https://drupal.org/drupal-8.0)
o Drupal 8 — революционные изменения
(http://habrahabr.ru/post/197670/)
o Change records for Drupal core (https://drupal.org/list-
changes)
o Лучшие ресурсы для начала работы с Drupal 8
(http://habrahabr.ru/company/first/blog/205754/)
![Page 33: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/33.jpg)
Drupal 8
Frontend
![Page 34: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/34.jpg)
Bartik, Stark & Seven
![Page 35: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/35.jpg)
Bartik wide
![Page 36: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/36.jpg)
Bartik narrow & mobile
![Page 37: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/37.jpg)
Seven wide
![Page 38: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/38.jpg)
Seven narrow & mobile
![Page 39: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/39.jpg)
HTML 5
![Page 40: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/40.jpg)
Responsive images
![Page 41: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/41.jpg)
jQuery 2.0.3 & jQuery UI 1.10.2
![Page 42: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/42.jpg)
Modernizr
![Page 43: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/43.jpg)
Backbone & Underscore
![Page 44: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/44.jpg)
jQuery UI Touch Punch
![Page 45: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/45.jpg)
domReady
![Page 46: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/46.jpg)
No IE8
![Page 47: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/47.jpg)
Twig
![Page 48: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/48.jpg)
Twig syntax
• {# #} - comments
• {% %} - commands
![Page 49: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/49.jpg)
Docblock
PHPTemplate:
<?php
/**
* @file
* File description
*/
?>
Twig:
{#
/**
* @file
* File description
*/
#}
![Page 50: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/50.jpg)
Переменные
PHPTemplate:
<?php print $content; ?>
<?php print $item['#item']['alt']; ?>
<?php $cust_var = $content-
>comments; ?>
<?php $args = array('!author' =>
$author, '!date' => $created); ?>
Twig:
{{ content }}
{{ item['#item'].alt }}
{% set cust_var =
content.comments %}
{% set args = {'!author': author,
'!date': created} %}
![Page 51: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/51.jpg)
Управляющие конструкции
PHPTemplate:
<?php if ($content->comments): ?>
<?php endif; ?>
<?php foreach ($users as $user): ?>
<?php endforeach; ?>
Twig:
{% if content.comments %}
{% endif %}
{% for user in users %}
{% endfor %}
{% for user in users %}
* {{ user.name }}
{% else %}
No users have been found.
{% endfor %}
![Page 52: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/52.jpg)
Фильтры
PHPTemplate:
<?php print check_plain($title); ?>
<?php print t('Home'); ?>
<?php print t('Welcome,
@username', array('@username' =>
$user->name)); ?>
Twig:
{{ title|escape }}
{{ 'Home'|t }}
{{ 'Welcome, @username'|t({
'@username': user.name }) }}
{% trans %}
Welcome, {{ user.name }}
{% endtrans %}
escape
![Page 53: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/53.jpg)
Theme Drupal 7 > Drupal 8:
• MYTHEME.info > MYTHEME.info.yml
• template.php > MYTHEME.theme
• template_name.tpl.php > template_name.html.twig
• Theme functions > twig templates
• No process functions
• No render functions
![Page 54: Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557f2ca3d8b42a00268b4f02/html5/thumbnails/54.jpg)