Transcript
Page 1: Drupal 8 - A Brief Introduction

Drupal 8: a brief introduction by Jeff Geerling

Page 2: Drupal 8 - A Brief Introduction

Jeff Geerling

• jeffgeerling.com / geerlingguy • Senior Application Developer, Mercy • Owner, Midwestern Mac, LLC

Page 3: Drupal 8 - A Brief Introduction

Agenda

• Drupal 8 overview

• Content Management Features

• Site Building Features

• Development Features

• Discussion

Page 4: Drupal 8 - A Brief Introduction

Drupal 8

When will it be ready?

Page 5: Drupal 8 - A Brief Introduction

Drupal 8

When will it be ready?

2007 2008 2011 2014

Drupal 6

Drupal 5

Drupal 7 ???

Page 6: Drupal 8 - A Brief Introduction

Drupal 8

Will I have to relearn everything?!

Page 7: Drupal 8 - A Brief Introduction

Drupal 8

Will I have to relearn everything?!

Yes

Page 8: Drupal 8 - A Brief Introduction

Drupal 8

Will I have to relearn everything?!

Yes and No

Page 9: Drupal 8 - A Brief Introduction

Drupal 8

Will I have to relearn everything?!

Yes and NoDrupal is like the web:

always evolving, always improving.

Page 10: Drupal 8 - A Brief Introduction

Content Management• New content form + preview

• Wysiwyg

• In-place editing

• Multilingual at its core

• Accessible at its core

• Tours for contextual help

Page 11: Drupal 8 - A Brief Introduction

New Content FormContent Management

Page 12: Drupal 8 - A Brief Introduction

Internationalization ImprovementsContent Management

Page 13: Drupal 8 - A Brief Introduction

Accessibility ImprovementsContent Management

Page 14: Drupal 8 - A Brief Introduction

ToursContent Management

Page 15: Drupal 8 - A Brief Introduction

Demo

Page 16: Drupal 8 - A Brief Introduction

Site Building• VIEWS IN CORE!!

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

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

• Form Display UI (like display modes)

• Blocks, supercharged

• Configuration management

• RESTful at the core

Page 17: Drupal 8 - A Brief Introduction

Views in CoreSite Building

Page 18: Drupal 8 - A Brief Introduction

Fields in CoreSite Building

Page 19: Drupal 8 - A Brief Introduction

100% ResponsiveSite Building

Page 20: Drupal 8 - A Brief Introduction

Form Display UISite Building

Page 21: Drupal 8 - A Brief Introduction

Blocks, superchargedSite Building

Page 22: Drupal 8 - A Brief Introduction

RESTfulSite Building

Page 23: Drupal 8 - A Brief Introduction

Demo

Page 24: Drupal 8 - A Brief Introduction

Developers• OOP architecture / Symfony-based

• New routing system (hook_menu == gone)

• Configuration management

• NIH: Reuse the best code (PHP, JS, etc.)

• MIGRATE IN CORE!!

• Normalized, completed APIs (entities, cache, etc.)

Page 25: Drupal 8 - A Brief Introduction

OOP ArchitectureDevelopers / Themers

http://www.garfieldtech.com/presentations/sflportland-drupal8-symfony2/#/3

Page 26: Drupal 8 - A Brief Introduction

New Routing SystemDevelopers / Themers

Page 27: Drupal 8 - A Brief Introduction

Configuration managementDevelopers / Themers

Page 28: Drupal 8 - A Brief Introduction

NIH (“Not Invented Here”)Developers / Themers

• Twig

• Backbone

• jQuery

• jQuery UI

• YAML

• HAL/REST

• Guzzle

• PHPUnit

• CKEditor

• …

• Symfony2

• Assetic

• Composer

• Doctrine

• EasyRDF

Page 29: Drupal 8 - A Brief Introduction

Migrate in CoreDevelopers / Themers

Drupal 6

Drupal 7

Page 30: Drupal 8 - A Brief Introduction

Migrate in CoreDevelopers / Themers

Drupal 6

Drupal 7

Just committed!

Page 31: Drupal 8 - A Brief Introduction

Migrate in CoreDevelopers / Themers

Drupal 6

Drupal 7

Just committed!

In progress!

Page 32: Drupal 8 - A Brief Introduction

API ImprovementsDevelopers

$node->field_foo[LANGUAGE_NONE][0]['value']

Page 33: Drupal 8 - A Brief Introduction

API ImprovementsDevelopers

$node->field_foo[LANGUAGE_NONE][0]['value']$node->field_foo->value

Page 34: Drupal 8 - A Brief Introduction

API ImprovementsDevelopers

$node->field_foo[LANGUAGE_NONE][0]['value']$node->field_foo->value

hook_block_info, hook_block_configure, hook_block_save, hook_block_view, hook_block_YIKES!

Page 35: Drupal 8 - A Brief Introduction

API ImprovementsDevelopers

$node->field_foo[LANGUAGE_NONE][0]['value']$node->field_foo->value

hook_block_info, hook_block_configure, hook_block_save, hook_block_view, hook_block_YIKES!

BlockPluginInterface

Page 36: Drupal 8 - A Brief Introduction

API ImprovementsDevelopers

$node->field_foo[LANGUAGE_NONE][0]['value']$node->field_foo->value

hook_block_info, hook_block_configure, hook_block_save, hook_block_view, hook_block_YIKES!

BlockPluginInterface

_cache_get_object(), cache_get(), cache_get_multiple(), cache_set(), cache_clear_all(), cache_is_empty()

Page 37: Drupal 8 - A Brief Introduction

API ImprovementsDevelopers

$node->field_foo[LANGUAGE_NONE][0]['value']$node->field_foo->value

hook_block_info, hook_block_configure, hook_block_save, hook_block_view, hook_block_YIKES!

BlockPluginInterface

_cache_get_object(), cache_get(), cache_get_multiple(), cache_set(), cache_clear_all(), cache_is_empty()

\Drupal::cache()

Page 38: Drupal 8 - A Brief Introduction

…and so much more• So, so many small improvements, including:

• Node published date uses date picker

• UI dropbuttons clean up complex action item links everywhere

• Menu, content, block, etc. UI is intuitive

• Things already just work, even though we’re in alpha (test coverage++)

• Entity reference to any entity. Mind == blown.

• Wysiwyg toolbar config is drag-and-drop

• HTML5 everywhere, mobile-first

• Responsive images

• Views-powered listings (easy to modify to suit your tastes)

• …and too many more to list in this presentation!

Page 39: Drupal 8 - A Brief Introduction

Discussion

Resources for further exploration !• Drupal 8 Change Records • Drupal 8 won't kill your kittens • Drupal 8 Will Have Something for Everyone to Love • Drupal 8 Release Date • This Week in Drupal Core

Page 40: Drupal 8 - A Brief Introduction

Top Related