Ashish Pitrodafield notes
All episodes

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

  1. 0:00 Log in as the client
  2. 0:21 Locked out of their own content
  3. 0:45 Permissions belong in a migration
  4. 1:06 It says OK and grants nothing
  5. 1:17 Permissions are created after every migration
  6. 1:48 Fixed, on a fresh database
  7. 1:58 The preview bug from episode 10
  8. 2:10 The preview showed the live page
  9. 2:37 A dashboard panel
  10. 2:54 Don't leak enquiries
  11. 3:19 The client's dashboard
  12. 3:28 The chooser that disappeared
  13. 3:53 Every help_text, where it belongs
  14. 4:04 Commit and tag
  15. 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.

Next: episode 13, Production settings

Carry on from here.

Episode 13 or see all episodes