hero image

Our thoughts, perspectives, and musings on drupal


We share knowledge, ideas and ambitions openly, constantly improving and crtiquing our ideas in the larger community.

Posts tagged with drupal

cover image
Video - development

JAMstack or Drupal? - Part I

Why are organizations still building websites on old technology like Drupal or Wordpress these days when there are so many more hip ways to deliver your content?

Why are organizations still building websites on old technology like Drupal or Wordpress these days when there are so many more hip ways to deliver yo...

9:20
cover image
Blog - drupal

Drupal 8 Campaign Builder

Recently, we were asked if we could integrate some small, one-page websites into an existing Drupal website. This would not only make it easier to manage those different websites and their content, but also reduce the hosting and maintenance costs.

Recently, we were asked if we could integrate some small, one-page websites into an existing Drupal website. This would not only make it easier to man...

Comments
cover image
Blog - drupal

Quick Setup with Composer Template for Drupal Projects

Pairing Composer template for Drupal Projects with Lando gives you a fully working Drupal environment with barely any setup. Lando is an open-source, cross-platform local development environment. It uses Docker to build containers for well-known frameworks and services written in simple recipes. If you haven’t started using Lando for your local development, we highly recommend it. It is easier, faster, and relatively pain-free compared to MAMP, WAMP, VirtualBox VMs, Vagrant or building your own Docker infrastructure.

Pairing Composer template for Drupal Projects with Lando gives you a fully working Drupal environment with barely any setup. Lando is an open-source, ...

Comments
cover image
Video - drupal

Factor Two - Dependency Management

We are building a 12 factor app with Drupal. This is part two in our series, building a 12 factor app. Today I'm talking about Factor Two…

We are building a 12 factor app with Drupal. This is part two in our series, building a 12 factor app. Today I'm talking about Factor Two…

23:09
cover image
Blog - devops

Deploying Docker containers - Introduction to Kubernetes

This post is part 5 in the series [“Hashing out a docker workflow”]({% post_url 2015-06-04-hashing-out-docker-workflow %}). I have resurrected this series from over a year ago, but if you want to checkout the previous posts, you can find the [first post here]({% post_url 2015-06-04-hashing-out-docker-workflow %}). Although the beginning of this blog series pre-dates Docker Machine, Docker for Mac, or Docker for Window’s. The Docker concepts still apply, just not using it with Vagrant any more. Instead, check out the Docker Toolbox. There isn’t a need to use Vagrant any longer.

This post is part 5 in the series [“Hashing out a docker workflow”]({% post_url 2015-06-04-hashing-out-docker-workflow %}). I have resurrected this se...

Comments
cover image
Blog - development

Accessibility Tips for Beginners

With more than 56 million people with disability in the United States1, why are they less likely to use the web2? There are multiple factors that can go into an individual's reasoning for not feeling comfortable using the web. One might be that the majority of websites are not created with them mind. Meaning, even if they have assistive technologies, they may not be able to navigate a website comfortably or at all. Even though, companies are making an effort to improve assistive technologies there are a handful of things you can do now that can help improve their experience on your website or product.

With more than 56 million people with disability in the United States1, why are they less likely to use the web2? There are multiple factors that can ...

Comments
cover image
Blog - drupal

Drupal Modules to Help Improve Your SEO

So you just finished building an awesome new website on Drupal, but now you’ve run into a new dilemma. How do optimize the site for search engines? Search engine optimization, or SEO, can be overwhelming, but don’t let that cause you to ignore certain things you can do to help drive traffic to your website. There’s nothing worse than spending countless hours to develop a web application, only to find out that users aren’t able to find your site. This can be extremely frustrating, as well as devastating if your company or business heavily relies on organic traffic.

So you just finished building an awesome new website on Drupal, but now you’ve run into a new dilemma. How do optimize the site for search engines? Se...

Comments
cover image
Blog - drupal

Migrating Drupal 7 redirects to Drupal 8

When migrating from Drupal 7 to Drupal 8, it is important to remember to migrate over the redirects as well. Without the migrations users will not find your content if for example: the redirect was shared on social media. Using the Migrate Plus module, it is quite simple to write a migration for the redirects. The Migrate Plus module contains some good examples on how to get started writing your custom migrations.

When migrating from Drupal 7 to Drupal 8, it is important to remember to migrate over the redirects as well. Without the migrations users will not fin...

Comments
cover image
Video - drupal

Pattern Lab in Drupal 7

Tom Friedhof: There’s a lot of hype around integrating Pattern Lab with your Drupal theme these days. Particularly because Drupal’s template…

Tom Friedhof: There’s a lot of hype around integrating Pattern Lab with your Drupal theme these days. Particularly because Drupal’s template…

41:26
cover image
Blog - development

Shibboleth Authentication in Symfony 2.8+|3.0+

Preface We recently had the opportunity to work on a Symfony app for one of our Higher Ed clients that we recently built a Drupal distribution for. Drupal 8 moving to Symfony has enabled us to expand our service offering. We have found more opportunities building apps directly using Symfony when a CMS is not needed. This post is not about Drupal, but cross posting to Drupal Planet to demonstrate the value of getting off the island. Enjoy! Writing custom authentication schemes in Symfony used to be on the complicated side. But with the introduction of the Guard authentication component, it has gotten a lot easier.

Preface We recently had the opportunity to work on a Symfony app for one of our Higher Ed clients that we recently built a Drupal distribution for. Dr...

Comments
cover image
Blog - drupal

Composer FTW! RIP Drush Make?

In the modern world of web / application development, using package managers to pull in dependencies has become a de-facto standard. In fact, if you are developing enterprise software and you aren't leveraging package managers I would challenge you to ask yourself why not?

In the modern world of web / application development, using package managers to pull in dependencies has become a de-facto standard. In fact, if you a...

Comments
cover image
Video - drupal

Drupal vs Proprietary Software: DrupalCamp LA 2016 Table Talk - pt. 4/5

Ron Huber: Proprietary software does a really good job of being everything to everybody. When somebody goes and pitches something for a…

Ron Huber: Proprietary software does a really good job of being everything to everybody. When somebody goes and pitches something for a…

11:43
cover image
Video - drupal

Drupal as an Integration Point: DrupalCamp LA 2016 Table Talk - pt. 3/5

Jordan Ryan: Are any of you selling, in particular with Drupal, the power of integrations or integrating with other systems? Kind of like…

Jordan Ryan: Are any of you selling, in particular with Drupal, the power of integrations or integrating with other systems? Kind of like…

12:05
cover image
Video - drupal

Who is Drupal Right For: DrupalCamp LA 2016 Table Talk - pt. 2/5

Ron Huber: It does go back to what Dries said earlier this year, about who adopts Drupal, right. I mean, they're truly ambitious web…

Ron Huber: It does go back to what Dries said earlier this year, about who adopts Drupal, right. I mean, they're truly ambitious web…

8:14
cover image
Video - drupal

Drupal 7 or 8: DrupalCamp LA 2016 Table Talk - pt. 1/5

Tom: Hey guys, we're here at DrupalCamp LA 2016, at UC Irvine. We've got a few shop owners here. We just wanted to have a conversation and…

Tom: Hey guys, we're here at DrupalCamp LA 2016, at UC Irvine. We've got a few shop owners here. We just wanted to have a conversation and…

11:47
cover image
Video - drupal

Incrementally Upgrading to Drupal 8

You guys asked so here we are. In my last video I answered the question, "Should I build on Drupal 7 or Drupal 8?" I mentioned in that video…

You guys asked so here we are. In my last video I answered the question, "Should I build on Drupal 7 or Drupal 8?" I mentioned in that video…

13:02
cover image
Blog - drupal

Adding pURL Multidomain XMLSitemap

On a recent project, we had to create multiple sitemaps for each of the domains that we have setup on the site. We came across some problems that we had to resolve because of the nature of our pURL setup.

On a recent project, we had to create multiple sitemaps for each of the domains that we have setup on the site. We came across some problems that we h...

Comments
cover image
Blog - devops

Drupal 8 Development in Docker - Redux

Back in December, Tom Friedhof shared how we set up our Drupal 8 development and build process utilizing Docker. It has been working well in the several months we have used it and worked within its framework. Within the time-span however, we experienced a few issues here and there which led me to come up with an alternative process which keeps the good things we like and getting rid of/resolving the issues we encountered.

Back in December, Tom Friedhof shared how we set up our Drupal 8 development and build process utilizing Docker. It has been working well in the sever...

Comments
cover image
Blog - drupal

10 Things Every Jr. Drupal Web Developer Needs to Know

The web development community can have a long list of requirements, languages, frameworks, constructs and tools that most companies or bosses want you to know.

The web development community can have a long list of requirements, languages, frameworks, constructs and tools that most companies or bosses want you...

Comments
cover image
Blog - drupal

Writing custom fields in Drupal 8 - Part 2

Continuing from Evan's blog post on building pages with Paragraphs and writing custom blocks of content as fields, I will walk you through how to create a custom field-formatter in Drupal 8 by example.

Continuing from Evan's blog post on building pages with Paragraphs and writing custom blocks of content as fields, I will walk you through how to crea...

Comments
cover image
Video - drupal

Drupal 7 vs Drupal 8

Which version of Drupal should you build your site on, Drupal 7 or Drupal 8? This question comes up quite frequently, and for good reason! Your website is an investment and could be serving you for the next 3-5 years. It's important to weigh the pros and cons of choosing to build on Drupal 7 or Drupal 8. If you're thinking about building your new site on Drupal 7, you need to watch this video first. Drupal 7 adoption is going down, with Drupal 8 adoption going up. Drupal 8 should hit critical mass by the end of 2016.

Which version of Drupal should you build your site on, Drupal 7 or Drupal 8? This question comes up quite frequently, and for good reason! Your websit...

5:32
cover image
Blog - drupal

Writing custom fields in Drupal 8 - Part 1

On a recent project we had to create a section that is basically a Twitter search for a hashtag. It needed to be usuable in different sections of the layout and work the same.

On a recent project we had to create a section that is basically a Twitter search for a hashtag. It needed to be usuable in different sections of the ...

Comments
cover image
Blog - drupal

Going back to Drupal, it's fun again!

Actually, we never left. We didn't stop building Drupal sites, even through the long release cycle. However, we did move our company website, activelamp.com, off of Drupal about 18 months ago. Our company site had been built on Drupal since the Drupal 4.7 days. That was back when it started to become uncool to write and maintain your own home-grown CMS. I eventually found Drupal, ditched my custom CMS, and never looked back. Our site started on Drupal 4.7, upgraded onto Drupal 5, then Drupal 6, and also Drupal 7 all at the beginning of the release cycles of Drupal. About 18 months ago, when our site was in dire need of an update, we evaluated Drupal 8 but realized with no release date in sight, and the fact that we did not want to chase HEAD and develop on unstable API's, we decided to go a different route and build our updated site on Jekyll, a popular static generator. It's more fun to tinker with new technology when working on non-billable stuff, which is what we did. We brushed up on our Ruby skills and built out a Jekyll site (which is this site you're looking at if you're reading this blog post before Q3 of 2016). We're getting ready for another update to our company website and moving back to Drupal to do it. Jekyll was great, but it came with its disadvantages over something like Drupal. This post will highlight some of the advantages and disadvantages of working with Jekyll the past 18 months, as well as highlight why we're excited to put activelamp.com on Drupal 8 in Q3 of this year.

Actually, we never left. We didn't stop building Drupal sites, even through the long release cycle. However, we did move our company website, activela...

Comments
cover image
Video - drupal

Encapsulation, Inheritance, Polymorphism with Drupal Entities - SandCamp 2016

One of the best things to happen with the Drupal 7 release was the introduction of Entities. Drupal Entities have been around forever, but it seems like a lot of developers still refer back to using Nodes when creating content that requires more functionality than what Nodes give you out of the box. In this video, I talk about why it's a good idea to create your own Entities when the content you're adding requires extended functionality. I talk about the "what" and the "why" of Entities, not necessarily "how" to create an Entity. There are a bunch of resources already out there on the Internet for that. I talk about using the Entity API module, and defining your own Class for your custom Entities. This presentation was given at SandCamp 2016.

One of the best things to happen with the Drupal 7 release was the introduction of Entities. Drupal Entities have been around forever, but it seems li...

20:45
cover image
Blog - drupal

Adding CKEditor plugins to Drupal 8

Drupal 8 has greatly improved editor experience out-of-the-box. It comes shipped with CKEditor for WYSIWYG editing. Although, D8 ships with a custom build of CKEditor and it may not have the plugins that you would like to have or that your client wants to have.

Drupal 8 has greatly improved editor experience out-of-the-box. It comes shipped with CKEditor for WYSIWYG editing. Although, D8 ships with a custom b...

Comments
cover image
Video - drupal

Creating Layouts with the Layout Plugin Module in Drupal 8

Writing custom layouts using the Layout Plugin module for D8 is really easy. This video will outline how to create a new layout in your theme using Foundation 6 as the base theme and how to extend the layout to add custom classes and id.

Writing custom layouts using the Layout Plugin module for D8 is really easy. This video will outline how to create a new layout in your theme using Fo...

7:34
cover image
Video - drupal

Page Manager, Panels, Context - SandCamp 2016

Panels, is one of the most mis-understood modules in the Drupal eco-system. Drupal developers seem to either love Panels, or hate it with a passion. Most of the time, when I begin to unwrap why people do not like Panels, it is mainly a misunderstanding of what makes Panels so powerful, Page Manager. In this video, presented at SandCamp 2016, see a mock sports league built out with the Node system and Field system that includes various relationships between the different node types. Watch, as we realize the entity relationships we create through the Field UI through the page manager UI. Lots of power in this suite of tools.

Panels, is one of the most mis-understood modules in the Drupal eco-system. Drupal developers seem to either love Panels, or hate it with a passion. ...

39:53
cover image
Video - drupal

Composer Manager in Drupal 7 and Drupal 8

This video will take you through the correct way to use composer dependencies in Drupal 7 and Drupal 8 using the Composer Manager module. This video part 2 to the PSR video we did last month, that shows how to write a views handler using PSR-4 class autoloading (http://activelamp.com/videos/psr-4-class-autoloading-with-drupal-7). At the end of the PSR-4 video, I pulled in a composer dependency not using Composer Manager. This video will show you the correct way to use Composer with Drupal.

This video will take you through the correct way to use composer dependencies in Drupal 7 and Drupal 8 using the Composer Manager module. This video p...

21:14
cover image
cover image
Video - drupal

Sandcamp 2016 Highlights

1:08
cover image
cover image
Blog - devops

Creating a deployable Docker image with Jenkins - Part 4

This post is part 4 in the series ["Hashing out a docker workflow"]({% post_url 2015-06-04-hashing-out-docker-workflow %}). For background, checkout my previous posts. My previous posts talked about getting your local environment setup using the Drupal Docker image with Vagrant. 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. 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, as I've mentioned in a previous post.

This post is part 4 in the series ["Hashing out a docker workflow"]({% post_url 2015-06-04-hashing-out-docker-workflow %}). For background, checkout m...

Comments
cover image
cover image
Blog - devops

Our build process using Drupal 8

Now that the release of Drupal 8 is finally here, it is time to adapt our Drupal 7 build process to Drupal 8, while utilizing Docker. This post will take you through how we construct sites on Drupal 8 using dependency managers on top of Docker with Vagrant.

Now that the release of Drupal 8 is finally here, it is time to adapt our Drupal 7 build process to Drupal 8, while utilizing Docker. This post will t...

Comments
cover image
Video - drupal

Visual Regression Testing with Shoov.io

11:50
cover image
Blog - drupal

Visual Regression Testing with Shoov.io

Shoov.io is a nifty website testing tool created by Gizra. We at ActiveLAMP were first introduced to Shoov.io at DrupalCon LA, in fact, Shoov.io is built on, you guessed it, Drupal 7 and it is an open source visual regression toolkit.

Shoov.io is a nifty website testing tool created by Gizra. We at ActiveLAMP were first introduced to Shoov.io at DrupalCon LA, in fact, Shoov.io is bu...

Comments
cover image
Video - drupal

Video Tutorial - Drupal to Ember without Saving

13:06
cover image
Blog - devops

Docker: A Minimalist's Choice

A little over a year ago the ActiveLAMP website had undergone a major change -- we made the huge decision of moving away from using Drupal to manage its content in favor of building it as a static HTML site using Jekyll, hosted on Amazon S3. Not only did this extremely simplify our development stack, it also trimmed down our server requirements to the very bare minimum. Now, we are just hosting everything on a file storage server like it's 1993.

A little over a year ago the ActiveLAMP website had undergone a major change -- we made the huge decision of moving away from using Drupal to manage i...

Comments
cover image
Blog - drupal

Drupal to Ember without Saving

Running headless Drupal with a separate javascript framework on the front-end can provide amazing user experiences and easy theming. Although, working with content editors with this separation can prove to be a tricky situation.

Running headless Drupal with a separate javascript framework on the front-end can provide amazing user experiences and easy theming. Although, working...

Comments
cover image
Blog - devops

Setting up a Docker development environment with Vagrant - Part 3

This post is part 3 in the series ["Hashing out a docker workflow"]({% post_url 2015-06-04-hashing-out-docker-workflow %}). For background, checkout my previous posts. Now 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 "workable". In this post we will we will build on top of what we did in my last post, [Docker and Vagrant]({% post_url 2015-07-19-docker-with-vagrant %}), and create a working local copy that automatically updates the code inside the container running Drupal.

This post is part 3 in the series ["Hashing out a docker workflow"]({% post_url 2015-06-04-hashing-out-docker-workflow %}). For background, checkout m...

Comments
cover image
Blog - drupal

Drupal 8 - First Experiences

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

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

Comments
cover image
Blog - devops

Docker with Vagrant - Part 2

This post is part 2 in a series of Docker posts hashing out a new docker workflow for our team. To gain background of what I want to accomplish with docker, checkout my previous post [hashing out a docker workflow]({% post_url 2015-06-04-hashing-out-docker-workflow %}). In this post, we will venture into setting up docker locally, in the same repeatable way from developer to developer, by using Vagrant. By the end of this post, we'll have Drupal running in a container, using Docker.

This post is part 2 in a series of Docker posts hashing out a new docker workflow for our team. To gain background of what I want to accomplish with d...

Comments
cover image
Blog - drupal

How to Use Picture and Image Replace for Drupal 7

The Picture module is a backport of Drupal 8 Responsive Image module. It allows you to select different images to be loaded for different devices and resolutions using media queries and Drupal’s image styles. You can also use the Image Replace module to specify a different image to load at certain breakpoints.

The Picture module is a backport of Drupal 8 Responsive Image module. It allows you to select different images to be loaded for different devices and ...

Comments
cover image
Video - drupal

DrupalCon Los Angeles 2015 Highlight

1:17
cover image
Blog - drupal

Customize autocomplete fields with results you want

<p> Occasionally a node reference or entity reference autocomplete widget will not operate as expected, specifically when it is based off a view reference display.<!--more--> Other widgets, the select box, or list of checkboxes, will still function correctly. </p> <p> This will happen if the view is depending on a contextual filter (an argument), but is not being provided one. Normally a view can try to automatically fill in the argument if one is not provided based on the current page url. If the view fails to receive an argument and is unable to infer its value from the url path then it will fail to provide any results. </p> <p> Outlined below is a possible scenario that would cause an autocomplete node reference field to fail. </p>

<p> Occasionally a node reference or entity reference autocomplete widget will not operate as expected, specifically when it is based off a view refer...

Comments