Matthew Tift
Senior Developer at Lullabot
Drupal core contributor since 2010
Drupal 8 config system co-maintainer
Twin Cities Drupal Camp organizer
Drupal
What is the same
What is new
What is the same?
History
June 1995: PHP 1.0 Released
Jan 2001: Drupal 1.0 Released
Jan 2007: Drupal 5.0 Released
Jan 2011: Drupal 7.0 Released
Mar 2011: D8 Development Began
October 7: Drupal 8 Release Candidate 1
Drupal is
passionate people
What is new?
Backdrop
Drupal fork
1.0 released January 15, 2015
1.2 released September 15, 2015
Backdrop
Hosted on GitHub
Architecture is similar to Drupal 7
Has many Drupal 8 features
PHP Renaissance
First major PHP project to use FIG
PHP Renaissance
Write
less code
PHP Renaissance
Reuse
more code
PHP Renaissance
Share
more code
Drupal 8
borrows from many open source projects
Drupal 8
Behat
Composer
Doctrine
Guzzle
phpDocumentor
PHPUnit
Symfony
Twig
Zend
New template engine:
Twig
Drupal 8
node.tpl.php
node.html.twig
Composer handles PHP dependencies
Guzzle
HTTP client library
Symfony handles web requests
Drupal 8
PHP 5.5.9 or higher
Drupal 8
PHP standards (PSR-4, namespaces, traits)
Drupal 8
classes, inheritance, interfaces, etc.
Drupal 8
has more than
200 new features
Drupal 8
is 5 years worth of development work
Drupal 8
has 3,000+ contributors
Drupal 8
has 15,000+ committed patches
Drupal 8
powers more than
400 websites
Key Improvements
Mobile
Usability
Configuration Management
Multilingual
Web Services
All Drupal 8 themes are responsive
✓ Classy
✓ Bartik
✓ Stark
✓ Seven
Usability
CKEditor
CKEditor In Core
In-Place Editing
Form Editing
Tour Module
Select Multiple Files
Multiple Upload
Drupal 8
Configuration Management
D7 Problem:
No good way to move Drupal configuration information between environments
D7 Problem:
Every module stores its configuration data in a different format
D8 Config API
Provides a central place for modules to store configuration
Configuration for Developers
Configuration data provided in YAML
id: html_date
label: 'HTML Date'
status: true
langcode: en
locked: true
pattern: Y-m-d
D7 Problem:
Not possible to remove English
Manually download language files
Translating description, alt, title, tags
Bazillion modules needed
Choose Language on First Screen
94 languages available
English is now optional
Automatic Translation Importing
Easier right to left styling
Views in Core
No Wait for Views
Homepage is a view
Content and People Pages are views
D7 Problem:
Drupal assumes it will be delivering a blog-like HTML page
The Web Services and Context Core Initiative (WSCCI) aims to
transform Drupal from a first-class CMS to a first-class REST server with a
first-class CMS on top of it
Drupal 8 is a web service
REST/serialization support
Expose any View as a serialized resource collection
New Fields
Date
Email
Link
Reference
Telephone
Unit-Testable Code
Dependency Injection Container
helps make code more unit testable
Modules in /modules
Themes in /themes
/sites/all/ is still supported
Anthony Ferrara (ircmaxell)
Drupal 8
more object oriented, but still many hooks
Drupal 8
HTML 5-based page markup
Drupal 8
No JavaScript loaded by default
More on Drupal
(May 2015)
(Sept. 2015)