Preston So

Peer-to-peer collaborative editing is one of the most fascinating frontiers of editorial collaboration in our industry. As a longstanding requirement with formidable technical challenges, enabling collaborative editing in a decentralized fashion has been a dream for many years. However, with the advent of emerging technologies in the real-time collaboration space, most notably Yjs and WebRTC, the possibilities for peer-to-peer editing are not only realistic but compelling for a wide range of ecosystems. With the help...

Preston So

Automated tests are rapidly becoming a prerequisite for successful web projects, owing to the proliferation of automated testing tools and an explosion of continuous integration (CI) services that ensure the success of web implementations. Nonetheless, for many developers who are new to the space, automated testing can be an intimidating and altogether novel area that causes more than a few groans at weekly meetings. Luckily, with the right development culture and testing infrastructure in place...

Sam Boyer

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} < {6,1,1,4,0,0} = TRUE {6,1,0,0,0,0} < {6,1,1,0,0,0}...

Sam Boyer

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...

Randy Fay

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

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...