State of Drupal keynote, DrupalCon Prague

Post on 08-May-2015

3.851 views 1 download

Transcript of State of Drupal keynote, DrupalCon Prague

Dries Buytaert · @Dries on Twitter · #Driesnote

STATE OF DRUPAL

Why?

What is our purpose?

We work, we earn, we feed our children

Is there more?

Yes

We are changing the world

We help individuals build a dream

We help individuals build a dream

We give small organizations a big voice

We help individuals build a dream

We give small organizations a big voice

We give enterprises a new idea

We help individuals build a dream

We give small organizations a big voice

We give enterprises a new idea

We inspire wonder and delight

We help individuals build a dream

We give small organizations a big voice

We give enterprises a new idea

We inspire wonder and delight

We admit no boundaries

And we will do it again

6 initiatives

Multilingual Views web services

Mobile blocks++configurationmanagement

6 initiatives

blocks++

Multilingual Views web services

Mobileconfigurationmanagement

blocks++

Multilingual Views web services

Mobileconfigurationmanagement

blocks++

Multilingual Views web services

Mobileconfigurationmanagement

blocks++

Multilingual Views web services

Mobileconfigurationmanagement

blocks++

Multilingual Views web services

Mobileconfigurationmanagement

6 initiatives

over

200 new features

over

200 new features

over

200 new features

Improved content creation page

Schema.org integration

WYSIWYG in core

In-place editing

Mobile-friendly toolbar

Breakpoint API

Responsive images

Accessibility improvements

New entity and field system

Improved modules page

Symfony components

Native RESTful web services

PHPUnit

Backbone

Underscore

Guzzle HTTP client and framework

Modernizr

Modernized core forms

Responsive preview

Object-oriented code

Plugin system

Improved caching

UUIDs

A working entity render cache

over

200 new features

Views in core

Admin listings converted to views

Views bulk operations on core listings

New install screen

Responsive Bartik theme

Responsive tables

Re-designed, high resolution icons

Content translation applies to all entities

Guided tours

Configuration translation

Text transliteration

Auto-installation and updates of translations

Language assignment on almost anything

Customizable software translation

Configuration management system

Redesigned content creation UI

Content structure tools: Email, Link, Entity Reference, Telephone, Date

Re-designed responsive admin theme

Custom block entities

Re-designed block UI

Human-readable image style names

Image uploading, captioning and aligning in WYSIWYG

Universal modal dialog

Re-built server-side ajax API

Improved content creation page

Schema.org integration

WYSIWYG in core

In-place editing

Mobile-friendly toolbar

Breakpoint API

Responsive images

Accessibility improvements

New entity and field system

Re-designed modules page

Symfony components

Native RESTful web services

PHPUnit

Backbone

Underscore

Guzzle HTTP client and framework

Modernizr

over

200 new features

Views in core

Admin listings converted to views

Views bulk operations on core listings

New install screen

Responsive Bartik theme

Responsive tables

Re-designed, high resolution icons

Content translation applies to all entities

Guided tours

Configuration translation

Text transliteration

Auto-installation and updates of translations

Language assignment on almost anything

Customizable software translation

Configuration management system

Redesigned content creation UI

Content structure tools: Email, Link, Entity Reference, Telephone, Date

Re-designed responsive admin theme

Custom block entities

Re-designed block UI

Human-readable image style names

Image uploading, captioning and aligning in WYSIWYG

Universal modal dialog

Re-built server-side ajax API

Improved content creation page

Schema.org integration

WYSIWYG in core

In-place editing

Mobile-friendly toolbar

Breakpoint API

Responsive images

Accessibility improvements

New entity and field system

Re-designed modules page

Symfony components

Native RESTful web services

PHPUnit

Backbone

Underscore

Guzzle HTTP client and framework

Modernizr

Schema.orgfor semantic markup

<div vocab="http://schema.org/" typeof="Offer"> <span property="name">Blend-O-Matic</span> <span property="price">$19.95</span> <img src="four-stars.jpg" /> Based on 25 user ratings</div>

Schema.orgfor semantic markup

<div vocab="http://schema.org/" typeof="Offer"> <span property="name">Blend-O-Matic</span> <span property="price">$19.95</span> <div property="reviews" typeof="AggregateRating"> <img src="four-stars.jpg" /> <meta property="ratingValue" content="4" /> <meta property="bestRating" content="5" /> Based on <span property="ratingCount">25</span> user ratings </div></div>

<div vocab="http://schema.org/" typeof="Offer"> <span property="name">Blend-O-Matic</span> <span property="price">$19.95</span> <img src="four-stars.jpg" /> Based on 25 user ratings</div>

Better SEO

Better SEO

Search engines will become answer engines

over

200 new features

Views in core

Admin listings converted to views

Views bulk operations on core listings

New install screen

Responsive Bartik theme

Responsive tables

Re-designed, high resolution icons

Content translation applies to all entities

Guided tours

Configuration translation

Text transliteration

Auto-installation and updates of translations

Language assignment on almost anything

Customizable software translation

Configuration management system

Redesigned content creation UI

Content structure tools: Email, Link, Entity Reference, Telephone, Date

Re-designed responsive admin theme

Improved modules page

Custom block entities

Re-designed block UI

New theme system (twig)

Human-readable image style names

Image uploading, captioning and aligning in WYSIWYG

Universal modal dialog

Re-built server-side ajax API

Improved content creation page

Schema.org integration

WYSIWYG in core

In-place editing

Mobile-friendly toolbar

Breakpoint API

Responsive images

Accessibility improvements

New entity and field system

Re-designed modules page

Symfony components

over

200 new features

Views in core

Admin listings converted to views

Views bulk operations on core listings

New install screen

Responsive Bartik theme

Responsive tables

Re-designed, high resolution icons

Content translation applies to all entities

Guided tours

Configuration translation

Text transliteration

Auto-installation and updates of translations

Language assignment on almost anything

Customizable software translation

Configuration management system

Redesigned content creation UI

Content structure tools: Email, Link, Entity Reference, Telephone, Date

Re-designed responsive admin theme

Improved modules page

Custom block entities

Re-designed block UI

New theme system (twig)

Human-readable image style names

Image uploading, captioning and aligning in WYSIWYG

Universal modal dialog

Re-built server-side ajax API

Improved content creation page

Schema.org integration

WYSIWYG in core

In-place editing

Mobile-friendly toolbar

Breakpoint API

Responsive images

Accessibility improvements

New entity and field system

Re-designed modules page

Symfony components

DRUPAL 7

Print variable

DRUPAL 7

Why does this need to be rendered?

DRUPAL 7

Switching in and out of PHP

DRUPAL 7

DRUPAL 8

No switching to PHP, just print variables

DRUPAL 8

No PHP!

DRUPAL 8

DRUPAL 8No rendering, all variables are already rendered

DRUPAL 8

html 5!

Views in core

Admin listings converted to views

Views bulk operations on core listings

New install screen

Responsive Bartik theme

Responsive tables

Re-designed, high resolution icons

Content translation applies to all entities

Guided tours

Configuration translation

Text transliteration

Auto-installation and updates of translations

Language assignment on almost anything

Semantic HTML5 fields

Customizable software translation

Configuration management system

Responsive admin theme

Content structure tools: Email, Link, Entity Reference, Telephone, Date

Improved modules page

Custom block entities

Re-designed block UI

New theme system (twig)

Human-readable image style names

Image uploading, captioning and aligning in WYSIWYG

Universal modal dialog

Re-built server-side ajax API

Improved content creation page

Schema.org integration

WYSIWYG in core

In-place editing

over

200 new features

Views in core

Admin listings converted to views

Views bulk operations on core listings

New install screen

Responsive Bartik theme

Responsive tables

Re-designed, high resolution icons

Content translation applies to all entities

Guided tours

Configuration translation

Text transliteration

Auto-installation and updates of translations

Language assignment on almost anything

Semantic HTML5 fields

Customizable software translation

Configuration management system

Responsive admin theme

Content structure tools: Email, Link, Entity Reference, Telephone, Date

Improved modules page

Custom block entities

Re-designed block UI

New theme system (twig)

Human-readable image style names

Image uploading, captioning and aligning in WYSIWYG

Universal modal dialog

Re-built server-side ajax API

Improved content creation page

Schema.org integration

WYSIWYG in core

In-place editing

over

200 new features

When you use the date field ...

When you use the date field ...

The device shows its date widget

When you use the telephone field ...

When you use the telephone field ...

The device shows the numeric keypad

When you use the email field ...

When you use the email field ...

The device shows the @ symbol

Views in core

Admin listings converted to views

Views bulk operations on core listings

New install screen

Responsive Bartik theme

Responsive tables

Re-designed, high resolution icons

Content translation applies to all entities

Guided tours

Re-designed administration pages

Configuration translation

Text transliteration

Auto-installation and updates of translations

Language assignment on almost anything

Semantic HTML5 fields

Customizable software translation

Configuration management system

Responsive administrative theme

Content structure tools: Email, Link, Entity Reference, Telephone, Date

Improved modules page

Custom block entities

Re-designed block UI

New theme system (twig)

over

200 new features

Views in core

Admin listings converted to views

Views bulk operations on core listings

New install screen

Responsive Bartik theme

Responsive tables

Re-designed, high resolution icons

Content translation applies to all entities

Guided tours

Re-designed administration pages

Configuration translation

Text transliteration

Auto-installation and updates of translations

Language assignment on almost anything

Semantic HTML5 fields

Customizable software translation

Configuration management system

Responsive administrative theme

Content structure tools: Email, Link, Entity Reference, Telephone, Date

Improved modules page

Custom block entities

Re-designed block UI

New theme system (twig)

over

200 new features

WHAT iS IN IT FOR

YOU?

WHAT’S IN IT FOR

large

WHAT’S IN IT FOR

small

tech

non-tech

SMALL SITE OWNER“Building a site in Drupal 7 was painful. No text editor. How do I add images? How do I change the home page? I give up.”

There is help It just works

Finding things is

quick

Editing is easy

Site creation is easy

All the basics are installed

There is help It just works

Finding things is

quickAll the basics are installed

Editing is easy

Site creation is easy

All the basics are installed

It just works

Finding things is

quick

Editing is easy

There is help

Site creation is easy

It just works

Finding things is

quickAll the basics are installed

Editing is easy

There is help

Site creation is easy

It just works

Finding things is

quickAll the basics are installed

It just works

Editing is easy

There is help

Site creation is easy

It just works

Finding things is

quickAll the basics are installed

It just works

Editing is easy

There is help

Site creation is easy

FRONT-END DEVELOPER“Getting Drupal 7 to output what I want is too complicated. I want to use modern techniques and libraries and Drupal is getting in the way.”

TWIG

Modern theming

Better libraries

Standard interactions like modal, dropbutton

Better markup

Natively responsive

Themers don’t need

to know PHP

TWIG

Modern theming

Better libraries

Better markupStandard

interactions like modal, dropbutton

Natively responsive

Themers don’t need

to know PHP

TWIG

Modern theming

Better libraries

Better markupStandard

interactions like modal, dropbutton

Natively responsive

Themers don’t need

to know PHP

TWIG

Modern theming

Better libraries

Better markupStandard

interactions like modal, dropbutton

Natively responsive

Themers don’t need

to know PHP

TWIG

It just worksModern theming

Better libraries

Better markupStandard

interactions like modal, dropbutton

Natively responsive

Themers don’t need

to know PHP

TWIG

It just worksModern theming

Better libraries

Better markupStandard

interactions like modal, dropbutton

Natively responsive

Themers don’t need

to know PHP

MARKETING MANAGER“Running an enterprise multichannel Drupal site is challenging. I can’t build mobile-friendly pages without a developer, my writers hate the text editor, and SaaS marketing tools are hard to integrate.”

REST schema.orgNative apps

Responsive preview

Multilingual built in

Effortless authoring

Structured content that is SEO-friendly

Integration with third-

party services

schema.orgNative apps

Responsive preview

Multilingual built in

Effortless authoring

REST

Structured content that is SEO-friendly

Integration with third-

party services

REST schema.orgNative apps

Responsive preview

Multilingual built in

Effortless authoring

Structured content that is SEO-friendly

Integration with third-

party services

schema.orgNative apps

Responsive preview

Multilingual built in

Effortless authoring

REST

Structured content that is SEO-friendly

Integration with third-

party services

schema.org

It just works

Native apps

Responsive preview

Multilingual built in

Effortless authoring

REST

Structured content that is SEO-friendly

Integration with third-

party services

schema.org

It just worksEffortless authoring

Structured content that is SEO-friendly

Integration with third-

party services

Native apps

Responsive preview

Multilingual built in

Effortless authoring

REST

ENGINEERING DIRECTOR"Drupal worries me. To extend it my team needs ‘tribal knowledge’ that is useless outside Drupal. Config is mixed with content in the database which complicates deployment, and scalability and security are big concerns."

“Proudly Found Elsewhere”

More versatile framework

Configuration in files

Scalability Unit testability

Object oriented modern code

More versatile framework

Configuration in files

Scalability Unit testability

“Proudly Found Elsewhere”

Object oriented modern code

More versatile framework

Configuration in files

Scalability Unit testability

“Proudly Found Elsewhere”

Object oriented modern code

More versatile framework

Configuration in files

Scalability Unit testability

“Proudly Found Elsewhere”

Object oriented modern code

It just worksMore versatile framework

Configuration in files

Scalability Unit testability

“Proudly Found Elsewhere”

Object oriented modern code

It just worksMore versatile framework

Configuration in files

Scalability Unit testability

“Proudly Found Elsewhere”

Object oriented modern code

WE’VE UPPED OUR GAME

THERE IS A Lot of work left to be done

“If you want to go quickly, go alone. If you want to go far, go together.”

- Al Gore

BIGGEST TO-DOS

3

01.MAKE IT FASTER• Still have backward

compatibility layers in place

• Will start to focus on performance once these are removed

• Simplify APIs• Make code less verbose • Write documentation

02.FIX THE DEVELOPER LEARNING CURVE

03.SIMPLIFYUPGRADING• Fix the upgrade path• Help with Coder module• Write documentation

Core team

Early 2013Anything  goes!  features,  API  changes,  and  addi6ons  

Module developers Site buildersThemers

Core team

Early 2013Anything  goes!  features,  API  changes,  and  addi6ons  

Module developers Site buildersThemers

PORTLAND

MID 2013Alpha

Core team

Early 2013Anything  goes!  features,  API  changes,  and  addi6ons  

Module developers Site buildersThemers

Focus  on  cleaning  up  

APIs

Provide  early  API  feedback

PORTLAND

MID 2013Alpha

Core team

Early 2013Anything  goes!  features,  API  changes,  and  addi6ons  

Module developers Site buildersThemers

Focus  on  cleaning  up  

APIs

Provide  early  API  feedback

PRAGUE

PORTLAND

MID 2013Alpha

Core team

feat

ures

Early 2013Anything  goes!  features,  API  changes,  and  addi6ons  

Module developers Site buildersThemers

Focus  on  cleaning  up  

APIs

Provide  early  API  feedback

PRAGUE

PORTLAND

MID 2013Alpha

Late 2013BETA 1

Core team

feat

ures

Early 2013Anything  goes!  features,  API  changes,  and  addi6ons  

Module developers Site buildersThemers

Focus  on  cleaning  up  

APIs

Focus  on  cleaning  up  

APIs

Provide  early  API  feedback

Provide  early  API  feedback

PRAGUE

PORTLAND

MID 2013Alpha

Late 2013BETA 1

EARLY 2014 RC1

Core team

feat

ures

Early 2013Anything  goes!  features,  API  changes,  and  addi6ons  

Module developers Site buildersThemers

Focus  on  release  

blockers  only.

Focus  on  cleaning  up  

APIs

Focus  on  cleaning  up  

APIs

Provide  early  API  feedback

Provide  early  API  feedback

Start  upgrading  contributed  modules  

Start  upgrading  contributed  themes

Start  tes6ng  Drupal  8,  

upgrade  path

PRAGUE

PORTLAND

MID 2013Alpha

Late 2013BETA 1

EARLY 2014 RC1

Core team

feat

ures

REFIN

ING

Early 2013Anything  goes!  features,  API  changes,  and  addi6ons  

Module developers Site buildersThemers

Focus  on  release  

blockers  only.

Focus  on  cleaning  up  

APIs

Focus  on  cleaning  up  

APIs

Provide  early  API  feedback

Provide  early  API  feedback

Start  upgrading  contributed  modules  

Start  upgrading  contributed  themes

Start  tes6ng  Drupal  8,  

upgrade  path

PRAGUE

PORTLAND

MID 2013Alpha

Late 2013BETA 1

EARLY 2014 RC1

It’s ready WHEN IT’s READY

Core team

feat

ures

REFIN

ING

Early 2013Anything  goes!  features,  API  changes,  and  addi6ons  

Module developers Site buildersThemers

Focus  on  release  

blockers  only.

Focus  on  cleaning  up  

APIs

Focus  on  cleaning  up  

APIs

Provide  early  API  feedback

Provide  early  API  feedback

Start  upgrading  contributed  modules  

Start  upgrading  contributed  themes

Start  tes6ng  Drupal  8,  

upgrade  path

Contrib  modules Contrib  themes Early  adoptersNo  bugs

PRAGUE

PORTLAND

MID 2013Alpha

Late 2013BETA 1

EARLY 2014 RC1

It’s ready WHEN IT’s READY

Core team

feat

ures

REFIN

ING

test

ing

Early 2013Anything  goes!  features,  API  changes,  and  addi6ons  

Module developers Site buildersThemers

Focus  on  release  

blockers  only.

Focus  on  cleaning  up  

APIs

Focus  on  cleaning  up  

APIs

Provide  early  API  feedback

Provide  early  API  feedback

Start  upgrading  contributed  modules  

Start  upgrading  contributed  themes

Start  tes6ng  Drupal  8,  

upgrade  path

Contrib  modules Contrib  themes Early  adoptersNo  bugs

PRAGUE

PORTLAND

MID 2013Alpha

Late 2013BETA 1

EARLY 2014 RC1

It’s ready WHEN IT’s READY

Core team

feat

ures

REFIN

ING

test

ing

Early 2013Anything  goes!  features,  API  changes,  and  addi6ons  

Module developers Site buildersThemers

Focus  on  release  

blockers  only.

Focus  on  cleaning  up  

APIs

Focus  on  cleaning  up  

APIs

Provide  early  API  feedback

Provide  early  API  feedback

Start  upgrading  contributed  modules  

Start  upgrading  contributed  themes

Start  tes6ng  Drupal  8,  

upgrade  path

Contrib  modules Contrib  themes Early  adoptersNo  bugs

PRAGUE

PORTLAND

There Is still time

to get involved.

We’ll take the time to get it

right.

DRUPAL 8 LAUNCH

LET’S “UP IT” MORE!

HISTORY OF DRUPAL LAUNCHES

HISTORY OF DRUPAL LAUNCHES• Drupal 6: one blog post

HISTORY OF DRUPAL LAUNCHES• Drupal 6: one blog post

• Drupal 7: one landing page and 300 parties

Joe Saylor

Drupal Association hired marketing and communication manager

Joe Saylor

Drupal Association hired marketing and communication manager

Launch Objectives

• Grow Drupal adoption as a percentage of site usage

• Grow the Drupal developer community

• Support and celebrate the existing community

Launch Objectives

• Grow Drupal adoption as a percentage of site usage

• Grow the Drupal developer community

• Support and celebrate the existing community

Asset Wish List

• Overview video• Overview presentation• Drupal 8 training• Sales guide for agencies and shops

Launch Objectives

• Grow Drupal adoption as a percentage of site usage

• Grow the Drupal developer community

• Support and celebrate the existing community

Asset Wish List

• Overview video• Overview presentation• Drupal 8 training• Sales guide for agencies and shops

Provide a promotion package with content and

materials people can easily use to promote the launch:

• Example social media updates

• Overview presentation

• Branded assets (logo, brand guidance)

Engaging the Community

Launch Objectives

• Grow Drupal adoption as a percentage of site usage

• Grow the Drupal developer community

• Support and celebrate the existing community

Asset Wish List

• Overview video• Overview presentation• Drupal 8 training• Sales guide for agencies and shops

Provide a promotion package with content and

materials people can easily use to promote the launch:

• Example social media updates

• Overview presentation

• Branded assets (logo, brand guidance)

Engaging the CommunityCountry Groups on G.D.O• Provide launch promotional materials• Provide information that can be translated:- Press release

- Example PR pitch- Example social media updates

We help individuals build a dream

We give small organizations a big voice

We give enterprises a new idea

We inspire wonder and delight

We admit no boundaries

We level the playing field

More than 1,600

people contributed to Drupal 8

Number of core contributors

0

425

850

1275

1700

ABOUT TO double!

Drupal 7.0

Drupal 8-alpha3

Number of core contributors

0

425

850

1275

1700

NewRecurring

Number of core contributors

Drupal 7.0

Drupal 8-alpha3

0

425

850

1275

1700

NewRecurring

Number of core contributors

More RECURRING contributors

More NEW contributors

Drupal 7.0

Drupal 8-alpha3

Cathy Theysd.o username:YesCTjoined:5.5 years agolocation:United Statescontribution:Sprints

Alex Pottd.o username:alexpottjoined:6 years agolocation:United Kingdomcontribution:Core Maintainer

Alex Pottd.o username:alexpottjoined:6 years agolocation:United Kingdomcontribution:Core Maintainer

Alex Pottd.o username:alexpottjoined:6 years agolocation:United Kingdomcontribution:Core co-maintainer

Jesse beachd.o username:jessebeachjoined:3.5 years agolocation:United Statescontribution:Accessibility/Front-end

jeremy thorsond.o username:jthorsonjoined:6 years agolocation:Canadacontribution:Quality assurance

Shannon vettesd.o username:svettesjoined:2.5 years agolocation:Francecontribution:Project management

scott reevesd.o username:Cottserjoined:2.5 years agolocation:Canadacontribution:Themer/Mentor

tim plunkettd.o username:tim.plunkettjoined:5.5 years agolocation:United Statescontribution:Core generalist

Vijay Manid.o username:vijaycs85joined:7 years agolocation:Indiacontribution:Low-Hanging Fruit

Sascha grossenbacherd.o username:Berdirjoined:5.5 years agolocation:Switzerlandcontribution:Entities and Fields

Daniel Wehnerd.o username:dawehnerjoined:6.5 years agolocation:Germanycontribution:Views in Core

Klaus purerd.o username:klausijoined:5.5 years agolocation:Austriacontribution:REST/Project Reviews

alex bronsteind.o username:effulgentsiajoined:7 years agolocation:United Statescontribution:Diplomat/Momentum Engineer

ryan frederickd.o username:ry5njoined:1.5 years agolocation:Canadacontribution:Designer

lee rowlandsd.o username:larowlanjoined:5 years agolocation:Australiacontribution:UX Patterns

virtual high five

place hand here( )

Thank you!Q & A

Contact:  h*p://buytaert.net/contact            Twi*er:  @Dries    #DriesNote            Blog:  h*p://buytaert.net

The Big Group Photo will take place outsideEntrance 5 immediately

after the keynote

1. Exit First Floor Exit Doors on your right2. Go down stair case to Ground Floor3. Go out Door 5 4. Turn Left and go out to the plaza

1.

3. Exit 5

4. Plaza

Big Group Photo