Top Banner
61

Drupal 8 deeper dive

Jul 16, 2015

Download

Technology

Amazee Labs
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Drupal 8 deeper dive
Page 2: Drupal 8 deeper dive

Michael Schmid @Schnitzel

Page 3: Drupal 8 deeper dive

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

Page 4: Drupal 8 deeper dive

Drupal 8• almost all Code new

• SiteBuilders and Users: Only improvements

Page 5: Drupal 8 deeper dive

Content Management

Page 6: Drupal 8 deeper dive

New content form

Page 7: Drupal 8 deeper dive

Internationalization• Drupal 7

• 29 Modules for full translatability

• Drupal 8

• 4 Modules for full translatability

• and they are all in Core!

Page 8: Drupal 8 deeper dive

Internationalization

Page 9: Drupal 8 deeper dive

Accessibility

Page 10: Drupal 8 deeper dive

Tours

Page 11: Drupal 8 deeper dive

Content Management• New content form + preview

• Wysiwyg

• In-place editing

• Multilingual & Accessible at its core

• Tours for contextual help

Page 12: Drupal 8 deeper dive

Site Building

Page 13: Drupal 8 deeper dive

Views in Core

Page 14: Drupal 8 deeper dive

Everything is an entity• Fieldable

• Same APIs

• Better integration into Contrib

• Config vs Content Entities

Page 15: Drupal 8 deeper dive

Fields in Core

Page 16: Drupal 8 deeper dive

Responsive

Page 17: Drupal 8 deeper dive

Form Display UI

Page 18: Drupal 8 deeper dive

View Modes in Core

Page 19: Drupal 8 deeper dive

View Modes in Core

Page 20: Drupal 8 deeper dive

Blocks Supercharged

Page 21: Drupal 8 deeper dive

RESTful

Page 22: Drupal 8 deeper dive

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

Page 23: Drupal 8 deeper dive

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

Page 24: Drupal 8 deeper dive

Developers

Page 25: Drupal 8 deeper dive

OOP / Symfony

Page 26: Drupal 8 deeper dive

.• What does D7 hook_menu really do?

• routes

• default menu items

• local actions

• local tasks

Page 27: Drupal 8 deeper dive

Define Route

Page 28: Drupal 8 deeper dive

Page Controller

Page 29: Drupal 8 deeper dive

Forms?

Page 30: Drupal 8 deeper dive

Forms?

Page 31: Drupal 8 deeper dive

Configuration Management• Fully in Core

• exportable

• importable

• Show differences

• New Workflows

Page 32: Drupal 8 deeper dive

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

Page 33: Drupal 8 deeper dive

Entity API

Page 34: Drupal 8 deeper dive

Config Entites similar to Content Entites

Page 35: Drupal 8 deeper dive

Proudly invented elsewhere• Symfony2

• Assetic

• Composer

• Doctrine

• EasyRDF

• Twig

• Backbone

• jQuery

• jQuery UI

• YAML

• HAL/REST

• Guzzle

• PHPUnit

• CKEditor

Page 36: Drupal 8 deeper dive

Plugins• Example: Blocks

• Drupal 7

• hook_block_info()

• hook_block_view()

• $delta and more...

Page 37: Drupal 8 deeper dive

Plugins• D8

Page 38: Drupal 8 deeper dive

Migrate in Core• update.php

• D6 support!

• D7 support!

• Contrib defines their own Migrate workflows

Page 39: Drupal 8 deeper dive

Developers• OOP architecture / Symfony-based

• New routing system (hook_menu == gone)

• Configuration management

• Entity API

• Proudly invented elsewhere

• Migrate in Core

Page 40: Drupal 8 deeper dive

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

Page 41: Drupal 8 deeper dive

Frontend

Page 42: Drupal 8 deeper dive

TWIG• Template Engine build for Frontend Developers

Page 43: Drupal 8 deeper dive

Drupal 7• .....

Page 44: Drupal 8 deeper dive
Page 45: Drupal 8 deeper dive

Drupal 8 Core• Slimed down, no classes!

Page 46: Drupal 8 deeper dive

Drupal 8 Classy!• All classes in templates files

Page 47: Drupal 8 deeper dive

TWIG• Heavy lifting already done

Page 48: Drupal 8 deeper dive

CSS & JS• drupal_add_js/css() removed

• No JS loaded by default!

• Speeeeeed

• Declare libraries

• Attach libraries

Page 49: Drupal 8 deeper dive

Declare library

Page 50: Drupal 8 deeper dive

Declare library

Page 51: Drupal 8 deeper dive

HTML5• HTML5 out of the box

Page 52: Drupal 8 deeper dive

Responsive• Responsive core themes

• Responsive admin theme

• Picture element

Page 53: Drupal 8 deeper dive

More libraries• jQuery UI Touch Punch

• Backbone, Underscore

• modernizr

• domReady

• html5shiv & classList

Page 54: Drupal 8 deeper dive

Frontend• Twig

• CSS & JSS

• HTML5

• Responsive

• More Libraries

Page 55: Drupal 8 deeper dive

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

Page 56: Drupal 8 deeper dive

Drupal 8• It's awesome

• It's not done yet

Page 57: Drupal 8 deeper dive

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

Page 58: Drupal 8 deeper dive

Next Steps• 42 Critical Bugs

• Release Candidate 1

• New Critical Bugs?

• Release Candidate 2

• New Critical Bugs?

• Release Candidate 3

• ...

• Drupal 8.0.0

Page 59: Drupal 8 deeper dive

Should I use it?• YES

• + if you can debug code

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

Page 60: Drupal 8 deeper dive

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

Page 61: Drupal 8 deeper dive