Download pdf - Drupal 8 deeper dive

Transcript

Michael Schmid @Schnitzel

We <3 Drupal 8• Released 3 Sites on Drupal 8

• amazeelabs.com

• Drupal 8 Alpha 6

• drupal.com

• Client site

• Business Version of drupal.org

• sgg-ssup.ch

• Client site

Drupal 8• almost all Code new

• SiteBuilders and Users: Only improvements

Content Management

New content form

Internationalization• Drupal 7

• 29 Modules for full translatability

• Drupal 8

• 4 Modules for full translatability

• and they are all in Core!

Internationalization

Accessibility

Tours

Content Management• New content form + preview

• Wysiwyg

• In-place editing

• Multilingual & Accessible at its core

• Tours for contextual help

Site Building

Views in Core

Everything is an entity• Fieldable

• Same APIs

• Better integration into Contrib

• Config vs Content Entities

Fields in Core

Responsive

Form Display UI

View Modes in Core

View Modes in Core

Blocks Supercharged

RESTful

Site Building• Views in Core

• Fields in core: Date, Link, Email, Telephone, Entity Reference,

• 100% responsive, mobile-first (includes admin backend)

• Form Display UI (like display modes)

• Blocks, supercharged

• Configuration management

• RESTful at the core

Drupal 8 in terms of sitebuilding is awesome. After a short time you are able to build almost everything out of the box. Sometimes you have to think around the corner to get your result. And sometimes you get stuck because of some nasty bugs.

Boris Baldinger Sitebuilder

Developers

OOP / Symfony

.• What does D7 hook_menu really do?

• routes

• default menu items

• local actions

• local tasks

Define Route

Page Controller

Forms?

Forms?

Configuration Management• Fully in Core

• exportable

• importable

• Show differences

• New Workflows

Configuration Management• variable_{get,set} are gone!

Entity API

Config Entites similar to Content Entites

Proudly invented elsewhere• Symfony2

• Assetic

• Composer

• Doctrine

• EasyRDF

• Twig

• Backbone

• jQuery

• jQuery UI

• YAML

• HAL/REST

• Guzzle

• PHPUnit

• CKEditor

Plugins• Example: Blocks

• Drupal 7

• hook_block_info()

• hook_block_view()

• $delta and more...

Plugins• D8

Migrate in Core• update.php

• D6 support!

• D7 support!

• Contrib defines their own Migrate workflows

Developers• OOP architecture / Symfony-based

• New routing system (hook_menu == gone)

• Configuration management

• Entity API

• Proudly invented elsewhere

• Migrate in Core

Overall, I have really really good feelings about D8. Previously we said "Drupal way" about many coding things. Now it's the "right way"! Drupal core now uses bleeding edge technologies, and that makes work really interesting.

Alex Tkachev Backend Developer

Frontend

TWIG• Template Engine build for Frontend Developers

Drupal 7• .....

Drupal 8 Core• Slimed down, no classes!

Drupal 8 Classy!• All classes in templates files

TWIG• Heavy lifting already done

CSS & JS• drupal_add_js/css() removed

• No JS loaded by default!

• Speeeeeed

• Declare libraries

• Attach libraries

Declare library

Declare library

HTML5• HTML5 out of the box

Responsive• Responsive core themes

• Responsive admin theme

• Picture element

More libraries• jQuery UI Touch Punch

• Backbone, Underscore

• modernizr

• domReady

• html5shiv & classList

Frontend• Twig

• CSS & JSS

• HTML5

• Responsive

• More Libraries

In my experience with Drupal 8 (and on this project in particular), working with Twig templates is much more concise and straightforward to code than a D7 .tpl file. As a developer with only basic PHP skills, the Twig syntax is easier to grasp.

Kathryn McClintock Frontend Developer

Drupal 8• It's awesome

• It's not done yet

Next Steps• 6 Critical Upgrade Blockers

• Upgradable Betas

• Head2Head!!

• Single scripts for each new Head Version

• https://www.drupal.org/project/head2head

• Beta2Beta

• Group of Scripts

Next Steps• 42 Critical Bugs

• Release Candidate 1

• New Critical Bugs?

• Release Candidate 2

• New Critical Bugs?

• Release Candidate 3

• ...

• Drupal 8.0.0

Should I use it?• YES

• + if you can debug code

• + you will need Head2Head for upgrading (or wait till Betas are upgradable)

Future• Drupal 8.0.0

• Drupal 8.0.1, 8.0.2, ...

• Patches, no new features

• Drupal 8.1.0, 8.2.0

• New features

• Backwards compatible!

• Drupal 9.0.0

• No Backwards compatibility anymore