Upload
x-team
View
172
Download
2
Embed Size (px)
Citation preview
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 tags2. {{ 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
Almost 3,300 people have
contributed to Drupal 8 so
far!
When will Drupal 8 be released?
November 19th, 2015
Drupal 8 Timeline
ReleaseAPI completionFeature development
Development opens
March 2011
Feature freezeDec 2012
Feature completeFeb 2013
API freezeJuly 2013
Drupal 8.0.0Nov 19 2015
AlphasDevelopment snapshots
BetasMajor APIs
locked down
RCsAPI and feature
complete
We are here
RC1Oct 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 tofix 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
Usa
ge
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