Digital Strategy, Design, Video Production, and Development Agency - Drupal PlanetPosts categorized as 'drupal planet'http://activelamp.comSandcamp 2016 RecapThe San Diego Drupal Camp was great! You can't beat the weather in San Diego, and as usual, these regional events are great for catching up with old friends that are still plugging away with the Drupal content management system. Checkout our highlight video&#58; <a href="http://activelamp.com/videos/sandcamp-2016-highlights/">![Sandcamp Highlight Video](/images/posts/sandcamp-video.jpg)</a> This year I had the pleasure of giving 3 sessions at the camp, and as promised, I want to share the slides and code for everything that I presented. Each deck is iframed in on this article, feel free to checkout <a href="http://github.com/tomfriedhof">my github page</a< if you want the speaker notes too.Tue, 15 Mar 2016 02:00:00 +0000http://activelamp.com/blog/drupal/sandcamp-2016-recap/http://activelamp.com/blog/drupal/sandcamp-2016-recap/Extending Drupal: all about the service containerThe biggest thing that got me excited with Drupal 8 is the first-class use of services & dependency-injection throughout the entire system. From aspects like routing, templating, managing configuration, querying and persisting data, you name it -- everything is done with services. This is a *great* thing, because it grants developers a level of flexibility in extending Drupal that is far greater than what Drupal 7 was able to. I'll walk you through a few strategies of extending existing functionality, leveraging the power of Symfony's `DependencyInjection` component.Tue, 01 Mar 2016 02:00:00 +0000http://activelamp.com/blog/development/extending-drupal-all-about-the-service-container/http://activelamp.com/blog/development/extending-drupal-all-about-the-service-container/Creating a deployable Docker image with Jenkins - Part 4My previous posts talked about getting your local environment setup using the [Drupal Docker image](https://hub.docker.com/_/drupal/) with [Vagrant](https://www.vagrantup.com/). It's now time to bake a Docker image with our custom application code within the container, so that we can deploy containers implementing the [immutable server pattern](http://martinfowler.com/bliki/ImmutableServer.html). One of the main reasons we starting venturing down the Docker path was to achieve deployable fully baked containers that are ready to run in whatever environment you put them in, similar to what we've done in the past with [Packer](http://packer.io), as I've mentioned in a previous post.Wed, 20 Jan 2016 14:30:00 +0000http://activelamp.com/blog/devops/jenkins-build-docker-images/http://activelamp.com/blog/devops/jenkins-build-docker-images/Our build process using Drupal 8Now that the [release of Drupal 8](https://www.drupal.org/8) is finally here, it is time to adapt our Drupal 7 build process to Drupal 8, while utilizing [Docker](https://www.docker.com/). This post will take you through how **we** construct sites on Drupal 8 using dependency managers on top of [Docker with Vagrant](http://activelamp.com/blog/devops/docker-with-vagrant/). <h3>Keep a clean upstream repo</h3> Over the past 3 or 4 years developing websites has changed dramatically with the increasing popularity of dependency management such as [Composer](https://getcomposer.org/), [Bundler](http://bundler.io/), [npm](https://www.npmjs.com/), [Bower](http://bower.io/), etc... amongst other tools. Drupal even has it's own system that can handle dependencies called [Drush](http://www.drush.org/), albiet it is more than just a dependency manager for Drupal. With all of these tools at our disposal, it makes it very easy to include code from other projects in our application while not storing any of that code in the application code repository. This concept dramatically changes how you would typically maintain a Drupal site, since the typical way to manage a Drupal codebase is to have the entire Drupal Docroot, including all dependencies, in the application code repository. Having everything in the docroot is fine, but you gain so much more power using dependency managers. You also lighten up the actual application codebase when you utilize dependency managers, because your repo only contains code that you wrote. There are tons of advantages to building applications this way, but I have digressed, this post is about how we utilize these tools to build Drupal sites, not an exhaustive list of why this is a good idea. Leave a comment if you want to discuss the advantages / disadvantages of this approach.Wed, 02 Dec 2015 02:30:00 +0000http://activelamp.com/blog/devops/drupal-build-process/http://activelamp.com/blog/devops/drupal-build-process/Visual Regression Testing with Shoov.ioWe recently were introduced to a website testing tool called Shoov. Shoov is a visual regression tool using webdrivercss and we are going to show you how to get it running on your site.Sat, 14 Nov 2015 02:00:00 +0000http://activelamp.com/blog/drupal/visual-regression-testing-with-shoov/http://activelamp.com/blog/drupal/visual-regression-testing-with-shoov/Docker: A Minimalist's ChoiceSat, 17 Oct 2015 02:00:00 +0000http://activelamp.com/blog/devops/docker-a-minimalists-choice/http://activelamp.com/blog/devops/docker-a-minimalists-choice/Drupal to Ember without SavingPreviewing article from Drupal to Ember without savingSat, 10 Oct 2015 00:00:00 +0000http://activelamp.com/blog/drupal/drupal-to-ember/http://activelamp.com/blog/drupal/drupal-to-ember/Setting up a Docker development environment with Vagrant - Part 3Now that I've laid the ground work for the approach that I want to take with local environment development with Docker, it's time to explore how to make the local environment a sane "development environment". In this post we will do just that, setup a local development environment with [Docker and Vagrant]({% post_url 2015-07-19-docker-with-vagrant %}).Wed, 23 Sep 2015 02:30:00 +0000http://activelamp.com/blog/devops/local-docker-development-with-vagrant/http://activelamp.com/blog/devops/local-docker-development-with-vagrant/Drupal 8 - First ExperiencesI recently had time to install and take a look at Drupal 8. I am going to share my first take on Drupal 8 and some of the hang-ups that I came across. I read a few other blog posts that mentioned not to rely too heavily on one source for D8 documentation with the rapid changing pace of D8 the information has become outdated rather quickly.Fri, 14 Aug 2015 23:00:00 +0000http://activelamp.com/blog/drupal/drupal-8-first-experiences/http://activelamp.com/blog/drupal/drupal-8-first-experiences/Docker with Vagrant - Part 2In this post, we will venture into setting up docker locally, in the same repeatable way, from developer to developer. By the end of this post, we'll have Drupal running in a container, using Docker. This post is focused on hashing out a Docker workflow with Vagrant, less about Drupal itself.Sun, 19 Jul 2015 18:30:00 +0000http://activelamp.com/blog/devops/docker-with-vagrant/http://activelamp.com/blog/devops/docker-with-vagrant/