Trello for Publication Workflow
Blog postWe've recently been using Trello to help us track our content publication workflow. Here's a little bit about why and how we use it.
Help Drupal 8 and Win!
Blog postWe're kicking off a campaign to help the Drupal 8 Accelerate Fund. If you donate $50 or more to the community fund, you have a chance to win a free annual membership and if you donate $100, you can choose a new video for us to create.
Drupalize.Me at DrupalCon Los Angeles
Blog postOur entire team will be at DrupalCon Los Angeles in just a few weeks. We'd love to chat with you, so here is where you'll be able to find us.
This week we're pleased to add another series that addresses multiple sites in a different way from the core multisite feature, with the Introduction to Domain Access for Drupal 7 series. This series covers the basics of working with Domain Access to manage multiple domain names all on one Drupal instance—only one code base and one database.
In this introductory series you will learn how use the Domain Access project to let you manage multiple "sites" with different domain names from just one Drupal installation. Domain Access "multisite" works differently from the core multisite feature in that you truly only have one site to manage. There is just one code base and one database. Domain Access takes advantage of Drupal's node access system to give the illusion of multiple sites. In this series we start off by getting some context through several presentations that explain what Domain Access offers, and why you might use it, how DNS and Apache web servers work, and what you need to understand about the node access system. Once we dive into the hands-on work, you will configure Apache to work with multiple domain names, and get Domain Access installed on your site. Then you will configure a very basic Domain Access site, learning how to share and restrict content, change themes, and set up permissions for fine-grained access control.
Additional resources
Domain Access project (drupal.org)
This series will implement the same example as the Multisite series did, but with Domain Access instead. You can see and compare the two methods. First, let's look at some other examples using Domain Access and see what we get when we download the package from Drupal.org. We'll also talk about the features provided, along with some things to be aware of and consider when choosing Domain Access.
Additional resources
Domain Access project (drupal.org)
Domain Access can do its magic because of the Drupal node access system. In this tutorial we'll walk through the basics of how this system works, highlighting the two main methods, and then explain why this may be important information for you. We won't be diving into the code side of things, but instead outline the basic concepts for anyone who needs to interact with this system. When using a module like Domain Access, you should be aware of the Drupal context in which you are working, even if you hopefully never have to dive into the details.
Additional resources
Controlling Access to Content Overview (drupal.org handbook)
Node access developer documentation (api.drupal.org)
Let’s take a brief look at how translation contributions work in Drupal. This written tutorial is based on the free video, Translation in Drupal.
Podcast Episode 62: Distributed Design
Blog postDesign work is a lot of show-and-tell. It can be challenging to effectively communicate and collaborate on a distributed team. Join hostess Amber Matz, Lullabot Creative Director Jared Ponchot, Lullabot UX Designer Jen Witkowski, and Justin Harrell, Interactive Designer for Drupalize.Me, as they talk about the unique challenges, processes, and tools they use as part of a distributed team.
This week, we're wrapping up our series, Introduction to Object-oriented PHP, in partnership with KnpUniversity, with tutorials on access control for properties, type hinting, and constructors in PHP.
Here's an example of an assumption; The sun will rise tomorrow. An assumption is something that is accepted as true or as certain to happen, without proof. This kind of thinking, while convenient, is prone to concealing facts, and troublesome when debugging code. This article defines what an assumption is, and provides some techniques for helping to eliminate them during debugging.
Release Day: Working with PHP Objects
Blog postThis week, we continue our Introduction to Object-oriented PHP series, in partnership with KnpUniversity (now SymfonyCasts), with tutorials that mostly focus on working with objects in PHP. You'll also learn how to add a specially formatted comment to your code that will enable code autocomplete functionality in your IDE.
While a lot of our days are focused on Drupal, as web developers there are other pieces of tech that we need to understand and use on a regular basis. One example is Apache web server. This is the most popular web server on the web and likely the one your site uses. While you don't need to be a system administrator to use Drupal, you do need to understand some basics of Apache when working with domain names, especially if you're managing multiple domain names on one web server.
Self-Serve Group Memberships
Blog postAt the beginning of this month, we introduced a new feature on the site: self-serve group memberships! In the olden days, when a group wanted to purchase a membership, we asked that they email us. We then generated an invoice and emailed it back. No longer! Now, groups can purchase 5-seat memberships directly from our site—no emailing or invoicing required. Not only is the signup process now very straightforward, but you can purchase a group membership on a monthly basis in addition to the annual option.
This week's podcast, Episode 61: Mental Health and Open Source, dives into the private topic of our mental health. A few Lullabots are joined by Mike Bell, who recently gave a presentation on this topic, sharing his own personal journey. We discuss the pressures and effects we've all experienced in different ways, as well as the ways we've worked to manage our own mental health, and ways the Drupal and open source communities can help.
In anticipation of the release of Drupal 8, one of the things we think is important is to provide foundational training material in areas related to the changes in Drupal 8. One major change is the shift to an object-oriented PHP (OO PHP) architecture, which you can learn more about here, in my presentation, What's New in Drupal 8: Object-oriented PHP. To provide a hands-on coding introduction to OO PHP, we worked with our partners at KnpUniversity to create a new series. Today we are delighted to release the first four video tutorials in the new KnpUniversity series, Introduction to Object-Oriented PHP.
The Drupal 8 development cycle has definitely been a long one. There are several exciting features on the way, but the improvements to the authoring experience in Drupal 8 have definitely drawn a lot of attention. (I know Amber is clamoring for in-place editing for this blog.) The Spark project is the home to much of this work. Several new core modules that contribute to these improvements (Contextual, Quickedit, Toolbar, CKEditor and to a lesser extent, Tour) leverage a pair of popular javascript libraries Backbone.js and Underscore.js.
Both Backbone.js, and its dependency Underscore.js were committed to Drupal 8 two years ago! Let's take a quick look at both Backbone.js and Underscore.js, how they're used in core, and how you might be able to use them to simplify some javascript for your site.
The Drupalize.Me podcast (formerly the Lullabot podcast) has been running for many years now. During this time, not much has changed as far as what makes the podcast itself. There is theme music, a host, guests, event updates, and now even sound effects. Even when it comes to how we record a podcast, not much is different in either the method or the technology. What can make or break a podcast, though, is the quality of the sound. I'm not talking about if the podcast is HD or anything, but what the overall quality of a person's voice is, the ability to reduce or eliminate background distractions, or even just being able to create a good mix of volumes. All these things are great to be able to have some control over and edit before putting the podcast out to the masses.
Drupalize.Me Update: March 2015
Blog postAs Drupal 8 approaches, our team has been growing and really pushing ourselves. Over the past few weeks, we released some impressive tutorials and site updates. Here's an overview.