1 ©2016 Acquia Inc. — Confidential and Proprietary
Johnnie Fox, CTO, Promet Source
Steve Zipfel, Drupal Solutions Architect, Promet Source
Matthew 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, 8yrs
o Maintainer of BLT
● Johnnie Fox
o Chief Technology Officer at Promet Source; Drupalist, 7yrs
● Steve Zipfel
o 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
©2016 Acquia Inc. — Confidential and Proprietary
BLT’s Genesis:
Professional Services Experience
©2016 Acquia Inc. — Confidential and Proprietary
We started from scratch
for every project
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
Let’s try something different
©2016 Acquia Inc. — Confidential and Proprietary
Use one template
and 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
©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
● Layout
o Built on Panels, Panels IPE, & Panelizer
● Media
o Built with Media Entity, Entity Browser, Entity Embed
● Workflow
o Built on Workbench Moderation, Scheduled Updates
● Preview
o Multiversion, Workspace, Replication
o Experimental - Stable Q3 2017
©2016 Acquia Inc. — Confidential and Proprietary
It’s business time
15 ©2016 Acquia Inc. — Confidential and Proprietary
Johnnie Fox - Business
16 ©2016 Acquia Inc. — Confidential and Proprietary
Build Philosophy
– https://12factor.net/
17 ©2016 Acquia Inc. — Confidential and Proprietary
Continuous Integration Principles
18 ©2016 Acquia Inc. — Confidential and Proprietary
Drupal 7 Build Framework
19 ©2016 Acquia Inc. — Confidential and Proprietary
Downsides of Custom Framework
Time + Money + Effort
Lack of Community Support + New Ideas
20 ©2016 Acquia Inc. — Confidential and Proprietary
South Florida Water Management
21 ©2016 Acquia Inc. — Confidential and Proprietary
Drupal 8
Accessible
6 Month
Timeline
Optimized
Performance
Acquia
Hosting
South Florida Water Management
22 ©2016 Acquia Inc. — Confidential and Proprietary
Steve Zipfel - Development
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 Team
1 Architect / Developer
1 Drupal Developer
1 Themer
100% Remote across different continents and timezones
Quick delivery
Drupal 8
Community
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 Processes
vagrant up
vagrant ssh
cd /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 dependencies
composer 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 and
Existing, 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
31 ©2016 Acquia Inc. — Confidential and Proprietary
Artifacts vs Full Dev Code.
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
35 ©2016 Acquia Inc. — Confidential and Proprietary
Project Closeout
36 ©2016 Acquia Inc. — Confidential and Proprietary
South Florida Water District
37 ©2016 Acquia Inc. — Confidential and Proprietary
South Florida Water District
– 1st Project risk register to
contain hurricane risk
– 1st project impacted by
hurricane
38 ©2016 Acquia Inc. — Confidential and Proprietary
Project results
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
40 ©2016 Acquia Inc. — Confidential and Proprietary
Questions?
41 ©2016 Acquia Inc. — Confidential and Proprietary
Thank You

Drupal 8 Development at the Speed of Lightning (& BLT)

  • 1.
    1 ©2016 AcquiaInc. — Confidential and Proprietary Johnnie Fox, CTO, Promet Source Steve Zipfel, Drupal Solutions Architect, Promet Source Matthew Grasmick, Senior Technical Services Manager, Acquia Drupal 8 Development at the Speed of Lightning (& BLT)
  • 2.
    2 ©2016 AcquiaInc. — Confidential and Proprietary Introductions ● Matthew Grasmick o Acquia PS, 5yrs; Drupalist, 8yrs o Maintainer of BLT ● Johnnie Fox o Chief Technology Officer at Promet Source; Drupalist, 7yrs ● Steve Zipfel o Solutions architect at Promet Source; Drupalist, 7yrs
  • 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
  • 4.
    ©2016 Acquia Inc.— Confidential and Proprietary BLT’s Genesis: Professional Services Experience
  • 5.
    ©2016 Acquia Inc.— Confidential and Proprietary We started from scratch for every project
  • 6.
    6 ©2016 AcquiaInc. — 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.
  • 7.
    ©2016 Acquia Inc.— Confidential and Proprietary Let’s try something different
  • 8.
    ©2016 Acquia Inc.— Confidential and Proprietary Use one template and one set of tools for every project.
  • 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
  • 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
  • 11.
    ©2016 Acquia Inc.— Confidential and Proprietary Acquia Lightning
  • 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
  • 13.
    ©2016 Acquia Inc.— Confidential and Proprietary Acquia Lightning ● Layout o Built on Panels, Panels IPE, & Panelizer ● Media o Built with Media Entity, Entity Browser, Entity Embed ● Workflow o Built on Workbench Moderation, Scheduled Updates ● Preview o Multiversion, Workspace, Replication o Experimental - Stable Q3 2017
  • 14.
    ©2016 Acquia Inc.— Confidential and Proprietary It’s business time
  • 15.
    15 ©2016 AcquiaInc. — Confidential and Proprietary Johnnie Fox - Business
  • 16.
    16 ©2016 AcquiaInc. — Confidential and Proprietary Build Philosophy – https://12factor.net/
  • 17.
    17 ©2016 AcquiaInc. — Confidential and Proprietary Continuous Integration Principles
  • 18.
    18 ©2016 AcquiaInc. — Confidential and Proprietary Drupal 7 Build Framework
  • 19.
    19 ©2016 AcquiaInc. — Confidential and Proprietary Downsides of Custom Framework Time + Money + Effort Lack of Community Support + New Ideas
  • 20.
    20 ©2016 AcquiaInc. — Confidential and Proprietary South Florida Water Management
  • 21.
    21 ©2016 AcquiaInc. — Confidential and Proprietary Drupal 8 Accessible 6 Month Timeline Optimized Performance Acquia Hosting South Florida Water Management
  • 22.
    22 ©2016 AcquiaInc. — Confidential and Proprietary Steve Zipfel - Development
  • 23.
    23 ©2016 AcquiaInc. — Confidential and Proprietary Pre-defined build process - Hit the ground running. BLT and Promet Source: A perfect match.
  • 24.
    24 ©2016 AcquiaInc. — Confidential and Proprietary Development Team 1 Architect / Developer 1 Drupal Developer 1 Themer 100% Remote across different continents and timezones Quick delivery Drupal 8 Community
  • 25.
    25 ©2016 AcquiaInc. — 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.
    26 ©2016 AcquiaInc. — 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.
    27 ©2016 AcquiaInc. — Confidential and Proprietary Development Processes vagrant up vagrant ssh cd /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.
    28 ©2016 AcquiaInc. — 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 dependencies composer 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.
    29 ©2016 AcquiaInc. — Confidential and Proprietary29 ©2016 Acquia Inc. — Confidential and Proprietary Joint development with client and seamless handoff Existing Documentation and Existing, well defined process
  • 30.
    30 ©2016 AcquiaInc. — 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
  • 31.
    31 ©2016 AcquiaInc. — Confidential and Proprietary Artifacts vs Full Dev Code.
  • 32.
    32 ©2016 AcquiaInc. — 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.
    33 ©2016 AcquiaInc. — 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.
    34 ©2016 AcquiaInc. — 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
  • 35.
    35 ©2016 AcquiaInc. — Confidential and Proprietary Project Closeout
  • 36.
    36 ©2016 AcquiaInc. — Confidential and Proprietary South Florida Water District
  • 37.
    37 ©2016 AcquiaInc. — Confidential and Proprietary South Florida Water District – 1st Project risk register to contain hurricane risk – 1st project impacted by hurricane
  • 38.
    38 ©2016 AcquiaInc. — Confidential and Proprietary Project results
  • 39.
    39 ©2016 AcquiaInc. — Confidential and Proprietary Key Take Aways – Low Set up time – Initial investment to get started is low – Lightning greatly reduced module selection time
  • 40.
    40 ©2016 AcquiaInc. — Confidential and Proprietary Questions?
  • 41.
    41 ©2016 AcquiaInc. — Confidential and Proprietary Thank You