LN Webworks: Drupal BigPipe Module: The Phenomenal to Improve Website Performance

Image removed.

According to intriguing research, pages with a load time of 1 to 2 seconds have the maximum conversion rates, and with every additional second of load time, the conversion rate drops by 4.42%. Surprising. We live in a world where speed is everything. If your website performance cannot meet the expectations of the visitors, the stakes are quite high. So, what can you do to boost website performance? Gladly, there are numerous techniques available and the BigPipe technique is one of them. If your site relies on Drupal, you can install the BigPipe module with incredible Drupal 10 compatibility to leverage the power of this technique. It is interesting to note that the BigPipe technique was initially developed by Facebook but today, a plethora of organizations are utilizing it across the globe.

Centarro: Commerce Stripe release adds Apple Pay + Google Pay support

Drupal Commerce has long integrated with Stripe through the Commerce Stripe project. Multiple members of our team have contributed to the integration over the years, including the Stripe Connect implementation on Drupal 7 and Card Element improvements for the Drupal 9/10 version. However, until recently, we never had significant time to focus on the integration.

That all changed this summer as multiple merchants hired Centarro to expand the module's capabilities. Each one benefited from the contributions funded by the others, while their own funding ensured the specific features they needed were incorporated into the whole. Most of this work centers around a Payment Element integration, which is now available as of yesterday's 8.x-1.1 release. 🥳

Read more

Drupal Core News: Drupal core's GitLab CI testing is now five times faster than DrupalCI

While Drupal moved its code hosting to GitLab five years ago, moving testing from our home-grown DrupalCI to GitLab CI has been a gradual process. We are announcing several important changes and future plans in this post that affect all developers working on code on Drupal.org.

Contributed projects should now use Gitlab CI

As of July 2023, contributed projects are fully equipped to adopt GitLab CI, and should do so.

The DrupalCI system will be retired once its functionality for Drupal core and the Security Team has been fully replaced by GitLab CI. While we don't have a specific date for that yet, it will be retired within a year.

Testing core is now five times faster

We've been adapting our GitLab CI configuration for better core testing. Core testing on GitLab CI is more modern and significantly faster than Drupal CI. Drupal CI core runs take just over 50 minutes, but GitLab CI can run the same test suite in under ten minutes!

How did we do it?

You don't need to know the internal details of how this was achieved to benefit from it, but here is a high level summary, if you are interested:

  • Mounted MySQL and the filesystem on ramdisks for faster access.
  • Introduced different jobs for different linting types and test suites so they start at the same time.
  • Specified explicit job dependencies with the 'needs' keyword so that jobs can start sooner.
  • Made tests run concurrently on each runner via run-tests.sh.
  • Used parallel test runners for functional tests to allow over 100 tests to be executed simultaneously.
  • Identified the slowest tests and tagged them with @group #slow. Using this, we then distribute the slowest jobs at the beginning of each run and between runners. This means they finish as early as possible, instead of continuing to run when all the shorter jobs have finished.
  • Refactored the slowest tests that take more than six minutes for a single test class into multiple classes so those can run in parallel.

Core on-commit testing and scheduled testing now moved to GitLab CI

Due to the performance improvements, we moved several testing setups from DrupalCI to GitLab CI. Drupal core is automatically tested on GitLab CI following each commit and on a set schedule to give early warning of possible regressions.

Image removed.
GitLab CI test matrix results shown for a commit

Take advantage of fast test runs and early feedback in core merge requests today!

Merge requests filed in GitLab for core issues will automatically benefit from all these improvements. When coding standards are not met or test failures occur, the GitLab UI makes it easier to see which parts of the pipeline have failed and why, and will report back on GitLab as soon as they're done. No more waiting for the full pipeline to complete!

If you have an existing merge request from before GitLab CI support was added to core, rebase it on the 11.x branch to automatically gain support.

Test-only runs are now automated in GitLab CI

To prove that added test coverage for a bugfix is working as intended, we often require a patch or merge request that has only the test coverage additions (without the code for the bug fix). This has meant that either two patches or two merge requests for each issue were needed. Now, we have an automated solution to run only the changed tests. So, in most cases a separate merge request will no longer be needed! If an issue using patches is missing a test-only patch, it will be marked "Needs work" and must be converted to a merge request (so that the test-only CI job can run without the need to manually create a test-only patch).

Image removed.
GitLab CI child pipeline showing automated test only option

Code quality checks are now integrated in the merge request user interface

Another major developer experience improvement is that code quality checks are now integrated into the merge request user interface, with reports displayed separately from test results and even displayed inline in the code review interface.

Image removed.
GitLab integrated code quality check report

GitLab CI jobs are re-run when failures are encountered outside tests

Another improvement over DrupalCI is that GitLab CI jobs will re-run automatically (up to 2 retries) if there were failures outside of tests, such as timeouts, scheduling issues, etc.

Thank you!

All of these improvements are thanks to tremendous work by Moshe Weitzman, Lee Rowlands, Kirill Roskolii, Chris Burgess, Nick Schuch, Fran Garcia-Linares, Luhur Abdi Rizal, Michael Strelan, Alex Pott, Nathaniel Catchpole, Dave Long, Björn Brala, Neil Drumm, Wim Leers, Juraj Nemec, and the Drupal Association for prioritizing developer tools improvements. This will be an incredible benefit for developer productivity!

Future milestones

Automated performance testing is coming

OpenTelemetry Application Performance Monitoring capability was recently added to Drupal core. More infrastructure is needed to collect that data including GitLab CI configuration updates to run performance testing on a schedule.

Internal Security Team testing will move to a private GitLab.com mirror

DrupalCI is still used for testing core patches privately for security releases. We plan to move this to a private GitLab.com mirror with issues privately submitted on GitLab.com.

Drupal 7 core and contributed projects will move to GitLab CI

We are currently preparing Drupal 7 core for Gitlab CI and preparing CI templates for Drupal 7 contributed projects. Drupal 7 test run times on GitLab CI are down to three minutes and include PHP compatibility checks, which were previously not run on Drupal 7 patches. Once those are finalized, only GitLab CI will be used for testing Drupal 7.

Electric Citizen: Cookie Compliance and Privacy

Image removed.

You probably noticed it for the first time several years ago. You were trying to visit some website or online article–but before you could read or do anything else, there was suddenly a pop-up window or banner blocking you.

Image removed.

And the message wasn’t trying to sell you anything. It was simply about “cookies”. Most followed some version of the following– ”this site uses cookies, and I hope you’re ok with that.” They often didn’t say more than that. Just that this website relies on cookies and they thought you should know. Don’t like it or understand what they’re talking about? Well, too bad.

I guess you could always turn and run, but then you wouldn’t get to read or find whatever it was you were looking for. As they advanced in technology, these “cookie compliance” banners or “cookie walls” have become a little more useful. Now they may include a lot more info, such as a list of the different types of cookies being used, and what they are for. Even better, they often now give you the option to say “no, I don’t want your cookie” (aka, don’t track what I do).

But where the heck did these come from and why did it seemingly start out of the blue? We never got asked this before. Ever wonder why everyone started asking you to “approve” their use of cookies on websites? And perhaps equally important, should you be doing this on your own websites? Let’s take a run through the cookie madness.

Electric Citizen: See you at DrupalCon Portland 2022

Image removed.

It's been a long three years, but the Drupal community is getting back together in person for DrupalCon Portland! (Apr 25-Apr 29)

The pandemic robbed us of the first-ever DrupalCon Minneapolis (our "hometown") in 2019, and again in 2020 for what should have been DrupalCon Boston. But finally in 2022, the Drupal community is getting back together in person for the annual DrupalCon North America. 

Although the finer details continue to change each year, the basics remain the same – thousands of Drupal developers, users, site owners, content editors, trainers, and learners all gather for a week of training, summits, keynotes, sessions and socializing. It's one of our favorite activities and we're so glad it is back.

Sponsoring and Supporting Drupal

Image removed.

Electric Citizen continues to be a strong supporter of open-source and Drupal in 2022. We've renewed our commitment as a premier supporting organization, and continued our practice of sponsoring DrupalCon as well.

If you're in Portland this April, find us on the exhibit hall at booth #304!

Electric Citizen: Migrating Drupal 7 Sites to Drupal 9

Image removed.

The Office of Academic Clinical Affairs (OACA) supports clinical research and care for the University of Minnesota.

Their portfolio of services includes overseeing a dozen different institutes, including the Center for Bioethics, Masonic Cancer Center, and the Community Health Care Center. Each of these organizations has its own unique online content and website.

OACA came to Electric Citizen needing help upgrading 9 of their websites to the latest version of Drupal while applying new designs, features and site build.

The final list of sites we worked on includes:

Electric Citizen: Introducing DrupalCon Global

Image removed.

DrupalCon North America is an annual tradition, where thousands of people come together in a great American city for a week-long conference of learning, networking and socializing.

Things are different this year, for obvious reasons. But DrupalCon lives on in DrupalCon Global! This is the first-ever virtual edition of DrupalCon. Running from July 14-17, 2020, this online-only conference is open to anyone and everyone, worldwide. If you haven’t done so, consider registering today!

Electric Citizen: What You Need to Know About Drupal 9

Image removed.

Happy birthday! Drupal 9 was officially released on June 3rd, 2020 and is available to start using today.

But what does this mean for the thousands of websites currently using Drupal 8 (and earlier)? Do you have to upgrade? Will your existing Drupal site no longer be supported? What is new and how different is it from the Drupal we know?

Let’s take a look at these questions, review the upgrade process and highlight what’s new or changed with the latest version of this popular open-source CMS.

Electric Citizen: Get Ready for DrupalCon Minneapolis

Image removed.

After over a decade of our team traveling to other cities, the annual DrupalCon North America is coming to our hometown! 

I've been attending DrupalCons each year, starting with DrupalCon Chicago in 2011. While I've had an incredible time visiting all these other great cities across the US, there's something special about being the host city. And I'm confident you'll love it too.

The Electric Citizen team will be there. Here's some quick details about where we'll be, and some ideas on what you can do while visiting.