state of drupal keynote, drupalcon prague
TRANSCRIPT
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