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