Drupal & Backdrop Blog

In Loving Memory of Michael Lampton

For those of you close to me, you know that my father passed away recently.

He was such a fun, loving, joyous, and optimistic person, and I was so very fortunate to have such a wonderful father. I can't help but feel that the world is worse off without him.

We were lucky enough to get a few extra weeks with him at the end of his life, and he was able to say some goodbyes. He was surrounded by loving family when he left us.

Backdrop CMS configuration files and Git: The versioned staging approach

There are lots of different approaches to managing Backdrop CMS configuration files in Git, but this one is my favorite. It works great for projects with multiple developers, and it can also be easily adapted for multiple deployment environments, as on Pantheon.

This versioned staging directory strategy has been adapted from a recommendation from @populist and @davidstrauss based on how the config directory is being managed for Drupal 8/9/10 on Pantheon.

Choose one: Manual updates for Backdrop CMS, or the Pantheon upstream

One of the benefits of hosting a website on Pantheon, is that the dashboard can notify you when there are available updates for the core code of your CMS (Backdrop CMS, Drupal, or WordPress).

Pantheon does this by comparing the code you are running on your own website, to the latest available code in the matching Pantheon "upstream". For Backdrop CMS websites, the Pantheon "upstream" is the backdrop-pantheon repository on GitHub.

When your Pantheon dashboard shows that there are updates available for your site, it has noticed that your code is no longer identical to the code located there.

The yellow Apply Updates button on the Pantheon dashboard.

How to run Let'sEncrypt SSL certificates on Name Cheap shared hosting

NameCheap hosting will promise you "Free SSL" when you sign up for hosting, but it's a trap. What you get is actually the first year free, for a certificate that will cost you $9/year, plus all the frustration and developer time to manage renewals of that SSL certificate.

Let’sEncrypt, on the other hand, provides always-free SSL certificates. Many modern web hosting providers include SSL certificates from Let’sEncrypt, by default, with your new hosting plans.

Until NameCheap decides to get with the program, we'll need to manually configure our hosting accounts there to use Let’sEncrypt certificates, which can be a but of a pain. Here's how I did it for one of my sites recently.

Get access to the server

In order to install the certificate on the server, you will either need ssh access, or to run the "Terminal" application from within cPanel. You can find it in the "Advanced" section.

A sustainable development workflow for patching Backdrop CMS

If you've been working with Backdrop for a while, you'll notice that sometimes, a particular module, theme, layout template (or sometimes even Backdrop core) doesn't quite work right - or - perhaps it just doesn't quite work the way you'd like it to for your particular project.

Fortunately, this is the world of open-source, and you are most likely not the first person to have this concern. Your first line of attack should always be to search the issue queue for the project and see if someone else has already fixed this problem for you (or added the new feature). Quite often, you'll find that they have, and there will be a Pull Request (PR) linked from the issue containing the necessary changes to the code.

Once an issue has a PR on GitHub, it's easy to create a patch for your own site by adding .patch to the end of the URL.

How to Update a local copy of a Backdrop site hosted on Pantheon

Today I need to make some updates to one of my Backdrop CMS websites that hasn't been worked on for in a while. This site is hosted on Pantheon. Since I haven't written about how I update my local site before, I thought I'd take the time to document it today. I hope someone finds this helpful :)

Note, the instructions here assume the site is using my configuration management workflow for Pantheon hosted websites.

Get recent copies of everything

I always start by grabbing a fresh copy of the 1) code, 2) database, 3) files and 4) configuration files.

To pull down any recent changes to the code (1), I use the Terminal to navigate to where I keep the code for this site on my local computer, and type 'git pull'.

Using MAMP for local Backdrop CMS development

I use MAMP for my local Backdrop development on MacOS.

If you would like to do the same, first download the most recent version of MAMP and install it locally. When you are done, you should have directories for both MAMP and MAMP PRO in your /Applications directory.

To run the application, double click MAMP.app inside the MAMP directory. Once it's up and running, you should see a MAMP widget with a cute elephant icon.

Let's start by adjusting the preferences. I like to run MAMP on the standard ports for Apache and MySQL. MAMP provides it's own ports, and by default uses these instead.

How to add back the Git history, when you forgot to clone

When porting modules from Drupal 7 to Backdrop CMS, it's natural for people to download the Drupal project as usual, and then start to make changes to the code so it will work for Backdrop. When they have got a working Backdrop version of the module, they are often inclined to contribute it back to the Backdrop community -- which is great!

One of the three minor requirements for a ported Drupal project to be included in the Backdrop contrib-group is that the Git history be included from the Drupal project.

The most important reason we want to keep the history is because we want all the Drupal contributors to get credit for all the hard work they have done on the project. Keeping the history can also make it easier to cross-port fixes from the Drupal project, or even maintain both projects at the same time.

How to move your Backdrop site to Pantheon

When moving from traditional web hosting to managed platform-specific hosting providers like Pantheon, there are often a few tricks you'll need to work around. In this post I'll be documenting the steps necessary to move an existing website onto Pantheon.

Step 1: Create a new website on Pantheon

As someone who manages dozens of websites, I love Pantheon's upstreams. Whenever there is a security update for Drupal core or for Backdrop core, the provided one-click core update saves me a lot of time. Whenever I start a new Pantheon project or moving an existing site onto Pantheon, I want to start from an upstream.

I'll start by creating my site from Backdrop's Pantheon upstream.

I also like to run the installer to get a working Backdrop site (you'll see why later). I will replace various parts in the steps that follow.

How to choose a Pantheon Plan

Part of my job as a developer is making website hosting recommendations to my clients. To create a list of recommendations, I determine the appropriate plan for the website (or websites) we're working with, and present the options to my client. In order for them to make a decision based on these recommendations, each option needs to include an associated cost.

Since most of my clients are small businesses (with less than 5 employees, in many cases only 1), educational institutions, non-profits, or otherwise operating on a tight budget, they need to know what the cost will be head of time, and they need the ability to reject the recommendation if it is too expensive.


© 2024 Jeneration Web Development