Building a Full Site in Drupal 8 Alpha




 

Michael - Schnitzel

Head Technology Amazee Labs

Why?



  • Learning by doing

  • Research about status of D8

  • Insanity

Process

  • 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


Launch
29th April 2014




Sitebuilding

Panels!




Viewmodes

  • 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

TWIG TEMPLATES PROCESS

2. Themer changes for his needs



Theming

Theme?

  • No Base Themes yet

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

  • Biggest issue: Missing Theme Suggestions

TWIG

  • <3
  • Hidden Superpower: Extends & Blocks

  • Accessing only value from Field

Theme function Copying


Will fail


Correct


 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

    Error: 

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

    Fix: Comparing my Config Table with New Site Config Table



    Multilingual

    Multilingual

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

    Migration


    • 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

    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!

    Resumé


    it works!

    A lot of d.o issues created

    Developers & Themers
    don't wanna go back to D7
    Made with Slides.com