drupal 8 development at the speed of lightning (& blt)
TRANSCRIPT
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)
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
©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
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.
©2016 Acquia Inc. — Confidential and Proprietary
Use one templateand one set of tools
for every project.
©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
©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
©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
©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
19 ©2016 Acquia Inc. — Confidential and Proprietary
Downsides of Custom Framework
Time + Money + Effort
Lack of Community Support + New Ideas
21 ©2016 Acquia Inc. — Confidential and Proprietary
Drupal 8
Accessible
6 Month Timeline
Optimized Performance
Acquia Hosting
South Florida Water Management
23 ©2016 Acquia Inc. — Confidential and Proprietary
Pre-defined build process - Hit the ground running.
BLT and Promet Source: A perfect match.
24 ©2016 Acquia Inc. — Confidential and Proprietary
Development Team1 Architect / Developer1 Drupal Developer1 Themer
100% Remote across different continents and timezones
Quick deliveryDrupal 8Community
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:
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
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).
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
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
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
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
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/
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
37 ©2016 Acquia Inc. — Confidential and Proprietary
South Florida Water District– 1st Project risk register
to contain hurricane risk
– 1st project impacted by hurricane
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