Make something amazing, for anyone
What is Drupal?
Drupal is open source content management
software maintained and developed by a
community of more than 35,000 developers around
the world who have contributed to the project.
It is distributed under the terms of the GNU General
Public License (or "GPL"), which means anyone is
free to download it and share it with others.
What is Open Source?
The defining principle of open source is that
anyone can sell services and products created
with the software, but not the software itself.
Who uses Drupal?
...and more than a million other organizations
Why is Drupal so widely used?
Put simply, it’s the quality of the software and the
community behind it: hundreds of thousands of
people around the world work on developing and
maintaining the Drupal platform and ecosystem
every second of every day.
This makes for an incredibly powerful, cutting-
edge content management system (CMS).
What is Drupal 8?
Drupal 8 is the latest release on the Drupal
journey, and one that is substantially more
powerful than previous versions.
Drupal 8 provides new ways to tailor and deploy
content that looks great on any device. However
you work with Drupal, there is something in
Drupal 8 for you to love.
In this presentation, you will learn:
What's coming in Drupal 8 for…
End users and clients
Site builders
Designers and themers
Developers
When can I use it?
Drupal 8
improvements
for end-users &
clients
Authoring experience
Authoring improvement:
WYSIWYG in Core
Authoring improvement:
In-place editing
Authoring improvement:
In-place editing
Authoring improvement:
New content creation page
Authoring improvement:
Preview on the frontend
It’s mobile-first
Responsive themes, images, breakpoints
Mobile-friendly administration
Represent this with a video. Maybe
from Dries’ Prague slides? :)
AB: Submitted to the DA via their
webform, since unfortunately it has
to be on YouTube in order to
reference from here. Bleh.
http://www.youtube.com/watch?v=ipOc1km2uEc
Improved accessibility
Mobile-first “overlay”
Drupal 8
improvements for
site builders
Improved page building:
Everything is in blocks
Improved page building:
Place multiple copies of any block
Improved Data Modeling Tools:
New field types like Entity Reference
…plus, Link, Phone, Email, Comments!
Improved Data Modeling Tools:
New field types
Date/Datetime
Fieldable blocks
Improved Data Modeling Tools:
New entity types
Form displays: customize the look and
feel of data entry forms
Views in Core
Views = fully customizable...
With the Drupal 8 views, you can customize:
Admin listings
Sidebar content
Image galleries
Slideshows
REST output
...with 0 lines of code!
Restyled administration interface
Multilingual
improvements in
Drupal 8
Community translation downloads
Language data tracking expanded
Translation on (almost) everything
Drupal 8
improvements for
designers and themers
HTML5 Form Elements
New front-end libraries
Twig Example: node.html.twig
<article{{ attributes }}>
{{ title_prefix }}
{% if not page %}
<h2{{ title_attributes }}>
<a href="{{ url }}" rel="bookmark">{{ label }}</a>
</h2>
{% endif %}
{{ title_suffix }}
{% if display_submitted %}
<footer class="node__meta">
{{ author_picture }}
<div class="node__submitted {{ author_attributes.class }}"{{
author_attributes|without('class') }}>
{% trans %}Submitted by {{ author_name|passthrough }} on {{ date }}{%
endtrans %}
{{ metadata }}
</div>
</footer>
{% endif %}
<div class="node__content {{ content_attributes.class }}"{{
content_attributes|without('class') }}>
{{ content|without('links') }}
</div>
{% if content.links %}
<div class="node__links">
{{ content.links }}
</div>
{% endif %}
</article>
1. HTML5 tags
2. {{ print a variable }}
3. {% logic(stuff) %}
Native Schema.org Output
Killed support for IE 6 & 7
(and most of 8)
Drupal 8
improvements
for developers
Configuration management
dev stage production
Let’s see it in action.
https://github.com/webchickenator/drupal8-demo
Drush integration for automation
Web services
other systems or frameworks
desktop
Android applications
other Drupal sites
Flash components
iPhone applications
kiosk applications
HttpFoundation
HttpKernel
Dependency
Injection
EventDispatcher
Routing
Yaml
Symfony framework
GETting data out of Drupal:
RESTful Web Services module
GETting data into Drupal: Guzzle
$client = Drupal::httpClient();
$config = Drupal::config('3rdparty.settings');
// Format arguments for passing in URL.
$arg = urlencode($argument);
// Pull data from 3rd party's REST API.
$api_key = $config->get('api_key');
$request =
$client-
>get("http://3rdparty.com/$arg/?key=$api_key");
// Get the response and do something with it.
$response = $request->send();
$json = $response->json();
...
Getting off the island
Not invented here
"Proudly Found Elsewhere"
Much more modern, object-oriented code
(classes, inheritance, interfaces, etc.)
Embracing latest PHP standards (e.g. PSR-0,
namespaces, traits)
Using many “best of breed” external libraries:
Composer, PHPUnit, Guzzle, Zend Feed
Component...
Catch all of the improvements!
https://drupal.org/list-changes
When will Drupal 8 be released?
November
19th, 2015
Drupal 8 Timeline
ReleaseAPI completionFeature development
Development
opens
March 2011
Feature freeze
Dec 2012
Feature
complete
Feb 2013
API freeze
July 2013
Drupal 8.0.0
Nov 19 2015
Alphas
Development
snapshots
Betas
Major APIs
locked down
RCs
API and feature
complete
We are here
RC1
Oct 2015
https://drupal.org/contribute
Where do we need help?
Migration path
Port contributed modules/themes
Translate Drupal 8
DOCUMENTATION!
EXAMPLES!
TOOLS!
TESTING, TESTING, TESTING!
Alphas, (still have time to
fix APIs!)
Betas/RCs
(~late 2015)
Once these lines
cross
(~2016)
Platform’s proven,
but community’s
looking forward to
Drupal 8.x/9.
Module / Theme
Developer
Early Adopter / Launch
in late-2015+
Late Adopter / Launch
in 2016+
Conservative
When should I use Drupal 8?
Keep your eyes on https://drupal.org/project/usage/drupal
Usage
What’s this 8.0.0 talk?
Drupal 8 will use semantic versioning
Drupal 8.1.0 will include new features and/or
APIs
New releases will be (mostly) backwards
compatible
New 8.x releases every 6 months (planned)
No need to wait years for new things
Bugfixes in minor releases, eg. 8.1.5
What about the upgrade path?
Instead of an upgrade path, Drupal 8 will have
a migration path!
Some Drupal 6 migrations already in core,
more in the works, see
https://groups.drupal.org/imp
What about contributed modules?
Check status of contrib module upgrades at:
drupal.org/project/contrib_tracker
To avoid upgrade pain, stick to well-vetted
contributed modules over custom code.
Other tips: www.acquia.com/blog/getting-
your-
site-ready-drupal-8
And my own modules?
To start the upgrade of you own code, use
drupal.org/project/drupalmoduleupgrader
If you need to or want to start your module
fresh, see drupal.org/project/console
Drupal 8 preview_slideshow

Drupal 8 preview_slideshow