Wagtail Unboxed episode 12 4:26
Editor experience polish
Act 3 starts by logging in as the client. Every episode so far we've been a superuser. The client isn't — and in Wagtail's default Editors group, they can't open the team, the testimonials or the footer settings we built for them.
What this episode covers
Then a permissions migration that says OK, grants nothing, and would only have failed in production. And a preview bug we wrote ourselves two episodes ago.
What you'll learn
- What the default Editors group can and can't do
- Granting permissions in a data migration, so every copy of the site matches
- Why that migration silently grants nothing on a fresh database, and
create_permissions - The landing-page preview that showed the live page instead of the draft
- A custom dashboard panel with
construct_homepage_panels - Filtering it with
get_forms_for_user, so it can't leak enquiries page_description, and why Wagtail sometimes skips the page-type chooser- WAGTAIL_SITE_NAME
Chapters
- 0:00 Log in as the client
- 0:21 Locked out of their own content
- 0:45 Permissions belong in a migration
- 1:06 It says OK and grants nothing
- 1:17 Permissions are created after every migration
- 1:48 Fixed, on a fresh database
- 1:58 The preview bug from episode 10
- 2:10 The preview showed the live page
- 2:37 A dashboard panel
- 2:54 Don't leak enquiries
- 3:19 The client's dashboard
- 3:28 The chooser that disappeared
- 3:53 Every help_text, where it belongs
- 4:04 Commit and tag
- 4:07 Next episode
Versions on screen
Wagtail 7.4.3 · Django 6.1.1 · Python 3.12. Recorded on Windows; macOS and Linux commands are in the repository for every episode.