Sam Boyer

Tag1 Quo
When Tag1 decided to build Tag1 Quo , we knew there was one question we’d have to answer over, and over, and over again: is there a security update available for this extension? Answering that question - at scale, for many websites, across many extensions, through all the possible versions they might have - is the heart of what Quo does. The problem seems simple enough, but doing it at such scale, for “all” versions...

Greg Lund-Chaix

Zero-downtime
Recently, we were working with one of our clients to diagnose high load on their web servers. We traced the cause of the load to an opcache_reset() call used after code deploys as a way of preventing the PHP OpCache from overfilling as new code was deployed to the servers. The issue was due to (and resolved by)bug #72590, but troubleshooting the problem prompted us to look at ways to non-intrusively restart PHP-FPM. While it...

Randy Fay

Tag1 Quo
Long Term Support for Drupal 6 might be my favorite new feature included in Drupal 8. (I know, that might be stretching things for the fundamentally awesome step forward that Drupal 8 is, but bear with me.) If you're like me, you have loved the power of building websites for people that expose their ideas or services to the world. If you're like me, you've ended up "owning" a number of these websites that you...

Jeremy Andrews

What We Did This Summer
t’s been an exciting summer, building our first product with Drupal 8. When we originally made the decision to offer Long Term Support for Drupal 6, we were thinking about a few of our clients that were a little behind on their upgrade plans, and had envisioned a mostly manual process. However, once we took the plunge and signed up new clients, we had more modules and themes to track than could easily be done...

Károly Négyesi

Drupal 8 Insights
Drupal 7 In Drupal 7, a hook_node_access implementation could return NODE_ACCESS_IGNORE , NODE_ACCESS_ALLOW and NODE_ACCESS_DENY . If any of them returned NODE_ACCESS_DENY then access was denied. If neither did but one returned NODE_ACCESS_ALLOW then access was allowed. If neither of these values were returned by any implementation then the decision was made based on other rules but at the end of the day some code needed to grant access explicitly or access was denied. Other...

Dylan Clear

Tag1 Spotlight
Nedjo Rogers is a Senior Performance Engineer with Tag1 based out of Victoria, Canada. He’s been an active Drupal contributor since 2003, has served as an advisory board member of the Drupal Association, and has led Drupal development projects for clients including Sony Music, the Smithsonian Institute, the Linux Foundation, and a number of nonprofit organizations. He’s also the co-founder of Chocolate Lily, where he builds web tools for nonprofits, including the Drupal distribution Open...

Doug Green

Drupal Commit Challenge

I want to share two stories with you. I started with Drupal in 2005. I started my first Drupal job in 2006 at $40/hr which was a pay cut. I quickly got a raise to $50/hr. I released Coder module in late 2006 and talked at OSCMS (the predecessor to DrupalCon) in 2007 and I began to be known in the Drupal community. Sometime in 2008 I started working on search. And because of my...

David Rothstein

Backdrop
This is the third in a series of blog posts about the relationship between Drupal and Backdrop CMS , a recently-released fork of Drupal. The goal of the series is to explain how a module (or theme) developer can take a Drupal project they currently maintain and support it for Backdrop as well, while keeping duplicate work to a minimum. In part 1 , I introduced the series and showed how for some modules, the...

David Rothstein

Backdrop
This is the second in a series of blog posts about the relationship between Drupal and Backdrop CMS , a recently-released fork of Drupal. The goal of the series is to explain how a module (or theme) developer can take a Drupal project they currently maintain and support it for Backdrop as well, while keeping duplicate work to a minimum. In part 1 , I introduced the series and showed how for some modules, the...

Károly Négyesi

Drupal 8 Insights
While coding the MongoDB integration for Drupal 8 I hit a wall first with the InstallerKernel which was easy to remedy with a simple core patch but then a similar problem occurred with the TestRunnerKernel and that one is not so simple to fix: these things were not made with extensibility in mind. You might hit some other walls -- the code below is not MongoDB specific. But note how unusual this is: you won’t...