Learnings from our launched Drupal 8 Core customer projects
Michael - Schnitzel
Head Technology Amazee Labs
our journey
April 2014
amazeelabs.com in Drupal 8 Alpha
2 Languages
September 2014
drupal.com in Drupal 8 Beta
1 Language (yet)
January 2015
sgg-ssup.ch in Drupal 8 Beta
4 Languages
May 2015
amazee.com in Drupal 8 Beta
Currently
Moar!
TL; DR;
It works!
It's great!
You have to be creative
Nobody want's go back to Drupal 7
Editors
We didn't tell them ;)
And they didn't realize
They really like the new layout
Multilingual
Everything!
Translatable out of Core
Some issues:
-
Browser negotiation doesn't work with caching #2430335
-
Entity Translation & Revisions having a hard time #2465901
Sitebuilding
Feels right & complete
Block instances & Custom Block Library are confusing
A lot of contrib missing
be creative
Custom Block + Entity References
=
Nodequeue!
SEO
nothing
Drupal 7 Sitebuilders pick it up in 2 hours
Configuration Management
The thing we've all waited for
No help on how to use
- no workflow for dev > staging > prod
- staging folder is confusing
- active folder is empty
- no way to prevent configuration changes on prod
Merge CMI changes
Needs to happen in Git
or: drush config-merge
really frustrating
let's fix!
#1831818
Test, improve, and document git config import workflow
#2487588
Rename CMI import/export directory "staging", as it is confused with staging environments
#2487592
CMI: don't ship with a default "active" directory that is empty in most Drupal installations
Backend
OOP all the way!
it's great
- Entity API
- Plugins
- Services
No IDE?
No Drupal 8.
No Debugger?
No Drupal 8.
Most examples found online are obsolete
drupal.org/project/examples
Non Drupal Developers
Can start work right away
Custom Modules
Architecture really important
Contrib Architecture Mentoring Hours?
Frontend
Twig <3
No need for
Contrib Base Theme
Hidden Superpower:
Extends & Blocks
Task
Remove the H1 on Frontpage
<div class="layout-container">
<main class="layout-main" role="main">
{{ messages }}
{{ page.help }}
<div class="layout-content">
{{ page.highlighted }}
{% block page_title %}
{{ title_prefix }}
{% if title %}
<h1>{{ title }}</h1>
{% endif %}
{{ title_suffix }}
{% endblock %}
{{ tabs }}
{{ page.content }}
</div>{# /.layout-content #}
</main>
</div>{# /.layout-container #}
page.html.twig
{% extends 'themes/sgg8/templates/page.html.twig' %}
{% block page_title %}
{% endblock %}
page--front.html.twig
Upgrades
before beta9:
hard
after beta9:
Head2Head <3
drupal.org/project/head2head
-
patches for each Head
-
beta2beta
Contrib
We're getting there
Contrib D8
- No way to know if it works from d.o Project Page
- Try out
- Broken? Probably easy to fix. Write a patch!
d8status.md-systems.ch
bluespark.com/status-top-100-contributed-modules-drupal-8
Migration
not done yet
D6 > D8 ✔
D7 > D8 ✘
easy migration
D7 Nodes -> D8 Nodes
200 lines custom code
my module status?
d8upgrade.org
You should all start using it
- if its a new site
- or if only need to migrate some content
- if you don't need heavy contrib modules
more?
help?
groups.drupal.org/drupal-8-production-sites
Living on the edge - running D8 in production
3.45pm - 4.45pm Room 503 Mediacurrent
</session>
<questions>
Learnings from our launched Drupal 8 Core customer projects
By Michael Schmid
Learnings from our launched Drupal 8 Core customer projects
- 3,327