Courses
Lessons
Livestreams
Topics
Quests
Contact Support
Community
Get Help with Your Project
About CraftQuest
16
87
93
Follow along as Ryan upgrades a real project to Craft CMS 5. During the upgrade, we migrate from Redactor to CKEditor, upgrade PHP, migrate from MariaDB to MySQL, and merge some fields.
In this course, we'll teach you how to configure and set up a project similar to what you'll see in the real world.
Learn Craft CMS in under an hour.
A collection of material on what you need to do to prepare your existing projects and plan new projects for Craft CMS 5.
Get familiar with the new features in Craft 5 with this video guide.
Craft 4.5 introduces a handful of helpful features and functionality. Get informed with this short video course!
A full rundown of the notable new features in the upcoming Craft CMS 4 release. Conditional fields, element index filtering, collections, and more.
Ryan walks through some of the most important features of Craft 3.7 (now in beta).
Ryan turns on the recorder and gives a real-time look at updating a Craft CMS 2 site to Craft 3.
Andrew is updating an older Craft 3 sites to use modern web development tools.
A full run-down on the most popular features coming in Craft 3.5, including GraphQL mutations and the new Field Layout Designer.
Before you throw a bunch of content at Craft, stop for a minute and learn how to approach content and Craft together.
Craft is a powerful and flexible CMS that takes a content-first approach. Need a primer on using Craft before embarking on your first site build? This course is for you.
Ryan looks at the most important new features in Craft 5.3.
How to use the new CKEditor plugin to embed entries for a simple, longford content field. No Matrix needed.
In Craft 5, the control panel now has a collapsible side navigation. In this short lesson, we create a Craft module to ensure the sidebar defaults to collapsed while still respecting any changes to it.
With the Craft 5 beta out, it's time to take a tour of the changes to the Craft 5 control panel. We'll look at visual updates, content authoring changes, and configuration changes in Settings and Utilities.
A first look at the Code Field plugin/field type by Nystudio107.
Ryan walks through his process of converting categories and tags to entries using the entrify console command in Craft 4.4+.
What's new and what's changed in Craft 4.4? This video covers some of the highlights of the latest release of Craft 4.
How to add custom favicons, Apple touch icons, Android icons, and all icons to the Craft CMS Control Panel.
Ryan takes a look at some of the new features in Craft 4.3, including authoring experience improvements, and new time global variables.
Ryan fires up a local project and tries out the Entity Diagrams plugin by Springworks. It allows you to create a diagram of how your site's elements and fields are structured and connected. This could be very useful for auditing projects!
Ryan shows how quickly you can get a new project set up locally with a Docker-based starter project.
A little helpful utility in Craft 3.7.40 will help you decide if you can upgrade to Craft 4.
What you can do now to prepare for the Craft 4 release in Q2 2022.
Build a Craft CMS entry form using Vanilla Javascript, GraphQL mutations, and HTML.
By default, a multi-site Craft installation allows control panel access via every site domain. In this lesson, we disable that by enabling the cpBaseUrl setting in Craft CMS.
How to set up the first-party Contact Form plugin to dynamically support a subject line per multi-site site in Craft CMS.
Ryan walks through the hurdle you might face when trying to update to Craft 3.6 and how to fix your Composer file.
Ryan updates a CraftQuest course sample site from Craft 2 to Craft 3. Watch as he does the update and troubleshoots issues and challenges.
Composer 2 was recently released. Here's a snapshot of what's changed and how to update to the new version.
We use the Donation feature in Commerce to set up a simple donation page.
In this lesson we look at how you can install a Craft plugin from the command line.
We learn how to load fake seed data into Craft to make it easier to build and test layouts during the development process.
How to create a dynamic dropdown of years based on a start date. We learn about the range operator in Twig and how we can use it in different places to get the result we want.
We look at an approach to importing nested categories and entries from JSON using Feed Me while keeping the parent-child relationship in the categories.
Sometimes you want to get your Craft entries data into a different format so you can allow another application to use the data or migrate to another system.
We take a look at the changes coming in Craft 3.4 (now in beta).
How to build a user profile edit form in your Twig templates.
How to set up a front-end publish form that submits content into a Channel Section in Craft CMS.
An overview of how the new headless mode works in Craft 3.3 and later.
A short introduction to setting up and using the native GraphQL support in Craft CMS.
Craft 3.3 contains new features that make it easier to use Craft as a headless CMS. Jump in and see what's new!
Your short guide to what's new in Craft 3.2.
Export all of your elements (entries) or just those in a particular section. Learn how to use this new feature in Craft 3.2.
Admin users have had the ability to log in as and impersonate another user in the system. Now that permission is available outside of admin accounts. Here's how to use it.
Ryan connects Craft and Google Sheets together using FeedMe to populate a 1000 row spreadsheet of employee data into a Craft CMS section.
Ryan covers two more new features coming in Craft 3.2: preview targets and propagation method.
Ryan teaches how to protect your sensitive credentials using Environment Variables.
Learn about element index page pagination, fetching elements across all sites, and a dropdown field in a Table column.
How to enable auto-completion in your Craft CMS 3 Twig templates in PhpStorm.
How do I run Craft and plugin updates on a version-controlled project? Very carefully and slowly.
In this lesson we building a single entry navigation to navigate between entries in a section.
How to use Craft's reference tags to reference elements from within entry fields.
Ryan walks through how to generate URLs in Craft and Twig using Craft provided functions.
A first look at the new Pixel & Tonic first-party Craft plugin called Webhooks.
Laravel Forge makes it easy to provision PHP application servers. Here's how you can get a multi-site Craft 3 site up and running on a Forge-provisioned server.
What you need to know about soft deletes in Craft 3.1, including how they work.
We celebrate Thanksgiving by creating a Turkey Trot race event website using Craft CMS and Craft Commerce.
Learn three different ways to tell Craft which template or entry to show for the website homepage.
In a previous lesson we worked on how to build a simple search form. For this lesson we'll cover the building blocks for an advanced search form.
Do you want to test out the newest features of Craft? Here's how to install a Craft Dev Preview.
Ryan covers how to use the Project Config feature to easily migrate site settings (sections, fields, volumes, etc) between environments.
Learn how to use Advanced Element Queries in Craft to customize a query and, perhaps, improve performance.
Learn how to set up a custom query in Craft using craft.query().
What is eager loading in Craft CMS and how do we use it? Learn the fundamentals in this lesson.
We use the Craft-specific `group` filter to group together entries by commonly shared data.
In this lesson, we learn how to use the merge filter to combine two sets of data into one.
How to build a dynamic list of categories that shows the number of entries in each category.
Ryan walks through how to build a simple search feature in a Craft CMS website.
How to set up new Craft projects via Composer right inside of PhpStorm.
Two ways to use regular expressions in Twig and Craft. One native Twig, one just in Craft.
Let’s review the debugging tools available to us in Twig and Craft.
We step through how to switch a Craft assets volume from local to remote using Amazon S3.
In this lesson we look at how to quickly create a valid RSS feed in Craft.
We look at the ins and outs of using it to create navigation.
I refactor some code on CraftQuest so it uses a macro in a separate file instead of living in the template.
A few different ways you can selectively pass data in an include statement in Twig.
How to use a blocks collection to store and retrieve template code.
How to install and use Laravel Valet and use it to run Craft CMS 3.
Ryan walks through how to create a valid JSON feed for Craft using the Element API.
Learn how to protect your site by hashing your redirect parameters in Craft 2 and Craft 3.
As of Craft 3 you now have access to the Craft Service APIs right inside of your templates. Let's learn how it works.
Ryan teaches you how to install and set up Craft right from the command line. Bonus: installing plugins from the command, too!
In this lesson Ryan reviews how and why to use .all() in Craft 3 element queries.
How to use the batch filter instead of conditionals to control multi-column layout.
Twig include statements will automatically pass along data in the "active context" but how else can we pass data? Or prevent it? Ryan explains in this lesson.
Learn how to use the multi-site feature in Craft 3.
Ryan steps through how to upgrade a Craft 2 site to Craft 3.
How to enable and use the Yii Debug Toolbar in Craft CMS 3.
Ryan takes a quick look at the new image editor in Craft 3.
In this lesson Ryan shows how to use Composer to update Craft 3 Beta to the latest release.
A short lesson on how to install Craft 3 beta.
Installing Craft 3 beta requires Composer. This video will cover how to install Composer for use in Craft 3 (and anything else, really).
A short overview of the new features in Craft 3 (beta).
Ryan walks through how we can use translations in Craft to change the name of Singles to Pages and Structures to Nested Pages.
Build a JSON API for your Craft-powered website using the Element API plugin from Pixel & Tonic.
In this lesson we use the first-party Contact Form plugin to create a simple contact form in the Craft CMS.
We set up and configure both Google Cloud Storage and Amazon s3 so we can upload and serve assets remotely in Craft.
A special edition of the livestream with Brandon Kelly of Pixel & Tonic to talk about the wp-import tool for migrating WordPress to Craft CMS.
A look at the most important new features in Craft CMS 5.5.
Ryan and Andrew talk through the best new features in Craft 5.5.
Craft updates, plugin store reviews, and how to connect to an external database from Twig.
Andrew and Ryan show how to connect to an external database from Twig.
Ryan and Andrew discuss Craft 5 upgrades, Astro 5 beta, Dot One, automated form testing, and image transforms.
We covered the new features in Craft CMS 5.4 and then dived into the fundamentals of a Content Security Policy, and how you can set one up as a first level of defense against cross-site scripting attack attempts.
Learn the most important features in Craft 5.3 with demos and code examples.
Join Ryan Irelan with special guest co-host Lindsey DiLoreto to talk about the history of Craft CMS, from bootstrappy origins to thriving community.
Get updated on the latest changes in the Craft 5 beta, and Ryan walks through configuring a new project in Craft 5.
Andrew walks through element query caching and how it works.
Andrew walks through how you can use Craft's entry query caching for more flexibility and better performance of your Craft CMS Twig templates.
Andrew and Ryan give their thoughts and reactions to the Craft CMS Developer Survey.
Ryan and Andrew kick off the new year with updates on Craft 5 and SEOmatic.
Ryan and Andrew celebrate the holidays with a gift exchange.
A collection of some of the funniest moments from CraftQuest on Call in 2023.
Andrew and Ryan answer CraftQuest community questions, and talk about the pitfalls of doing work outside of your area of expertise.
Ryan and Andrew answer several questions from the community, and Andrews shows how you can create a database index for a custom field.
Andrew and Ryan recap Dot All and talk about what's coming in Craft 5.
This time we’ll talk about a faster way to do Docker locally, a recent exploit, Dot All 2023 in Barcelona, the upcoming Popover API, and questions from the community.
Andrew and Ryan go over the most important changes in Craft 4.5.
When you inherit a new Craft CMS project, there are several tasks you should consider to familiarize yourself with the project, its dependencies, and requirements.
We answer questions and share new stuff in Craft and modern web development.
Ryan kicks off the process of upgrading the NyStudio107.com website to Craft 4.
A description of the Upgrade Challenge between Ryan and NyStudio107.com
Google Analytics 4 is required on July 1, 2023. Here's what to do know.
We share our experience and thoughts on upgrading to Craft 4 one year after its release, how to approach upgrade clients sites, and more!
Brandon Kelly joins the livestream to talk about the new version of the CKEditor plugin.
Ryan and Andrew discuss AI, Laravel Collections in Craft, upgrading CraftQuest, asset transform generation, and more!
Astro, Craft Coding Challenge, Mutagen, and more!
In this week's livestream, Ryan and Andrew cover the changes coming in Craft 4.4.
Ryan and Andrew use Generator to create a plugin and module.
Ryan and Andrew take a first look at Craft Generator and discuss whether AI is coming for developers.
Andrew gives an overview of VitePress for publishing documentation, and we answer questions from the community.
Andrew shows a handy trick for more easily re-ordering Matrix blocks in Craft CMS.
Use Twig code in your asset upload path settings field to create dynamic subpaths using related entries.
Learn tips and tricks of effectively using the Craft CMS control panel.
Ryan and Andrew answer questions about Craft CMS and modern web development and look at a new code editor field in Craft CMS.
Ryan and Andrew answer as many questions as possible during the one-hour livestream.
A panel of guests joins Ryan and Andrew to discuss the Dot All 2022 conference and announcements on Craft Cloud, Craft CMS, and more.
How to use the new fluent model config settings in Craft 4.2+
Ryan and Andrew return from a summer hiatus and cover Craft CMS 4.2, changes in Git Tower, and more!
Is it possible to protect assets with a login?
Andrew shows off the element auto-refresh in Craft 4, using the BroadcastChannel interface.
Ryan demonstrates the many appearances of the new condition builder in Craft CMS 4.
Some of the most important features in the 2022 release of Craft 4.
We share how CraftQuest was built and Ryan considers Andrew's improvement suggestions.
Ryan and Andrew talk about when to use multi-site in Craft CMS.
Ryan and Andrew upgrade a site Craft 4 live on the air.
Ryan and Andrew discuss the beta release of the Craft 4 beta and some of the new features.
Why and when should you upgrade a client or customer project to Craft 4?
Join Ryan and Andrew as they cover the upcoming Craft 4 and how to prepare as both a site maintainer and plugin developer.
Ryan and Andrew answer your questions and cover Craft 101 for everyone.
Things to consider when you run into a database connection issue in Craft CMS.
Does AI want your job? We look at Github Copilot with Twig code, living the Dock Life, and more!
Ryan and Andrew welcome John Morton and Caroline Blakey to discuss the announcements and talks from Dot All 2021.
Ryan and Andrew answer questions about where to start with front-end tooling, what makes a good Craft CMS hosting provider, and how to create a Twig global variable in Twig.
We cover Nitro 2, Craft 3.6, the Craft executable, and your questions! The Whole Shebang!
Andrew and Ryan answer questions from the community.
Andrew and Ryan answer the community's questions live!
Ryan and Andrew cover Craft 3.6, Windy, and your questions.
Ryan and Andrew answer view questions and cover Xdebug in PhpStorm with Docker, GraphQL autocompletion, and more!
Follow up on hosting migration, review the Composer 2 release, and walk through Webpack, and answer viewer questions.
Ryan and Andrew tackle community questions and give a gentle introduction to TypeScript.
Ryan and Andrew do an extended On Call livestream and cover new stuff in Craft 3.5.x releases, Git, CI, and more!
Ryan installs and configures the Formie forms plugin. He is then joined by Josh Crawford, the developer of Formie.
Q&A about best practices for updating Craft, headless Craft approaches, servers, caching.
Get the inside scoop on Craft 3.5 and future updates to Craft with Brandon Kelly.
Ryan and Andrew play with, and probably go a little far, with what you can do with the new Twig embeds in the Field Layout Designer.
Ryan and Andrew briefly discuss how version numbers work in Composer and semver.
Ryan and Andrew meet up to go over some features in Craft 3.5 and update CraftQuest live on the air.
Ryan and Andrew fight through some technical issues to cover session timeouts, controller action URLs, and a little bit of live coding.
Ben Croker joins Ryan to show how his Sprig plugin makes it easy to add reactivity right in Twig. No JS needed.
Troubleshooting localhosting, fixing Craft sessions with Redis, what to think about when building a plugin for the Craft plugin store, and more.
Ryan and Andrew do a Q&A session.
Ryan walks through his process for updating CraftQuest to Craft 3.4.
Ryan is joined by plugin developer Ben Croker to answer common questions about Craft plugin development.
Ryan and Andrew cover the ins and outs of environment variables, aliases, and more during this livestream.
Ryan walks through a typical Git/Craft CMS workflow.
Continuing on with the simple site build, I code a nested on-hover navigation using the Craft nav tag, and more.
Ryan is joined by Mark Huot to walk through how to make headless Craft site using GraphQL and Next.js.
Ryan and Andrew cover the performance-improving option of implementing Redis to handle sessions in Craft.
Learn how to build your own custom default Craft project and generate it using `composer create-project`.
In part 2 of a short series on optimizing images in Craft, Ryan and Andrew continue with their work. This livestream covers ImageOptimize plugin, webp images, and lazy loading.
In part 1 of a short series on optimizing images in Craft, Ryan and Andrew cover a lot ground on why you want to optimize images for different viewports and how that works.
Ryan goes into the plugin store and take a look at some new add-ons.
Ryan and Andrew talk about what a Craft module is, when to build one instead of a plugin, and then they build a simple module live.
Ryan takes a quick look at Visual Studio Code and how you can make it better for Craft CMS development.
Ryan codes a page module that includes data from multiple sections and data from a Matrix field.
Follow along as I build a simple site using Craft CMS version 3.
The second part of a walk-thru in setting up a multi-site in Craft 3.
The first part of a walk-thru in setting up a multi-site in Craft 3.
Ryan does a long form live stream about all of the changes in Craft 3.