Update October 2021: I recently had a chance to talk about the Acquia Lightning EOL at Drupal GovCon 2021 with my colleague Ron Northcutt.
I’ve been an avid user of Acquia’s Lightning distribution for Drupal 8 for years now. Literally every site I’ve built since 2016 has either used Lightning as the primary profile or as a sub-profile. So it’s with mixed emotions that I share a recent Acquia blog post about Lightning going end of life (EOL) later this year when Drupal 8 also goes EOL in November.
The entire goal of Acquia Lightning was to help improve Drupal by contributing as much of this into core as possible. By acting as an incubator, it was able to build, iterate and deliver value as quickly as possible. The result is that Lightning has gotten "slimmer" over the past half decade as it has worked with the community to standardize and integrate those major areas of functionality.
Today, Drupal 9 core provides an exceptionally powerful and extensible framework for providing a great authoring and editorial experience out of the box. Media, Layout, Workflow and API-first are all part of core, with robust support, tests and a vibrant ecosystem of extensions.
Ron Northcutt
DIRECTOR OF DEVELOPER ADVOCACY
PRODUCT MARKETING @ ACQUIAhttps://www.acquia.com/blog/acquia-lightning-eol-2021-acquia-cms-future
So, the good news is that most of the stuff that Lightning has really “pushed” forward has successfully been moved into Drupal core! The bad news is that for those of us actively using Lightning today, we have a 3rd major end of life to deal with in 2021 (along with PHP 7.3 and Drupal 8).
Let’s dig into what to do about this end of life!
Starting New Drupal builds without Lightning
I’ve been starting all of my Drupal sites with the minimal profile in recent weeks. So far, it’s actually going fairly well. You might wonder, why minimal? Well, the short (and unfortunate) answer is that the standard profile doesn’t really “work” with a configuration management strategy because of the outstanding https://www.drupal.org/project/drupal/issues/2583113 issue.
Minimal actually does provide a few nifty things, in that you really explicitly get to choose what you use (and don’t). You can also pull in the Lightning modules (like Lightning Workflow, Lightning Media, etc.) to get some of those features if you still need them.
Now that Acquia CMS has launched, I expect that I’ll be using that quite a bit more as well (which has many more features than Lightning did out of the box). Note that Acquia CMS is intended for new builds not existing ones.
Removing lightning from existing builds
I’ve been working with the Lightning team for months now providing feedback and helping to test the uninstall procedure for Lightning. It actually works really well! But, there is a fundamental problem: Drupal isn’t designed to let you change install profiles. Despite profiles being very “module-like” this is one critical difference. So, in all transparency, Lightning does have to get a little hacky with your Drupal install to switch (but it’s temporary).
At a high level:
Update to the most current version of Lightning
Run the uninstall script to switch to a new profile (likely minimal)
Update configuration to reference the new profile
Thoroughly test
Deploy through prod
Remove Lightning from composer
Deploy through prod
The steps are documented in great detail over on the Lightning wiki.
I also just did this on the GovCon site, so you can check the commit. Remember: you cannot just change config and have this work. There are composer changes (to transfer all of the Lightning patches and dependencies from the profile up to my root composer.json) as well!
There are also a few potential gotchas. For instance, if your Lightning is very out of date… you’ll have to deal with the updates (in the current version) which can sometimes be challenging due to configuration changes.
Perhaps the best advice I can give is:
thoroughly test once the update is completed
do not remove Lightning from composer until you have deployed all the way through production. remember, you cannot uninstall a thing from Drupal if it’s already been removed from the codebase.
In Conclusion
I am so thankful to the Lightning team for their work over the years. The amount of time and energy that Lightning has saved me on builds is so significant. And I also think the direct parallels between work done in Lightning and the improvements in Drupal core are palpable.
I’m excited for Acquia CMS! But it’s also a bit of a bittersweet moment to see Lightning going EOL.
An overview of all the things I’ve been trying / testing to get ready for PHP 8.1.