A customizable page explorer and other quality improvements in Wagtail 7.4
Between autosave improvements, new ways to sort your pages, and a content checker upgrade, you'll have a lot of reasons to move to Wagtail 7.4
Everyone has their own system when it comes to organizing things. Some people love containers. Other people love piles. Some even love chaos, or at least their system appears chaotic to everyone but them.
Even librarians, the experts when it comes to standard systems for organizing information, have different preferences and variations. When card catalogs were a thing, some preferred cataloging books by genre, while others organized their collections by the author name or book title (fancier libraries with lots of space did them all). What system works best ultimately depends on who's using it and maintaining it. One of the core benefits of Wagtail CMS is pretty much everything in your content library can be organized and structured in a way that works for you. Wagtail 7.4 includes features that make it even easier for you to create a system that meets your needs. Let's have a look at all the new things you can do.
Create your own columns and categories in the page explorer
Currently, the baseline version of Wagtail gives you the option to sort your content by title, publication status, page type, and when the page was last updated. While these are handy categories, anybody who has ever migrated content knows that the update data can be a bit tricky because when you make bulk changes, suddenly a bunch of pages have the same update time even though you might have not made any changes to the content itself. Without another category to sort content by that can make pages hard for editors to find.
Also, editors and content creators have their own preferences for sorting their libraries. A lot of them find the publication date handy while others might want to be able to sort by the slug, or the author name, or even the thumbnail image.
With Wagtail 7.4, you can create custom columns and filters to sort your pages. You can even add the option to download CSV or XLSV files of that page data so you can use your library data in reports or other contexts.
Just remember the goal is to make it easier for people to find things, and that will require some compromise. The writer who wants to sort your whole content library by emoji might not be the best person to listen to. You'll also probably have to rein in the person who wants to cram every bit of data possible on the listing page even if everyone winds up needing a magnifying glass to read the font. There's always at least one!
Check your preview content for errors
We updated the content checker so that errors are highlighted in the preview panel in addition to the Checks panel. That gives content creators one more visual reminder to fix issues with accessibility and any other custom checks you decide to add before they publish their pages.
The content checker also flags missing meta descriptions now. Meta descriptions are critical for building good SEO but they are also often one of the things editors forget in their rush to publish because they don't always remember to click over to the Promote tab (or whichever field fills their meta description in the HTML). This check provides them with one more nudge to feed the crawlers the keywords they need.
Use cookies without preview conflicts
Some projects use signed cookies as their Django session backend and this can lead to conflicts with Wagtail's preview feature when you're working on a large page. Now using preview won't push you over the cookie size limit that browsers have.
You can thank the fine folks at Personalkollen for sponsoring the work to make these cookie crashes go away. If you have an idea for improvement like they did, get in touch with us about sponsorship.
Give your content creators better autosave and UX
We're still feeling giddy about autosave being added in Wagtail 7.3 but that didn't stop us from making further improvements. In this release, we improved autosave based on user feedback so that it's clearer when someone else is actively working on a page and when they are idle. We also made the autosave experience a bit smoother around unexpected events like network outages.
Beyond autosave, we also made a bunch of other small changes (like preserving mailto: and anchor links copied into rich text fields) that will improve editing experience.
Line up your StreamField blocks the way you want them
With Wagtail 7.4, you'll have a little bit more control over how your StreamField blocks are organized. Now StreamField block groups will mirror the declaration order used in the code so you can arrange them in an order that makes the most sense for your content creators.
Another change we made to StreamField blocks in this release is adding deferred validation. That means your draft can be saved even when there are required fields in your blocks. You still can't publish a page without filling out those fields. But now you won't have autosave poking at you to fill those fields in while you're working on a rough draft.
Level up your search experience
This release incorporates the newest version of Django Modelsearch, which now includes support for fuzzy search, filtering on related fields, and a few other improvements. Fuzzy searches help return more items that are similar to your search phrase. In an ideal world, they would return adorable pics of kittens and puppies too but we'll settle for helping people find the documents they need.
Give your users even better security
Having another set of eyes take a look at your security is invaluable, which is why we are grateful to France's Interministerial Digital Directorate (DINUM) for commissioning an independent security audit to help us make Wagtail even more secure. In response to the audit, we have made some small security adjustments to Wagtail 7.4 (like a new setting to restrict file upload size) and we have provided more thorough documentation on common security processes to help everyone make their Wagtail projects more secure.
Now you can learn more about how to set up effective logging in Wagtail. We've also provided more guidance on mitigating untrusted file uploads and clarified the default settings for the document serve method. We've also updated our reporting policy for runtime vs. development dependencies. A lot of the improvements we've made in this release focus on documentation but we have planned six additional changes that will be added to future releases.
Merci beaucoup DINUM for helping make Wagtail even safer.
Learn how to add content personalization to Wagtail
Content personalization is a key tool for marketers and content makers because it helps them frame the same content in slightly different ways to reach different audiences. While Wagtail doesn't offer any personalization features out of the box, there are ways to build those features into Wagtail projects if your marketing team is clamoring for them.
Our new Content personalization guide shows you how to code projects to meet common content personalization needs like audience segmentation, members-only content, campaign segmentation, and more. It is a guide for developers, but marketers you don't need to understand every bit of code. Just keep sending the link to your devs until they get the hint.
Get inspired by our new docs for package maintainers
Packages are a valuable part of the Wagtail and Django ecosystems but not everyone knows how to get started and how to get their packages listed in our official package directory. Our new official guide for package maintainers documents our suggested best practices for Wagtail packages and provides details for maintaining your package and making it easier for other Wagtail developers to find.
If one of your bucket list items happens to be "create a Wagtail package", this guide is an excellent place to start. And honestly, we'd be honored if we made your list alongside "learn a new language" or "visit the pyramids" or "take your picture at the Yoda fountain."
Things to watch out for in your upgrade
If you need one more big reason to upgrade to Wagtail 7.4, this is a long-term support (LTS) release and there will be an extended period of patches issued for this release. Also, there are only a few small things to watch out for. We're thanking Django 4.2 for the joy it gave us and are no longer supporting it. We also refactored the content checker and deprecated the {% page_header_buttons %} tag.
There's a pretty good chance Wagtail 8.0 will be on the horizon soon, so if you're looking for a great stable release that has all the shiny new features without a lot of breaking changes, Wagtail 7.4 is an excellent choice.
For all the in-depth details, have a look at the full release notes. Good luck with your updates, and even though this is a day late, May the 4th be with you!