Building a Full Site in Drupal 8 Alpha


Michael - Schnitzel

Head Technology Amazee Labs


  • Learning by doing

  • Research about status of D8

  • Insanity


  • Designed in Photoshop
    constantly checked for possibilities with Tech Team
    February 2013 - March 2014

  • Iterative Specification & Sitebuilding
    Mid March - Mid April 2014

  • Theming & Backend Development
    April 2014
  • Testing & Bugfixing
    End April 2014

29th April 2014




  • Everything done with ViewModes
    • Amazee Labs convention
    • Caching!

  • Panelizer also missing
  • Display suite not enough flexibility

  • Twig Template Files!

Twig Template Files

  • Missing theme suggestions for 
    • Entity per ViewModes
    • Fields per ViewModes
    • Page per Entity & Bundle 
    • Form with FormID
    • Custom Block per Bundle

twig templates Process

  1. Sitebuilder created Twig Files with Variables


2. Themer changes for his needs



  • No Base Themes yet

  • None necessary
    • CSS & Grids fully custom (SUSY 2)
    • HTML 5 in core

  • Biggest issue: Missing Theme Suggestions


  • <3
  • Hidden Superpower: Extends & Blocks

  • Accessing only value from Field

Theme function Copying

Will fail


 new \Drupal\Core\Template\Attribute

Configuration management

Configuration management

  • no GIT integration out of the box

  • Process
    • Config directory in sites/default/config
  1. local dev: 
    drush config-export config --add -y    
    git commit -m "my config changes"
    git push
  2. dev site:
    git pull
    drush config-import config
  • Every change needs to be exported immediately

  • updates

    Head 2 Head

    1. Backup 
    2. Git Pull, Git merge
    3. Visiting Page
    4. WSOD
    5. Step debug
    6. Read Change Notices
    7. Fix, DB Adaptions
    8. Step debug
    9. Read Change Notices
    10. Fix, DB Adaptions
    11. Step debug
    12. Read Change Notices
    13. ....

    Head 2 Head

    • Change Notices
    • Step Debugg
    • Compare DB with new installed Site
    • Compare Stacktrace with new installed Site

    The best of all

    #2232651 Consolidate system.module + system.theme + system.theme.disabled into core.extension config


    Fatal error: Call to undefined function system_region_list() in /home/vagrant/public_html/core/includes/ on line 2109 

    Fix: Comparing my Config Table with New Site Config Table



    • arg() contains language path prefix
    • Field Label translations too hard cached
    • Entity Reference Load looses Language Info
    • Menu Link translation


    • Migrate Module not yet ready

    • Custom Built Migration
      • D7 Services Module (JSON)
      • D8 Custom Migration inspired by Migrate

    • Only Blogposts & Blogpost Authors migrated


    Backend Development

    • Examples found via Google mostly broken now

    • Example Module sometimes also

    • Took Easy Modules from Core

    • Debugging hard because of Theme Render Cache
      now fixed!


    it works!

    A lot of d.o issues created

    Developers & Themers
    don't wanna go back to D7

    Building a Full Site in Drupal 8 Alpha

    By Michael Schmid

    Building a Full Site in Drupal 8 Alpha

    • 2,192