SlideShare une entreprise Scribd logo
1  sur  61
Télécharger pour lire hors ligne
Everything You Need to Know About
the Top 8 Changes in Drupal 8
Angela "@webchick" Byron
May 26, 2015
About me
What are we doing here?
• Go through top 8 changes for Drupal 8, in order of
geekiness. ;)
• Walk through some of the bigger API changes in
D8 for module developers
• Answers to frequently asked questions
• Q&A
1. Improved Authoring
Experience
2. Mobile First
3. Site Builder
Improvements
Views in Core!
What is Views module?
• Create fully customizable:
• Admin listings
• Sidebar content
• Image galleries
• Slideshows
• XML/JSON output
• …with zero lines of code!
Better Blocks
New Field Types
4. Multilingual++
Translatable Everything!
• Content
• Blocks
• Menus
• User Profiles
• Taxonomy
• Views
• Image styles
• Text formats
• Comments
• Feeds
• …and more!
• No contributed
modules needed!
5. Configuration
Management
6. Front-end developer
improvements
HTML5 Forms
PHPTemplate is now Twig
7.x: page.tpl.php 8.x: page.html.twig
<div id="page-wrapper">
<div id="page">
<div id="header">
<div class="section clearfix">
<?php if ($logo): ?>
<a href="<?php print $front_page; ?>"
title="<?php print t('Home'); ?>"
rel="home" id="logo">
<img src="<?php print $logo; ?>"
alt="<?php print t('Home'); ?>"
/>
</a>
<?php endif; ?>
<div class="layout-container">
 
<header role="banner">
{% if logo %}
<a href="{{ front_page }}"
title="{{ 'Home'|t }}"
rel="home">
<img src="{{ logo }}"
alt="{{ 'Home'|t }}"/>
</a>
{% endif %}
• Friendlier syntax for designers
• Variables auto-escaped for better security
http://twig.sensiolabs.org
No more (core) support for

IE 6, 7, & 8
7. Web Services
8. Modern, OO Code
Warning:
Things are about to
get... geeky.
"Getting off the Island"
Modern PHP Best Practices
• PHP 5.4+
• Classes/Interfaces
• Namespaces
• Traits
• Dependency Injection
• Most PSR-* standards
Powered by Symfony2
Tutorial: http://fabien.potencier.org/article/50/create-your-own-
framework-on-top-of-the-symfony2-components-part-1
…and dozens of other "best
of breed" libraries
…and dozens of other
librariesA peek under the hood
YAML, YAML everywhere
7.x: example.info 8.x: example.info.yml
name = Example
description = "Example module"
core = 7.x
files[] = example.test
config = admin/config/example
dependencies[] = node
name: Example
type: module
description: "Example module"
core: 8.x

config: admin.example
dependencies:
- node
• New required "type" property
• No more files[] (we'll get to that later)
• Paths now have machine names to
help prevent breakage

(we'll get to that later, too)
Drupalism: Kinda-
Sorta-INI-Like
"Proudly Invented
Elsewhere": YAML
Classes, classes everywhere
sites/all/modules
example
▼
▼
example.test
7.x
modules
example
▼
▼
8.x
src▼
ExampleForm.php
ExampleInterface.php
ExampleController.php
…
Pages, forms, blocks, etc. are now all object-oriented.
"Hello World" in Drupal 7
function example_menu() {
$items['hello'] = array(
'title' => 'Hello world',
'page callback' => '_example_page',
'access callback' => 'user_access',
'access arguments' => 'access content',
);
return $items;
}
 
function _example_page() {
return t('Hello world.');
}
example.module
Drupalism:
"ArrayPIs" ;)
"Hello World" in Drupal 8
example.hello:
path: '/hello'
defaults:
_content: 'DrupalexampleExampleController::hello'
requirements:
_permission: 'access content'
example.routing.yml
<?php
 
namespace Drupalexample;
 
use DrupalCoreControllerControllerBase;
 
/**
* Returns responses for Example module routes.
*/
class ExampleController extends ControllerBase {
public function hello() {
return new Response($this->t('Hello world.'));
}
}
src/ExampleController.php "Proudly Invented
Elsewhere":
- YAML

- PSR-4 Class Autoloader
- OO code
Defining a block: 7.x
example.module
<?php
function example_block_info() {
$blocks['example'] = array(
'info' => t('Example block'),
);
return $blocks;
}
function example_block_view($delta = '') {
$block = array();
switch ($delta) {
case 'example':
$block['subject'] = t('Example block');
$block['content'] = array(
'hello' => array(
'#markup' => t('Hello world'),

),
);
break;
}
return $block;
}
Drupalism: "Mystery
Meat" APIs based on
naming conventions
Defining a block: 8.x
<?php
namespace DrupalexamplePluginBlock;
use DrupalblockBlockBase;
/**
* Provides the Example block.
*
* @Block(
*  id = "example",
*  admin_label = @Translation("Example block"),
* category = @Translation("Example")
* )

*/ 

class ExampleBlock extends BlockBase {
public function build() {
return array('hello' => array(
'#markup' => $this->t('Hello world.')
));
} 

}
src/Plugin/Block/ExampleBlock.php
"Proudly Invented
Elsewhere":

- Annotations
- APIs defined by
Interfaces
Read more about it!
https://api.drupal.org/api/drupal/8
https://www.drupal.org/documentation/developer/api
Every API change in Drupal 8
https://www.drupal.org/list-changes
Summary of Awesomeness
• Improved Authoring
Experience
• Mobile First
• Views, expanded
content modeling
• Multilingual++
• Configuration
Management
• Twig & HTML5
• Web Services
• Modern, OO Code
• …and literally hundreds
of other improvements!
• Full scoop: https://
www.acquia.com/
resources/ebooks/
ultimate-guide-drupal-8
More than 2,900

people have contributed to
Drupal 8 so far!
Answers To Your Burning
Drupal 8 Questions!
When will Drupal 8 be
released?
When is "when it's
ready"?
Sometime after this graph hits zero.
https://www.drupal.org/drupal-8.0/get-involved
What's left in that list?
• Performance fixes/
improvements
• Security fixes/improvements
• Beta-to-beta upgrade path
• Future-proofing (PHP7,
Symfony 3, etc.)
beta -> rc -> 8.0.0
• While count of critical issues >
0, create monthly beta releases
(we are here!)
• If critical issues === 0, start bi-
weekly release candidates
(same as D6/D7 release
windows)
• Only critical fixes or extremely
non-disruptive (e.g. docs)
patches committed during
RC, to prevent regressions.
• Once count, rate, and nature of
criticals seem manageable, set
a release date >= 3 weeks later.
https://www.drupal.org/core/release-cycle#rc
alpha 

release beta RC1
we are here!
x
“WHEN IT’S READY”
What happens after 8.0.0?
• Drupal 6 support dropped 3 months
after Drupal 8.0.0's release.
• Bug fix/security releases continue
on monthly schedule as now in D6/D7.
• New "feature releases" of Drupal 8
every 6 months (8.1.x, 8.2.x…) with
non-BC breaking improvements.
• Drupal 9 not branched until much
later, when there's enough
"meat" (completed change proposals
which can't be committed to 8.x) to
make a compelling product
• Drupal 8 enters "LTS" mode (security
fixes only) after Drupal 9.0.0
D6 SUPPORT
ENDS
8.2.08.1.0
NEW

FEATURES
NEW

FEATURES
…
NEW 

FEATURES
What about upgrades?
• Upgrade path between 8.x versions
• Not supported in core yet; see https://www.drupal.org/project/
head2head in contrib for now
• Migration path between major versions (6/7 => 8)
• Build out your Drupal 8 site as a new site, then migrate content,
users, etc. over.
• Drupal 6 => 8 migrations already in! Drupal 7 => 8 migrations
are in progress.
• Must port your own custom code; stick with well-used contrib
modules if you can!
Kick-start your custom code
porting
https://www.drupal.org/project/drupalmoduleupgrader
When can I use D8?
Some early adopters are
already using it…
When will most people use
D8?
Module/Theme
developer
*Right now*!
(still have time to
fix APIs!)
Majority
Once these lines
cross
total
D8
D7
Early adopter
Once beta-to-beta

upgrade path supported

(port your own contribs)
Conservative
Platform’s proven, but
community’s looking
forward to Drupal 9.
Let the community be your guide.
https://www.drupal.org/project/usage/drupal
I'm building a new site now.
Should I start with D7 or D8?
http://www.slideshare.net/horncologne/
why-drupal-8-why-now-aprmay-2015
Drupal 7 Drupal 8
Public facing Internal / R&D / Prototype
Rapid deployment Less urgent
Large, complex needs Can be done with what's in core
Full feature set Brochureware
Mission critical Experimental
Limited development team
Expert development team,
comfortable patching upstream
Developers more comfortable
with procedural code
Developers more comfortable
with OO code / Symfony
Sticking with D7?

Here's how to get D8 hotness today!
Drupal 8 Core Feature Drupal 7 Contrib Equivalent
WYSIWYG CKEditor: https://drupal.org/project/ckeditor
In-Place Editing Quick Edit: https://drupal.org/project/quickedit
Responsive Toolbar
“Mobile Friendly Navigation Toolbar"

https://drupal.org/project/navbar
Responsive Front-End
Theme
Omega, Zen, Adaptive, etc. base themes
Responsive Admin
Theme
Ember: https://drupal.org/project/ember
Responsive Images Picture: https://drupal.org/project/picture
Responsive Tables Responsive Tables: https://drupal.org/project/responsive_tables
Simplified Overlay Escape Admin: https://drupal.org/project/escape_admin
Multilingual
Internationalization: https://www.drupal.org/project/i18n

Entity Translation: https://www.drupal.org/project/entity_translation
Better Blocks Bean: https://www.drupal.org/project/bean
Configuration
Management
Features: https://www.drupal.org/project/features
Web Services RESTful Web Services: https://www.drupal.org/project/restws
Thanks! :)
Questions?

Contenu connexe

Tendances

Drupal upgrades and migrations. BAD Camp 2013 version
Drupal upgrades and migrations. BAD Camp 2013 versionDrupal upgrades and migrations. BAD Camp 2013 version
Drupal upgrades and migrations. BAD Camp 2013 versionDavid Lanier
 
Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2Anil Sagar
 
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...Chipway
 
Site Building Checklist DrupalCamp Ottawa
Site Building Checklist DrupalCamp OttawaSite Building Checklist DrupalCamp Ottawa
Site Building Checklist DrupalCamp OttawaSuzanne Dergacheva
 
What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8Suzanne Dergacheva
 
Taking your site from Drupal 6 to Drupal 7
Taking your site from Drupal 6 to Drupal 7Taking your site from Drupal 6 to Drupal 7
Taking your site from Drupal 6 to Drupal 7Phase2
 
Drupal 8 Configuration Management
Drupal 8 Configuration ManagementDrupal 8 Configuration Management
Drupal 8 Configuration ManagementExove
 
Best Practice Site Architecture in Drupal 8
Best Practice Site Architecture in Drupal 8Best Practice Site Architecture in Drupal 8
Best Practice Site Architecture in Drupal 8Pantheon
 
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)Konstantin Komelin
 
Deployer - Deployment tool for PHP
Deployer - Deployment tool for PHPDeployer - Deployment tool for PHP
Deployer - Deployment tool for PHPhernanibf
 
Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Suzanne Dergacheva
 
Let's dig into the Omega Theme!
Let's dig into the Omega Theme!Let's dig into the Omega Theme!
Let's dig into the Omega Theme!Mediacurrent
 
Speedrun: Build a Website with Panels, Media, and More in 45 Minutes
Speedrun: Build a Website with Panels, Media, and More in 45 MinutesSpeedrun: Build a Website with Panels, Media, and More in 45 Minutes
Speedrun: Build a Website with Panels, Media, and More in 45 MinutesAcquia
 
Drupal 7 vs. Drupal 8: A Contrast of Multilingual Support
Drupal 7 vs. Drupal 8: A Contrast of Multilingual SupportDrupal 7 vs. Drupal 8: A Contrast of Multilingual Support
Drupal 7 vs. Drupal 8: A Contrast of Multilingual SupportAcquia
 
Creating a custom API for a headless Drupal
Creating a custom API for a headless DrupalCreating a custom API for a headless Drupal
Creating a custom API for a headless DrupalExove
 
Upgrading your site from Drupal 6 to Drupal 7
Upgrading your site from Drupal 6 to Drupal 7Upgrading your site from Drupal 6 to Drupal 7
Upgrading your site from Drupal 6 to Drupal 7Andrew Martha
 
History of Drupal: From Drop 1.0 to Drupal 8
History of Drupal: From Drop 1.0 to Drupal 8History of Drupal: From Drop 1.0 to Drupal 8
History of Drupal: From Drop 1.0 to Drupal 8Websolutions Agency
 

Tendances (20)

Drupal upgrades and migrations. BAD Camp 2013 version
Drupal upgrades and migrations. BAD Camp 2013 versionDrupal upgrades and migrations. BAD Camp 2013 version
Drupal upgrades and migrations. BAD Camp 2013 version
 
Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2
 
Drupal
DrupalDrupal
Drupal
 
Drupal developers
Drupal developersDrupal developers
Drupal developers
 
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
 
Site Building Checklist DrupalCamp Ottawa
Site Building Checklist DrupalCamp OttawaSite Building Checklist DrupalCamp Ottawa
Site Building Checklist DrupalCamp Ottawa
 
What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8
 
Taking your site from Drupal 6 to Drupal 7
Taking your site from Drupal 6 to Drupal 7Taking your site from Drupal 6 to Drupal 7
Taking your site from Drupal 6 to Drupal 7
 
Migrate to Drupal 8
Migrate to Drupal 8Migrate to Drupal 8
Migrate to Drupal 8
 
Drupal 8 Configuration Management
Drupal 8 Configuration ManagementDrupal 8 Configuration Management
Drupal 8 Configuration Management
 
Best Practice Site Architecture in Drupal 8
Best Practice Site Architecture in Drupal 8Best Practice Site Architecture in Drupal 8
Best Practice Site Architecture in Drupal 8
 
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
 
Deployer - Deployment tool for PHP
Deployer - Deployment tool for PHPDeployer - Deployment tool for PHP
Deployer - Deployment tool for PHP
 
Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7
 
Let's dig into the Omega Theme!
Let's dig into the Omega Theme!Let's dig into the Omega Theme!
Let's dig into the Omega Theme!
 
Speedrun: Build a Website with Panels, Media, and More in 45 Minutes
Speedrun: Build a Website with Panels, Media, and More in 45 MinutesSpeedrun: Build a Website with Panels, Media, and More in 45 Minutes
Speedrun: Build a Website with Panels, Media, and More in 45 Minutes
 
Drupal 7 vs. Drupal 8: A Contrast of Multilingual Support
Drupal 7 vs. Drupal 8: A Contrast of Multilingual SupportDrupal 7 vs. Drupal 8: A Contrast of Multilingual Support
Drupal 7 vs. Drupal 8: A Contrast of Multilingual Support
 
Creating a custom API for a headless Drupal
Creating a custom API for a headless DrupalCreating a custom API for a headless Drupal
Creating a custom API for a headless Drupal
 
Upgrading your site from Drupal 6 to Drupal 7
Upgrading your site from Drupal 6 to Drupal 7Upgrading your site from Drupal 6 to Drupal 7
Upgrading your site from Drupal 6 to Drupal 7
 
History of Drupal: From Drop 1.0 to Drupal 8
History of Drupal: From Drop 1.0 to Drupal 8History of Drupal: From Drop 1.0 to Drupal 8
History of Drupal: From Drop 1.0 to Drupal 8
 

Similaire à Everything You Need to Know About the Top Changes in Drupal 8

Drupal 8 - Build Week Update
Drupal 8 - Build Week UpdateDrupal 8 - Build Week Update
Drupal 8 - Build Week UpdateAngela Byron
 
Drupal 8 Initiatives
Drupal 8 InitiativesDrupal 8 Initiatives
Drupal 8 InitiativesAngela Byron
 
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...Eric Sembrat
 
Drupal 8 introduction
Drupal 8 introductionDrupal 8 introduction
Drupal 8 introductionAditya Ghan
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To DrupalLauren Roth
 
Drupal 8 - What’s cooking?
Drupal 8 - What’s cooking?Drupal 8 - What’s cooking?
Drupal 8 - What’s cooking?Alkuvoima
 
Drupal 8 deeper dive
Drupal 8 deeper diveDrupal 8 deeper dive
Drupal 8 deeper diveAmazee Labs
 
Your first d8 module
Your first d8 moduleYour first d8 module
Your first d8 moduletedbow
 
Absolute Beginners Guide to Drupal
Absolute Beginners Guide to DrupalAbsolute Beginners Guide to Drupal
Absolute Beginners Guide to DrupalRod Martin
 
Plain english guide to drupal 8 criticals
Plain english guide to drupal 8 criticalsPlain english guide to drupal 8 criticals
Plain english guide to drupal 8 criticalsAngela Byron
 
Intro to drupal
Intro to drupalIntro to drupal
Intro to drupalhernanibf
 
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondSpark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondAngela Byron
 
Drupal 8 - Core and API Changes
Drupal 8 - Core and API ChangesDrupal 8 - Core and API Changes
Drupal 8 - Core and API ChangesShabir Ahmad
 
Drupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedDrupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedAngela Byron
 
Drupal module development
Drupal module developmentDrupal module development
Drupal module developmentRachit Gupta
 
Drupal: an Overview
Drupal: an OverviewDrupal: an Overview
Drupal: an OverviewMatt Weaver
 
Most Popular Drupal Modules
Most Popular Drupal ModulesMost Popular Drupal Modules
Most Popular Drupal ModulesAGILEDROP
 

Similaire à Everything You Need to Know About the Top Changes in Drupal 8 (20)

Drupal 8 - Build Week Update
Drupal 8 - Build Week UpdateDrupal 8 - Build Week Update
Drupal 8 - Build Week Update
 
Drupal 8 Initiatives
Drupal 8 InitiativesDrupal 8 Initiatives
Drupal 8 Initiatives
 
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
 
Drupal 8 introduction
Drupal 8 introductionDrupal 8 introduction
Drupal 8 introduction
 
Drupal Skils Lab 302Labs
Drupal Skils Lab 302Labs Drupal Skils Lab 302Labs
Drupal Skils Lab 302Labs
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
 
Drupal 8 - What’s cooking?
Drupal 8 - What’s cooking?Drupal 8 - What’s cooking?
Drupal 8 - What’s cooking?
 
Drupal 8 deeper dive
Drupal 8 deeper diveDrupal 8 deeper dive
Drupal 8 deeper dive
 
Your first d8 module
Your first d8 moduleYour first d8 module
Your first d8 module
 
Absolute Beginners Guide to Drupal
Absolute Beginners Guide to DrupalAbsolute Beginners Guide to Drupal
Absolute Beginners Guide to Drupal
 
Plain english guide to drupal 8 criticals
Plain english guide to drupal 8 criticalsPlain english guide to drupal 8 criticals
Plain english guide to drupal 8 criticals
 
Intro to drupal
Intro to drupalIntro to drupal
Intro to drupal
 
Drupal in-depth
Drupal in-depthDrupal in-depth
Drupal in-depth
 
Drupal 7
Drupal 7Drupal 7
Drupal 7
 
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondSpark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
 
Drupal 8 - Core and API Changes
Drupal 8 - Core and API ChangesDrupal 8 - Core and API Changes
Drupal 8 - Core and API Changes
 
Drupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedDrupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths Debunked
 
Drupal module development
Drupal module developmentDrupal module development
Drupal module development
 
Drupal: an Overview
Drupal: an OverviewDrupal: an Overview
Drupal: an Overview
 
Most Popular Drupal Modules
Most Popular Drupal ModulesMost Popular Drupal Modules
Most Popular Drupal Modules
 

Plus de Acquia

Acquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdfAcquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdfAcquia
 
Acquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdfAcquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdfAcquia
 
Taking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next LevelTaking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next LevelAcquia
 
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdfCDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdfAcquia
 
May Partner Bootcamp 2022
May Partner Bootcamp 2022May Partner Bootcamp 2022
May Partner Bootcamp 2022Acquia
 
April Partner Bootcamp 2022
April Partner Bootcamp 2022April Partner Bootcamp 2022
April Partner Bootcamp 2022Acquia
 
How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story Acquia
 
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CXUsing Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CXAcquia
 
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development WorkflowImprove Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development WorkflowAcquia
 
September Partner Bootcamp
September Partner BootcampSeptember Partner Bootcamp
September Partner BootcampAcquia
 
August partner bootcamp
August partner bootcampAugust partner bootcamp
August partner bootcampAcquia
 
July 2021 Partner Bootcamp
July  2021 Partner BootcampJuly  2021 Partner Bootcamp
July 2021 Partner BootcampAcquia
 
May Partner Bootcamp
May Partner BootcampMay Partner Bootcamp
May Partner BootcampAcquia
 
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASYDRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASYAcquia
 
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead MachineWork While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead MachineAcquia
 
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B LeadsAcquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B LeadsAcquia
 
April partner bootcamp deck cookieless future
April partner bootcamp deck  cookieless futureApril partner bootcamp deck  cookieless future
April partner bootcamp deck cookieless futureAcquia
 
How to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutionsHow to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutionsAcquia
 
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...Acquia
 
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021Acquia
 

Plus de Acquia (20)

Acquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdfAcquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdf
 
Acquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdfAcquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdf
 
Taking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next LevelTaking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next Level
 
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdfCDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
 
May Partner Bootcamp 2022
May Partner Bootcamp 2022May Partner Bootcamp 2022
May Partner Bootcamp 2022
 
April Partner Bootcamp 2022
April Partner Bootcamp 2022April Partner Bootcamp 2022
April Partner Bootcamp 2022
 
How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story
 
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CXUsing Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
 
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development WorkflowImprove Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
 
September Partner Bootcamp
September Partner BootcampSeptember Partner Bootcamp
September Partner Bootcamp
 
August partner bootcamp
August partner bootcampAugust partner bootcamp
August partner bootcamp
 
July 2021 Partner Bootcamp
July  2021 Partner BootcampJuly  2021 Partner Bootcamp
July 2021 Partner Bootcamp
 
May Partner Bootcamp
May Partner BootcampMay Partner Bootcamp
May Partner Bootcamp
 
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASYDRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
 
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead MachineWork While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
 
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B LeadsAcquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
 
April partner bootcamp deck cookieless future
April partner bootcamp deck  cookieless futureApril partner bootcamp deck  cookieless future
April partner bootcamp deck cookieless future
 
How to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutionsHow to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutions
 
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
 
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
 

Dernier

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 

Dernier (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 

Everything You Need to Know About the Top Changes in Drupal 8

  • 1. Everything You Need to Know About the Top 8 Changes in Drupal 8 Angela "@webchick" Byron May 26, 2015
  • 3. What are we doing here? • Go through top 8 changes for Drupal 8, in order of geekiness. ;) • Walk through some of the bigger API changes in D8 for module developers • Answers to frequently asked questions • Q&A
  • 5.
  • 6.
  • 7.
  • 8.
  • 10.
  • 11.
  • 14. What is Views module? • Create fully customizable: • Admin listings • Sidebar content • Image galleries • Slideshows • XML/JSON output • …with zero lines of code!
  • 18.
  • 19. Translatable Everything! • Content • Blocks • Menus • User Profiles • Taxonomy • Views • Image styles • Text formats • Comments • Feeds • …and more! • No contributed modules needed!
  • 21.
  • 22.
  • 23.
  • 25.
  • 27. PHPTemplate is now Twig 7.x: page.tpl.php 8.x: page.html.twig <div id="page-wrapper"> <div id="page"> <div id="header"> <div class="section clearfix"> <?php if ($logo): ?> <a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home" id="logo"> <img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" /> </a> <?php endif; ?> <div class="layout-container">   <header role="banner"> {% if logo %} <a href="{{ front_page }}" title="{{ 'Home'|t }}" rel="home"> <img src="{{ logo }}" alt="{{ 'Home'|t }}"/> </a> {% endif %} • Friendlier syntax for designers • Variables auto-escaped for better security http://twig.sensiolabs.org
  • 28. No more (core) support for
 IE 6, 7, & 8
  • 30.
  • 32. Warning: Things are about to get... geeky.
  • 33. "Getting off the Island"
  • 34. Modern PHP Best Practices • PHP 5.4+ • Classes/Interfaces • Namespaces • Traits • Dependency Injection • Most PSR-* standards
  • 35. Powered by Symfony2 Tutorial: http://fabien.potencier.org/article/50/create-your-own- framework-on-top-of-the-symfony2-components-part-1
  • 36. …and dozens of other "best of breed" libraries
  • 37. …and dozens of other librariesA peek under the hood
  • 38. YAML, YAML everywhere 7.x: example.info 8.x: example.info.yml name = Example description = "Example module" core = 7.x files[] = example.test config = admin/config/example dependencies[] = node name: Example type: module description: "Example module" core: 8.x
 config: admin.example dependencies: - node • New required "type" property • No more files[] (we'll get to that later) • Paths now have machine names to help prevent breakage
 (we'll get to that later, too) Drupalism: Kinda- Sorta-INI-Like "Proudly Invented Elsewhere": YAML
  • 40. "Hello World" in Drupal 7 function example_menu() { $items['hello'] = array( 'title' => 'Hello world', 'page callback' => '_example_page', 'access callback' => 'user_access', 'access arguments' => 'access content', ); return $items; }   function _example_page() { return t('Hello world.'); } example.module Drupalism: "ArrayPIs" ;)
  • 41. "Hello World" in Drupal 8 example.hello: path: '/hello' defaults: _content: 'DrupalexampleExampleController::hello' requirements: _permission: 'access content' example.routing.yml <?php   namespace Drupalexample;   use DrupalCoreControllerControllerBase;   /** * Returns responses for Example module routes. */ class ExampleController extends ControllerBase { public function hello() { return new Response($this->t('Hello world.')); } } src/ExampleController.php "Proudly Invented Elsewhere": - YAML
 - PSR-4 Class Autoloader - OO code
  • 42. Defining a block: 7.x example.module <?php function example_block_info() { $blocks['example'] = array( 'info' => t('Example block'), ); return $blocks; } function example_block_view($delta = '') { $block = array(); switch ($delta) { case 'example': $block['subject'] = t('Example block'); $block['content'] = array( 'hello' => array( '#markup' => t('Hello world'),
 ), ); break; } return $block; } Drupalism: "Mystery Meat" APIs based on naming conventions
  • 43. Defining a block: 8.x <?php namespace DrupalexamplePluginBlock; use DrupalblockBlockBase; /** * Provides the Example block. * * @Block( *  id = "example", *  admin_label = @Translation("Example block"), * category = @Translation("Example") * )
 */ 
 class ExampleBlock extends BlockBase { public function build() { return array('hello' => array( '#markup' => $this->t('Hello world.') )); } 
 } src/Plugin/Block/ExampleBlock.php "Proudly Invented Elsewhere":
 - Annotations - APIs defined by Interfaces
  • 44. Read more about it! https://api.drupal.org/api/drupal/8 https://www.drupal.org/documentation/developer/api
  • 45. Every API change in Drupal 8 https://www.drupal.org/list-changes
  • 46. Summary of Awesomeness • Improved Authoring Experience • Mobile First • Views, expanded content modeling • Multilingual++ • Configuration Management • Twig & HTML5 • Web Services • Modern, OO Code • …and literally hundreds of other improvements! • Full scoop: https:// www.acquia.com/ resources/ebooks/ ultimate-guide-drupal-8
  • 47. More than 2,900
 people have contributed to Drupal 8 so far!
  • 48. Answers To Your Burning Drupal 8 Questions!
  • 49. When will Drupal 8 be released?
  • 50. When is "when it's ready"? Sometime after this graph hits zero. https://www.drupal.org/drupal-8.0/get-involved
  • 51. What's left in that list? • Performance fixes/ improvements • Security fixes/improvements • Beta-to-beta upgrade path • Future-proofing (PHP7, Symfony 3, etc.)
  • 52. beta -> rc -> 8.0.0 • While count of critical issues > 0, create monthly beta releases (we are here!) • If critical issues === 0, start bi- weekly release candidates (same as D6/D7 release windows) • Only critical fixes or extremely non-disruptive (e.g. docs) patches committed during RC, to prevent regressions. • Once count, rate, and nature of criticals seem manageable, set a release date >= 3 weeks later. https://www.drupal.org/core/release-cycle#rc alpha 
 release beta RC1 we are here! x “WHEN IT’S READY”
  • 53. What happens after 8.0.0? • Drupal 6 support dropped 3 months after Drupal 8.0.0's release. • Bug fix/security releases continue on monthly schedule as now in D6/D7. • New "feature releases" of Drupal 8 every 6 months (8.1.x, 8.2.x…) with non-BC breaking improvements. • Drupal 9 not branched until much later, when there's enough "meat" (completed change proposals which can't be committed to 8.x) to make a compelling product • Drupal 8 enters "LTS" mode (security fixes only) after Drupal 9.0.0 D6 SUPPORT ENDS 8.2.08.1.0 NEW
 FEATURES NEW
 FEATURES … NEW 
 FEATURES
  • 54. What about upgrades? • Upgrade path between 8.x versions • Not supported in core yet; see https://www.drupal.org/project/ head2head in contrib for now • Migration path between major versions (6/7 => 8) • Build out your Drupal 8 site as a new site, then migrate content, users, etc. over. • Drupal 6 => 8 migrations already in! Drupal 7 => 8 migrations are in progress. • Must port your own custom code; stick with well-used contrib modules if you can!
  • 55. Kick-start your custom code porting https://www.drupal.org/project/drupalmoduleupgrader
  • 56. When can I use D8?
  • 57. Some early adopters are already using it…
  • 58. When will most people use D8? Module/Theme developer *Right now*! (still have time to fix APIs!) Majority Once these lines cross total D8 D7 Early adopter Once beta-to-beta
 upgrade path supported
 (port your own contribs) Conservative Platform’s proven, but community’s looking forward to Drupal 9. Let the community be your guide. https://www.drupal.org/project/usage/drupal
  • 59. I'm building a new site now. Should I start with D7 or D8? http://www.slideshare.net/horncologne/ why-drupal-8-why-now-aprmay-2015 Drupal 7 Drupal 8 Public facing Internal / R&D / Prototype Rapid deployment Less urgent Large, complex needs Can be done with what's in core Full feature set Brochureware Mission critical Experimental Limited development team Expert development team, comfortable patching upstream Developers more comfortable with procedural code Developers more comfortable with OO code / Symfony
  • 60. Sticking with D7?
 Here's how to get D8 hotness today! Drupal 8 Core Feature Drupal 7 Contrib Equivalent WYSIWYG CKEditor: https://drupal.org/project/ckeditor In-Place Editing Quick Edit: https://drupal.org/project/quickedit Responsive Toolbar “Mobile Friendly Navigation Toolbar"
 https://drupal.org/project/navbar Responsive Front-End Theme Omega, Zen, Adaptive, etc. base themes Responsive Admin Theme Ember: https://drupal.org/project/ember Responsive Images Picture: https://drupal.org/project/picture Responsive Tables Responsive Tables: https://drupal.org/project/responsive_tables Simplified Overlay Escape Admin: https://drupal.org/project/escape_admin Multilingual Internationalization: https://www.drupal.org/project/i18n
 Entity Translation: https://www.drupal.org/project/entity_translation Better Blocks Bean: https://www.drupal.org/project/bean Configuration Management Features: https://www.drupal.org/project/features Web Services RESTful Web Services: https://www.drupal.org/project/restws