Page 1
1 ©2016 Acquia Inc. — Confidential and Proprietary
Johnnie Fox, CTO, Promet SourceSteve Zipfel, Drupal Solutions Architect, Promet SourceMatthew Grasmick, Senior Technical Services Manager, Acquia
Drupal 8 Development at the Speed of Lightning (& BLT)
Page 2
2 ©2016 Acquia Inc. — Confidential and Proprietary
Introductions● Matthew Grasmick
o Acquia PS, 5yrs; Drupalist, 8yrso Maintainer of BLT
● Johnnie Foxo Chief Technology Officer at Promet Source; Drupalist, 7yrs
● Steve Zipfelo Solutions architect at Promet Source; Drupalist, 7yrs
Page 3
©2016 Acquia Inc. — Confidential and Proprietary
Itinerary
● Overview of BLT● Overview of Lightning● Build Philosophy ● Case Study
o The BLT way: South Florida Water Management● Key Takeaways
Page 4
©2016 Acquia Inc. — Confidential and Proprietary
BLT’s Genesis:Professional Services Experience
Page 5
©2016 Acquia Inc. — Confidential and Proprietary
We started from scratchfor every project
Page 6
6 ©2016 Acquia Inc. — Confidential and Proprietary
Snowflakes● Every project is unique.
o Difficult to support and maintain.o Collaboration & handoffs are messy. o Resources are not interchangeable.
● Risks?o Wasted time. o Missed deadlines. o Smaller margins.o Lower value. o Staff burnout.
Page 7
©2016 Acquia Inc. — Confidential and Proprietary
Let’s try something different
Page 8
©2016 Acquia Inc. — Confidential and Proprietary
Use one templateand one set of tools
for every project.
Page 9
©2016 Acquia Inc. — Confidential and Proprietary
Acquia Build & Launch Tools (BLT)
● Standardized template for Drupal 8 sites
● Set of tools for building, testing, deploying
● Commands for automating usage of those tools
Page 10
©2016 Acquia Inc. — Confidential and Proprietary
BLT is part of your codebase● Like a module
– Install a particular version– Update hooks required between versions
● Not an application– Not installed at system-level
Page 11
©2016 Acquia Inc. — Confidential and Proprietary
Acquia Lightning
Page 12
©2016 Acquia Inc. — Confidential and Proprietary
Acquia Lightning
– A Drupal 8 distribution maintained by Acquia– Enable developers to build great enterprise authoring
experiences for their editorial teams with D8
Page 13
©2016 Acquia Inc. — Confidential and Proprietary
Acquia Lightning
● Layouto Built on Panels, Panels IPE, & Panelizer
● Mediao Built with Media Entity, Entity Browser, Entity Embed
● Workflowo Built on Workbench Moderation, Scheduled Updates
● Previewo Multiversion, Workspace, Replicationo Experimental - Stable Q3 2017
Page 14
©2016 Acquia Inc. — Confidential and Proprietary
It’s business time
Page 15
15 ©2016 Acquia Inc. — Confidential and Proprietary
Johnnie Fox - Business
Page 16
16 ©2016 Acquia Inc. — Confidential and Proprietary
Build Philosophy
– https://12factor.net/
Page 17
17 ©2016 Acquia Inc. — Confidential and Proprietary
Continuous Integration Principles
Page 18
18 ©2016 Acquia Inc. — Confidential and Proprietary
Drupal 7 Build Framework
Page 19
19 ©2016 Acquia Inc. — Confidential and Proprietary
Downsides of Custom Framework
Time + Money + Effort
Lack of Community Support + New Ideas
Page 20
20 ©2016 Acquia Inc. — Confidential and Proprietary
South Florida Water Management
Page 21
21 ©2016 Acquia Inc. — Confidential and Proprietary
Drupal 8
Accessible
6 Month Timeline
Optimized Performance
Acquia Hosting
South Florida Water Management
Page 22
22 ©2016 Acquia Inc. — Confidential and Proprietary
Steve Zipfel - Development
Page 23
23 ©2016 Acquia Inc. — Confidential and Proprietary
Pre-defined build process - Hit the ground running.
BLT and Promet Source: A perfect match.
Page 24
24 ©2016 Acquia Inc. — Confidential and Proprietary
Development Team1 Architect / Developer1 Drupal Developer1 Themer
100% Remote across different continents and timezones
Quick deliveryDrupal 8Community
Page 25
25 ©2016 Acquia Inc. — Confidential and Proprietary
Makes complex things simple
– Create an entire project– Create and boot a VM– Run every test– Validate all of your code– Sync environments– Deploy to cloud
Do the following tasks with a single command:
Page 26
26 ©2016 Acquia Inc. — Confidential and Proprietary
Plus!– Built in tests with BHAT and PHPUNIT so you’re not starting from scratch:– Built in code validation tools PHP Code Sniffer and Linting
Page 27
27 ©2016 Acquia Inc. — Confidential and Proprietary
Development Processesvagrant upvagrant sshcd /var/www/sites/website_root
For more: http://blt.readthedocs.io/en/8.x/readme/onboarding/
Run blt local:setup to rebuild the codebase and reinstall your Drupal site (most commonly used early in development).
Run blt local:refresh to rebuild the codebase, import a fresh DB from a remote environment, and run schema/configuration updates (most commonly used later in development).
Page 28
28 ©2016 Acquia Inc. — Confidential and Proprietary28 ©2016 Acquia Inc. — Confidential and Proprietary
Stay Safe!
Software Updates
28 ©2016 Acquia Inc. — Confidential and Proprietary
BLT uses Composer
‘Composer update’ updates the composer.lock file which will update modules, drupal core and libraries on build
# update blt and its dependenciescomposer update acquia/blt --with-dependencies# Remove deprecated files.blt cleanup# update all dependencies, in case BLT modified your composer.json during previous update.composer update
Page 29
29 ©2016 Acquia Inc. — Confidential and Proprietary29 ©2016 Acquia Inc. — Confidential and Proprietary
Joint development with client and seamless handoff
Existing Documentation andExisting, well defined process
Page 30
30 ©2016 Acquia Inc. — Confidential and Proprietary30 ©2016 Acquia Inc. — Confidential and Proprietary
Deployment build - Just the (Arti)facts
./blt.sh deploy -Ddeploy.commitMsg='REPO-NAME-XXX: The commit message.' -Ddeploy.branch='develop-build-
repo-name-xxx'
XXX = the issue number.
30 ©2016 Acquia Inc. — Confidential and Proprietary
What is an artifact?
Artifacts are ONLY the items required for running the website.
What types of things aren’t artifacts?
● CHANGELOG.txt● Vagrantfile
And many other tools required for development but not for running the website
Page 31
31 ©2016 Acquia Inc. — Confidential and Proprietary
Artifacts vs Full Dev Code.
Page 32
32 ©2016 Acquia Inc. — Confidential and Proprietary
Seamless integration with Acquia Cloud– Push a deploy branch to the Acquia git repository– Select the branch from the UI to deploy the new
branch
Page 33
33 ©2016 Acquia Inc. — Confidential and Proprietary
Give back!
BLT is open source so you can contribute to the BLT project.
http://blt.readthedocs.io/en/8.x/readme/dev-workflow/
Page 34
34 ©2016 Acquia Inc. — Confidential and Proprietary
Resources● http://blt.readthedocs● https://github.com/acquia/blt● https://dev.acquia.com/blog/introducing-acquia-blt-a-development-tool-for-generating
-new-drupal-8-projects/25/05/2016/10486● https://dev.acquia.com/blog/deploying-to-acquia-cloud-with-blt/05/07/2016/15781
Page 35
35 ©2016 Acquia Inc. — Confidential and Proprietary
Project Closeout
Page 36
36 ©2016 Acquia Inc. — Confidential and Proprietary
South Florida Water District
Page 37
37 ©2016 Acquia Inc. — Confidential and Proprietary
South Florida Water District– 1st Project risk register
to contain hurricane risk
– 1st project impacted by hurricane
Page 38
38 ©2016 Acquia Inc. — Confidential and Proprietary
Project results
Page 39
39 ©2016 Acquia Inc. — Confidential and Proprietary
Key Take Aways– Low Set up time– Initial investment to get started is low– Lightning greatly reduced module selection time
Page 40
40 ©2016 Acquia Inc. — Confidential and Proprietary
Questions?
Page 41
41 ©2016 Acquia Inc. — Confidential and Proprietary
Thank You