Planet Drupal en Michael Meyers Joins Tag1 As Managing Director <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">I’m excited to announce that Michael Meyers has joined the Tag1 team as Managing Director. Michael was one of our very first clients 10 years ago, we’ve worked together on many projects over the years, and we look forward to working even more closely with him now that he’s a part of the Tag1 team. Michael has extensive experience building market leading high-growth technology companies and is particularly well known in the Drupal Community for his role in driving innovation of the Drupal platform. Michael brings over 20 years of experience managing global technology teams building high traffic, high performance mobile and web applications. Tag1 recently celebrated our 10th anniversary, in that time we’ve established ourselves as the leading provider of highly available, scalable, secure, high performance systems and as the organization other agencies and the users of Drupal turn to for help with their most challenging problems. We will be working with Michael to expand on our success to date and to help lead Tag1 into the future. Roots in Success Michael joins Tag1 from Acquia, where he spent the last 5 years on the leadership team as VP of Developer Relations, Developer Marketing, and helped launch the Developer... <div class="more-link"><a href="/blog/michael-meyers-joins-tag1-managing-director" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/jeremy-andrews" typeof="schema:Person" property="schema:name" datatype="">Jeremy</span></span> <span>Mon, 03/26/2018 - 08:05</span> Mon, 26 Mar 2018 15:05:12 +0000 Jeremy 90 at Background Image - A New Drupal 8 Module <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">Introducing a new, easy to use, Drupal 8 module for background images: If your site is designed around utilizing background images, then this module is for you! Whether you need a surgical implementation that only administrators/developers can implement or provide the ability to allow users to attach their own background images to entities, this module has you covered.<div class="more-link"><a href="/blog/background-image-new-drupal-8-module" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/mark-carver" typeof="schema:Person" property="schema:name" datatype="">markcarver</span></span> <span>Tue, 11/28/2017 - 17:00</span> Wed, 29 Nov 2017 01:00:00 +0000 markcarver 87 at Drupal Load Testing with <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">Apache JMeter and I have a long and complicated relationship. It is definitely a trusted and valuable tool, but I am also quite confident that certain parts of it will make an appearance in my particular circle of hell. Due to this somewhat uncomfortable partnership, I am always interested in new tools for applying load to an infrastructure and monitoring the results. is not exactly a new tool, but I have only recently begun to use it for testing. What Is Locust? Locust is a load-testing framework which allows you to write your load plan in regular Python. This is a welcome experience if you have ever had to manually edit a JMeter JMX file. Not only is it a more pleasant experience, but writing executors in Python makes it easy to create a very flexible load plan. Idea For A Circle Of Hell: Given a slightly corrupted JMX file that must be loadable and cannot easily be replaced, attempt to look through it to find the error preventing loading. Every time you save the file, some other tag corrupts slightly. Who needs eternal damnation, give me a large JMX file and some failing drives… The other advantage of... <div class="more-link"><a href="/blog/drupal-loadtest-locust" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/narayan-newton" typeof="schema:Person" property="schema:name" datatype="">nnewton</span></span> <span>Thu, 04/13/2017 - 08:48</span> Thu, 13 Apr 2017 15:48:24 +0000 nnewton 79 at Security Monitoring for Drupal 6, 7, and 8 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">Though it came and went largely unnoticed, February 24th, 2017 marked an important anniversary to tens of thousands of Drupal website owners. February 24th 2017 was the 1-year anniversary of the End-of-Life (EOL) announcement for Drupal 6 as no longer supported by the Drupal community. It is widely known that major Drupal version upgrades require non-trivial resources. Not only do they require significant planning, technical expertise, and budget, but the path is often determined by funding and availability of maintainers of popular contributed functionality (modules). Add the complexity of upgrading custom development, and the conditions create significant challenges for small to medium websites without large operating budgets. As evidence of this, our research indicates there are at least 150,000 publicly accessible sites still running Drupal 6. One of a Kind Tag1 Quo is the only Drupal monitoring solution that supports Drupal 6 LTS, Drupal 7, and Drupal 8 under one dashboard. Check It Out! For most D6 site managers, the most critical (and stressful) impact of EOL is the discontinuation of Drupal 6 security patches by the Drupal security team. When a major version reaches EOL, the Drupal security team ceases to release patches, or serve public Security Advisories for... <div class="more-link"><a href="/blog/eol-anniversary" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/dylan-clear" typeof="schema:Person" property="schema:name" datatype="">Dylan Clear</span></span> <span>Wed, 03/15/2017 - 15:33</span> Wed, 15 Mar 2017 22:33:59 +0000 Dylan Clear 76 at Finding a Place in the (Version) Universe, Part 2 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">When we left off last time , we’d assembled a definition of what versions are. Now, we’re going to dive into how we use them in Tag1 Quo : comparing them to one another! The general goal is straightforward enough: we want to know if, say, 6.x-1.0 is less than 6.x-1.1 . (Yup!) Or if 6.x-1.0-alpha1 is less than 6.x-1.0 . (Also yup!) Let’s rewrite these two examples as tuple comparisons: {6,1,0,4,0,0} &lt; {6,1,1,4,0,0} = TRUE {6,1,0,0,0,0} &lt; {6,1,1,0,0,0} = TRUE To determine if one tuple is less than the other, we proceed pairwise through the tuple’s values, comparing the integers at the same position from each, until we find different values. Whichever tuple’s value at that position is less is considered to be the lesser version. (Uniformity in this comparison operation is why the mapping for prerelease types assigns unstable to 0, rather than 4.) However, this simple comparison operation doesn’t actually meet Quo’s requirements. Remember, Quo’s crucial question is not whether there are any newer versions, but whether there are newer security releases that are likely to apply to the version we’re investigating. So, say we’re looking at 6.x-1.1 for a given extension, and there exists a 7.x-2.2... <div class="more-link"><a href="/blog/finding-place-version-universe-part-2" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/sam-boyer" typeof="schema:Person" property="schema:name" datatype="">sam</span></span> <span>Tue, 10/25/2016 - 09:33</span> Tue, 25 Oct 2016 16:33:33 +0000 sam 73 at Versions, Versions Everywhere, Part 1 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">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, and getting it right, has some deceptive difficulties. Given a site with an extension at a particular version, we need to know where it sits on the continuum of all versions that exist for that extension (we often refer to that as the “version universe,”), and whether any of the newer versions contain security fixes. There are a few different approaches we could’ve taken to this problem. The one we ultimately settled on was a bit more abstracted than what might initially seem necessary. It was also not a “typical” Drupal solution. In this blog series, I’ll cover both the theoretical foundation of the problem, and the approach we took to implementation. What’s a version? Let's start at the beginning. Quo works by having existing... <div class="more-link"><a href="/blog/versions-versions-everywhere-part-1" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/sam-boyer" typeof="schema:Person" property="schema:name" datatype="">sam</span></span> <span>Thu, 10/20/2016 - 09:55</span> Thu, 20 Oct 2016 16:55:54 +0000 sam 71 at Drupal 6 Long Term Support is My Favorite Feature of Drupal 8 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">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.) Long Term Support for Drupal 6 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 somehow ended up supporting along the way too. And if you're like me, you've ended up with lots of Drupal 6 websites to support, even though D6 hit End-of-Life on February 24th, 2016. There are a lot of D6 sites out there with no money for an upgrade, but which still have a niche to fill or useful information for the world. Those can be an albatross around our necks and a time sink. We don't have the resources to update (and their owners don't either) but we can't set the site owners adrift. When previous versions of Drupal hit end-of-life, it was always a catastrophe for those of us with sites out there. Upgrade or else. Very costly... <div class="more-link"><a href="/blog/drupal-6-long-term-support-my-favorite-feature-drupal-8" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/randy-fay" typeof="schema:Person" property="schema:name" datatype="">rfay</span></span> <span>Tue, 08/30/2016 - 08:04</span> Tue, 30 Aug 2016 15:04:42 +0000 rfay 70 at Tag1 Quo and Drupal 6 Long Term Support <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">It’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 manually, and it remained critically important we never miss an upstream release. The Tag1 Quo Dashboard, managing multiple websites. This ultimately led to building Tag1 Quo , a product built on top of Drupal 8 to automatically track upstream releases and security advisories, comparing them against subscriber code bases to determine which need to be backported. This automation was combined with an administrative dashboard and email notification system resulting in a fancy system that quickly delivers all applicable patches to new and existing customers, ensuring everyone stays up to date while also making it easy for us to track ongoing security issues. Why Drupal 8 The first step was architecting the central service where all this information was going to be collected, stored, parsed... <div class="more-link"><a href="/blog/tag1-quo-and-drupal-6-long-term-support" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/jeremy-andrews" typeof="schema:Person" property="schema:name" datatype="">Jeremy</span></span> <span>Mon, 08/22/2016 - 08:42</span> Mon, 22 Aug 2016 15:42:03 +0000 Jeremy 68 at