This past weekend we attended Wagtail Space in Minsk, Belarus. The event was organised by our own Mikalai and two great members of the Minsk Python community, Tatiana and Stas.
We got off to a slow start, but aided by coffee, pastry and enthusiasm, we soon picked up speed. Unlike previous events we didn't break out in teams, but started off with "good first issues" to warm up and assess everyone's proficiency and levels of familiarity.
Even though the event was focussed on the sprint, we thought it would be a good idea to share a bit more about the state of Wagtail with the new participants: context, features, and roadmap. This was an interesting experience for Dan who delivered it in Russian. The talk was followed by a good discussion on features and uses, headless CMSs and GraphQL.
Dzianis looked at a few front-end issues with Janneke. In the process, he became interested in the accessibility issues and starting familiarising himself with them. Together with Janneke and Thibaud, the trio discussed and looked into automated visual regression and accessibility testing as a pre-requisite for the planned CSS refactor, followed by a swift Cypress proof of concept by Dzianis. There are a still a few details to clarify and decide upon - feedback and suggestions welcome at #4871
Once the discussions, plans, issue selection and the initial guidance had subsided, Janneke had the chance to chip away at the CSS architecture, refactoring and improving Wagtail's usage of media queries. This had the unexpected benefit of fixing a few display oddities at their crossover. Thibaud, in the meantime, finished the "New Wagtail Starter Page with Design" work that Tim Allen started at Wagtail Space Philly. We now have a lovely new accessible project starter page!
Stas found a few issues with the developer environment setup and the Bakery Demo on Python 3.7 in preparation for the event. Shortly after the start he opened a couple of issues and submitted pull requests to solve those. He then continued to work on improvements to the document chooser interface when no documents exist. We then had a productive discussion on modeladmin improvements with ideas and suggestions from Stas on choosers, general revisions and UI.
Fedor worked on an issue where - in certain conditions - the administration page would display an edit button for users without edit permission, thus leading to confusing behaviour. This was another little improvement to the Wagtail administrative user experience.
Mikalai from iTechArt decided to help with vagrant-wagtail-develop to improve the start for the future developers. Thanks to him we now have a cleaner setup with less noise. Our own Mikalai guided the sprint, mentored participants, gave a helping hand in all things and above all reviewed and merged incoming pull requests.
Matthew focused on fixing tests and deprecation warnings to keep on top of compatibility with future Django releases. He promptly reviewed, tested and merged pull requests.
A new language is now under Wagtail's belt thanks to Tatiana's efforts. While not technical, Tatiana was eager to jump in and help. She promptly joined Transifex, requested and worked on Belarusian translations.
Following his talk, Dan worked on resurrecting an old PR from yched that provides a dynamic image URL template tag. Wagtail now has an official way of outputting images in templates in a non render-blocking fashion, reducing queries per request and opening up the doors to further improvements.
A particular highlight was Vadim, who saw the sprint announcement at the last moment and thought he should check it out, even though he never heard about Wagtail before. During the sprint, Vadim reviewed documentation, tried the API and sparked an interesting conversation about the best current and possible uses for Wagtail. Moreover, inspired by the first day, he brought his nephew Miron who, at 13, was our youngest participant yet. Miron tested the development environment setup on Windows. Suffice to say we need to do a better job there. Fear not, for there is a new issue for that on GitHub so we can keep track and prioritise accordingly. In the meantime, Miron contributed translations, while installing Ubuntu to have a fully functioning developer setup. We hope they both continue to work with and on Wagtail, and surprise us in the near future.
But that's not all, for Wagtail now has a better vagrant-wagtail-develop setup process, improved documentation and reference to the PyPI trove identifier thanks to Fedor, better custom logo handling in the Wagtail admin thanks to Thibaud, a more streamlined and mobile-friendly image edit page thanks to Janneke, 40% Belarusian and improved Russian language translations, a better way to handle singleton or limited number of pages of a certain type.
To top it all off, Matthew shared his brand new project -- BTFD (as in "build these fine docs") -- a better docs generator aimed to solve a some of his annoyances with Read The Docs (RTD). We love RTD, however the frequent backwards-incompatible configuration tweaks and tag-based builds mean that we're limited in our ability to rebuild older versions of the documentation, and we think that having a build process we control ourselves will serve us better.
We finished the days sharing what we worked on and feeling excited about the progress. This was made even better by night walks through the city and trying local delicacies (a definite yes to draniki - local potato pancakes served with various sauces).
Even though Minsk was veiled in a spell of cold weather, we were warmed by the local participants' welcome, enthusiasm and treats (the chocolate glazed sweet cheese batons where delightful, Dzianis). We hope to see further contributions to Wagtail and a flood of sites made with Wagtail from Belarus.
Last, but not least, thank you to Mikalai, Tatiana and Stas for organising the sprint, and iTechArt for sponsoring the venue and supplying us with coffee, pastries and sandwiches, thus fuelling our contributions.