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 DevelopmentApril 2014
- Testing & Bugfixing
End April 2014
Launch
29th April 2014
Sitebuilding
Panels!
- Completely missing
- Views in Views: Headers & Footers
- As less custom code as possible
- now: Page Manager
-
http://amazeelabs.com/en/services
Viewmodes
- Everything done with ViewModes
- Amazee Labs convention
- Caching!
- Panelizer also missing
- Display suite not enough flexibility
- Twig Template Files!
twig templates Process
-
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
TWIG
-
<3
-
Hidden Superpower: Extends & Blocks
- Accessing only value from Field
Configuration management
Configuration management
- no GIT integration out of the box
- Process
- Config directory in sites/default/config
- local dev:
drush config-export config --add -y git commit -m "my config changes" git push
- dev site:
git pull drush config-import config
updates
Head 2 Head
-
Backup
- Git Pull, Git merge
- Visiting Page
- WSOD
- Step debug
- Read Change Notices
- Fix, DB Adaptions
- Step debug
- Read Change Notices
- Fix, DB Adaptions
- Step debug
- Read Change Notices
- ....
Head 2 Head
- Change Notices
- Step Debug
- 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
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
don't wanna go back to D7
Building a Full Site in Drupal 8 Alpha Amsterdam
By Michael Schmid
Building a Full Site in Drupal 8 Alpha Amsterdam
- 2,045