Introduction
Craft Link List 86: A peek at #craftcms 3.2, tips, plugins and more.
Welcome to another edition of Craft Link List. The content comes from the Craft community. If you've got a link to share, head over the submit a link page.
This issue brings news of Craft acquiring a popular third-party plugin and making it free for everyone. The Craft 3.2 alpha is out and showing some promising new features. There are more links to great Craft tips and plugins too.
Thank you to this issue's sponsors.
Dot All 2019 is official. Mark your calendar for Sept 18-20 in Montreal. Tickets go on sale this week. Get details here.
Solspace Calendar is the battle-tested solution to create events in Craft, from simple to complex. See its extensive feature list here.
And thanks to Jalen Davenport for help on this issue!
Let’s hit the links.
-John Morton
Top Stories
Craft CMS Acquired Feed Me
Making importing content into a content management system as easy as possible can only make it easier to adopt.
Feed Me has been the go-to solution when importing content into a Craft site, but it came with a price tag. Not anymore. The Craft team has bought it and it’s now a free first-party plugin. It’s also got an awesome new logo.
News

Craft 3.2 alpha developments
Craft 3.2 is still in alpha but it contains some noteworthy updates.
A new export feature allows you to choose entries in the control panel and choose the export format. See the screenshot above. With the Feed Me acquisition, Craft CMS will now have full import/export functionality.
Have you wanted a more flexible table field? Table fields can now have dropdowns.
Craft 3.2 also replaces the infinite scrolling behavior of listings in the control panel with pagination. 🎉
If you want to try the alpha release for yourself, just update your package setting as mentioned here.
Native image lazy-loading for the web
Chrome 75, which is not yet released, will support native lazy-loading. The loading
attribute will also accept “eager” to specifically tell a browser an image should be loaded ASAP.
You can use Javascript to test for feature support.
if ('loading' in HTMLImageElement.prototype) alert("yes"); else alert("no");
If you’re asking yourself how this affect the popular vanilla lazyload script, there’s a link for that too.
New York Craft CMS Meetup with Brandon Kelly
If you’re near NYC on May 9, there’s a Craft CMS meetup at the Happy Cog office to add to your calendar. Brandon will give a presentation. RSVP to provide the hosts with an accurate headcount.
Featured Sponsor

Dot All 2019
Join the Craft CMS community September 18-20, in Montréal for the third annual Dot All conference. Experience great presentations, hands-on workshops, and meet other members of the Craft community from all over the world at the official Craft developers conference.
Tools, tips, and fundamentals
Breadcrumb created from URL for Craft CMS
This “breadcrumb” component template will automatically create a breadcrumb link for each segment in the URL. Read the post on Craft Snippets for full details.
Can’t execute a ./craft command?
If you're relatively new to the command line, trying to execute the ./craft
command may give you an error; it's possible that craft
is not an executable file in your file system. The following command will make it executable.
chmod +x craft
h/t to Jalen
Test for empty RichText field
Rich text fields that have had their content manually erased may still contain <p><br></p>
in some instances. How do you then test for an "empty" field when it actually contains some content?
Tip: Buying license for your clients
Andrew had a great suggestion in Discord for how you can buy Craft CMS and plugin licenses for your clients.
Create a CraftID for your client and allow them to manage their licenses. You can buy everything initially, and then before the handover, transfer the licenses to their CraftID.
PhpStorm Auto-Complete for Craft CMS Templates
On CraftQuest, Ryan shows how to enable auto-completion in your Craft CMS 3 Twig templates in PhpStorm.
Craft 3 native cookies 🍪
In the previous issue, there was a link to a post from Andrew about not needing plugins. He tweeted an example describing how you might not need his own Cookies plugin when you use his Craft native macro.
Throw an exception in local dev
With Craft CMS >= 3.1.18, you can put it in "hard mode" via config/app.php
. Useful when converting a site from Craft 2 to Craft 3.
h/t Andrew
Perfecting your technique
How Craft’s project config works, deeper dive. ⭐️
Did you read Ben’s project config post in the previous issue? This post is a follow-up piece that dives deeper into the topic and includes important information for plugins and plugin migrations.
Best developer-oriented Craft CMS plugins
Piotr Pogorzelski from Craft Snippets shares a list of plugins that “don't add any new features to a website”, but as a developer, you may want to have them on hand.
Craft CMS: Building Complex Queries by Extending the ElementCriteriaModel
This is an older post for Craft 2. If you're on Craft 3, element queries allow you to create complex queries, as shown in the documentation.
How Service APIs Work - Craft Plugin Development In-Depth
Ben continues his journey through a plugin's internals. This time he focuses on how Service APIs work. If you’re a CraftQuest subscriber, add this to your watch list.
Migrating Data from a Custom Application to Craft with Feed Me
For CraftQuest subscribers: Ryan walks through an example of moving data out of a custom PHP application and into Craft via a custom Laravel mini application and Feed Me.
Creating an API with Twig
Jake Dohm shows you how to make an API endpoint using only Twig, no Element API plugin required.
Sponsor

Powerful Event Management with Solspace Calendar!
Calendar is the most reliable and powerful event management and calendaring plugin on the market for Craft. The intuitive interface allows you to create events with complex recurring event rules and exclusions, while the flexible templating offers a variety of options to satisfy your calendaring needs.
Stop wasting valuable development hours wrestling with and tuning Craft Entries or other alternatives. You can trust Calendar (and the team behind it) to deliver the quality and support you expect and deserve.
Plugged In
User Initials Photo
This plugin assigns users with an automatically-generated image using their initials after registration.
Redirect for Craft 3
Craft 3 redirect plugin provides an easy way to enter and maintain 301 and 302 redirects and 404 pages. The plugin offers a clear user interface for admin and non-admin users. This git repo is a fork of this version of the plugin.
Sidebar Entry Types
Expandable entry types in the sidebar. With this plugin, you can click to expand and filter entry types in Channels and Structures.
User Manual
Craft User Manual allows developers (or even content editors) to provide CMS documentation using Craft's built-in sections (singles, channels, or structures) to create a User Manual or Help section directly in the control panel.
Hasura for Craft
This plugin allows you to use your Craft CMS users and groups to generate JWTs to authenticate against your Hasura API, allowing your API content and user authentication to live in two separate services, ensuring your GraphQL API can scale and your Craft CMS site can continue to evolve.
Element Map
This plugin adds a widget to the sidebar of full-page element editors that allows content administrators to see, at a glance, the relationships between elements.
Craft reCAPTCHA 3
Verifies via Google the site and secret codes required to verify humanity through reCAPTCHA v3.
Element Lists
Built for large relation sets, Element List provides content publishers a filterable, table based view to related elements.
Postie
Postie is a Craft Commerce plugin to provide your customers with real-time shipping costs from your preferred provider.
The Craft Advantage
Overheard
Glimmering Podcast: A Dramatic Turn of Events!
Leslie announces he's left the Craft team but that hasn’t changed his POV on Craft and the team behind it. Hear him talk about his journey on this episode of Glimmering Podcast. Good luck on the next adventure.
It’s not Craft, but it’s interesting.
SVGOMG - SVGO's Missing GUI
SVGO is a command line tool that will minify your SVG drawings. It doesn't have a graphical user interface, but this site provides one so you can see the results of what you're doing before you save your SVG.
Recovering a Deleted Branch in Git
“Oh no! What did I just do?” doesn't always have a fix, but when it comes to Git, a reference might save the day or at least the branch.
Browser DevTools Secrets: Start-up, Network and Performance
DevTools could have their own newsletter.
Oh God, It's Raining Newsletters
In case you do create a DevTools newsletter, this article lists a bunch of Newsletters-as-a-Service providers but leaves out Curated, which this newsletter is managed with. It's good though, so check it out too.