Introduction
Craft next steps, Discord, Migrating to Craft, and more
It's been an active couple weeks in the Craft CMS world. The inaugural Dot One conference is a wrap. The Craft Slack group has been replaced by Discord. Plus, we have glimpses of future Craft releases.
Migration from other CMS’s to Craft CMS seems to be a theme. In addition to this old chestnut, be sure to check the links in the Perfecting Your Technique section. Also, there are new plugins that you'll want to check out.
Thank you to this issue's sponsors. They keep the newsletter going.
FFFields, i.e. fabulous front-end forms, is the new plugin from the creator of Spoon. Learn about it here.
Solspace Freeform has new guides for getting up and running quickly. Check them out here.
Let's hit the links.
-John Morton
Top Stories
Future of Craft: Brandon’s slides from DotOne
DotOne, the one-day Craft CMS conference in Melbourne held on Feb 5 is over. We're left with a couple of Slidedecks as evidence of the happening. Flipping through Brandon's keynote slides offers some treats:
- Plugin developers have made $288,000 so far in the Craft Plugin Store
- 90% of new Craft projects run Craft 3
- The team is hard at work on Craft 4
Join the Craft CMS community on Discord
The Craft team decided to move to Discord and "has replaced the Slack workspace." So long, Slack!
Only 1 day after the move, there were already over 1000 members in the Craft Discord community.
If you've not joined the Craft Discord community yet, get started at https://craftcms.com/discord. Once you’re using Discord, check out Decent Discord, a theme from former Craft Slack users trying to ease the transition from one platform to another.
Future of Craft Commerce - Speaker Deck
Luke Holder's slides from DotOne are spare, meant as a visual accompaniment to his talk, but flip through them for hints at what's to come in Commerce 3. If you want more details on Commerce, be sure to listen to the Foster Commerce interview with Luke in the News section below.
News
Craft 3.1.11 released
The Craft 3.1.x updates have settled into a more regular rhythm. More tweaks. Fewer new things. One addition of note from version 3.1.9 is the disabledPlugins
in the config file.
Luke Holder: New Features of Commerce Pro and Lite + What’s Next
This is the Foster Commerce interview mentioned earlier in the Top Stories section.
@pixelandtonic/craftui - npm
This collection of components and styles is designed to be used across Craft apps. It's already in use in Vue components on plugins.craftcms.com, id.craftcms.com, and the in-app Plugin Store.
This repo is not a high profile release, but when it came up in Slack, Brandon said that this library would gain more use internally in 3.x, 4.x, and in 5.x. The plan is to entirely "replace Garnish in Craft 5." In Craft 5, the control panel is planned to be a Vue single page application.
New Preferred Hosting Provider: Media Temple
As a preferred Craft hosting provider, the Media Temple teams have extensive Craft knowledge and an open line to the Pixel & Tonic team to escalate and resolve issues quickly.
Featured Sponsor

Fabulous front-end fields for Craft
FFFields gives you a complete toolkit to create fabulous front-end forms and dashboards. You can hook up your fields to Craft via the awesome CraftQL plugin or roll your own solution.
Built with Vue.js and Tailwind CSS to render the front-end, FFFields uses the fields you have already defined in Craft and handles the validation requirements you have set too.
You can find FFFields in the plugin store for $59.
Tools, tips, and fundamentals
A word about backups
Nevin Lyne (the person behind Arcustech,) and Andrew Welch shared some great tips is a #devops discussion on backups that are worth mentioning here again.
From Nevin:
The first rule of backups is to have more than one type, through the use of different technologies. Disk snapshots, file/db level off server, and off-site/different vendor backups. The more important the data is, the more unique forms/locations of backups should be made, within reason of course, that you monitor and possibly even test recovery on a schedule, again within reason based on the importance of the data.
From Andrew:
You need to do recovery dry runs so that when the 💩hits the fan, you: 1) Know what you need to do 2) Know all of the data you need to restore is properly backed up
Also, check out Andrew's post on backups if you've missed that or need a refresher.
As of Craft 3.1, volumes.php unneeded
Brandon recently said "volumes.php
isn't needed anymore in Craft 3.1 thanks to CP settings now supporting environment variables when appropriate. If you still want a volumes.php
, at least switch from getenv('VAR')
to '$VAR'
"
He went on to add, "only the settings that support environment variables in the CP will also support the '$VAR'
syntax... there's no reason not to use a volumes.php
file (we aren't deprecating it, at least as of now)... just not as much of a reason to do it anymore."
Webpack v5 changelog
Did you make it from Webpack 3 to 4? The current version of Webpack is still in the 4.x branch; we're at version 4.29.3 as I write this. The link above is to the 5.0.0-alpha.10 branch. The deprecated pieces in Webpack 4 will be removed in version 5.
How to connect to databases on Forge via an SSH tunnel on your local machine
In addition to the link above from Starting Craft, check out this StackExchange post on making a tunnel to access your database on another server.
Craft CMS full page caching with Blitz on Laravel Forge
This brief guide walks through setting up the Blitz plugin on your Craft site. 🚀
Developing in Docker: HTTPS FTW
Matt Gray has shared this post on transport encryption that’s more of an appendix to his Docker series rather than a formal chapter.
Logging from Craft CMS in Docker
Here's another appendix-style post to Matt's Docker series. This time the topic is logs. Everyone needs a log.
A Craft CMS Development Workflow With Docker: Part 6
Matt is back with Part 6, the next major chapter in his Docker saga.
2.0.0 — Homebrew
The most significant changes since 1.9.0 are official support for Linux and Windows 10 (with Windows Subsystem for Linux), brew cleanup running automatically.
A quick introduction to command-line development with Composer
Matt Stauffer shares tips on incorporating Composer into your workflow.
Chrome 73 in DevTools: Logpoints
Use Logpoints to log messages to the Console without cluttering up your code with console.log() calls.
Perfecting your technique
Challenge #7 – The Josephus Problem
This Craft Coding Challenge tackles The Josephus Problem. The video Ben links to describing the Josephus Problem also provides an overview of the thinking process needed to solve these types of problems.
Migrating a Website to Craft CMS | CraftQuest
This video from CraftQuest kicks off a series of links involving migrating to Craft from other CMS's.
Migrating Content from ExpressionEngine to Craft
Sean Smith from Caffeine Creations discussions moving his photo blog from EE to Craft.
CMS Upgrades & Migrations, Part 2
This episode of CTRL+CLICK CAST tackles "the technical planning, gotchas and QA of CMS upgrades and migrations."
Sponsor

User Registration Forms in minutes!
Freeform allows you to easily create and manage beautiful user registration forms in only minutes! Enhance your forms with 1-click to enable AJAX, set conditional field logic to show and hide fields, confirm emails and passwords, add reCAPTCHA and send custom email notifications! Pair with Freeform Payments and you can even accept one time or recurring subscription payments for membership! Leave the heavy lifting to Freeform!
Plugged In
New Craft Plugins on Twitter
There's a new Twitter account just for plugin announcements. Follow along.
Webperf
Webperf uses Real User Measurement (RUM) captured anonymously from actual visitors to your website to profile its performance. In this way, Webperf passively gathers and monitors how your website performs on real-world devices used by real-world users. (This looks very cool.)
Afterpay gateway for Craft Commerce 2
The plugin provides an Afterpay gateway for Craft Commerce v2.x.Inspired by presentations from Luke Holder and Josh Crawford at DotOne I reimplemented a custom EE gateway for CraftCommerce 2 in a few hours.
Batch PDF Export
Batch PDF Export allows Craft Commerce users to export multiple order PDFs in batches, as one big PDF. It includes support for multiple templates.
Kint for Craft 3
Kint is an interactive debugger for PHP applications and includes full Twig support.
Grid for Craft
Grid is a field that lets content editors lay out content connected through matrix and other relation fields (entries, assets, etc.). Grid lets you define CSS grid rules for different layout breakpoints, and lets editors optimize content layout for different screen sizes.
It’s not Craft, but it’s interesting.
Instant Page
Before a user clicks on a link, they hover their mouse over that link. When a user has hovered for 65 ms there is one chance out of two that they will click on that link, so instant.page starts preloading at this moment, leaving on average over 300 ms for the page to preload.
Sheety - Turn your Google Sheet into an API
Power websites, apps, or whatever you like, all from a spreadsheet. Changes to your spreadsheet update your API in realtime.
Google Docs API
Many of the features that make Google Docs so successful are available through the API. This API lets you read and write documents programmatically so that you can integrate data from various sources leveraging the power of Google Docs.