We're continuing our Spotlight series by highlighting the many contributions one of our community members has made to the Wagtail community. If you have wandered into the Wagtail #support channel at all over the years, there's a pretty good chance you've crossed paths with Cynthia Kiser.
Cynthia Kiser is a full stack developer who is currently working for Caltech. She's part of a team that's responsible for maintaining several of the school's most vital websites and learning platforms, including their flagship site www.caltech.edu. Cynthia is a member of the Wagtail core team and is very active in the Wagtail Slack community, where she is a very frequent responder to support questions. Our community certainly wouldn't be where it is today without Cynthia around to help people chase down the bugs in their code.
Because Cynthia is very generous with her time, we asked her some questions about how she came to Wagtail and became such an active volunteer.
1. Tell us a bit about yourself. How did you get interested in contributing to open source?
I have been using open source projects since I got into software development. My first job as a developer was working for ArsDigita, which gave away the source code for its platform and had a strong company ethos of passing on one's knowledge. They were pretty bad at incorporating other people's contributions though. So I'm not sure it's fair to call their platform "open source" but in any case, ever since ArsDigita, I have always wanted to contribute back to the projects I have used.
2. What drew you to the Wagtail CMS project? How did you get involved?
It was actually my boss who chose Wagtail as the basis for a CMS that we needed at Caltech. I was managing a homegrown, barebones CMS built in Ruby on Rails. But Chris had a vision for a multi-tenanted CMS that would be a lot more flexible. When he found Wagtail StreamFields and saw that Wagtail was in Python, he knew this was the CMS for us. My initial involvement with our Wagtail installation was mostly figuring out how to do things we had already been doing in Rails or Drupal in Wagtail and then writing APIs and import scripts to help migrate sites into the new platform. Caltech has news articles and event listings starting from 1999, so there was a lot of content to move.
3. Do you remember the first version of Wagtail you worked with? If so, what version was it? How much has Wagtail changed since then?
I had to look this one up. Our project started on Wagtail 1.3 and my first work in Wagtail was in November 2017 using Wagtail 1.12. So ya, lots of changes. Lots of new features. Workflows, commenting, site history. I think revisions existed when I started, but I don't recall being able to promote an old revision to be the current version.
What I am most excited about are the recent upgrades to the page editor experience. The inline preview that defaults to the mobile view is fabulous. And the in-editor accessibility checker is great for my user base. Most of our users are not "webmasters" but department admins who got volun-told that they would be in charge of their group's website.
There has been a lot of growth in the Wagtail platform, but I have been impressed at how thoughtfully changes have been made. There have been relatively few breaking changes and always good documentation about how to upgrade.
4. You’re very enthusiastic about helping new people with their Wagtail issues. What motivates you to help them troubleshoot their code?
Part of it comes from my own experience learning to be a developer. I am mostly self-taught. The closest to formal education I had was a 2-week "bootcamp" run by ArsDigita during the dot.com boom. Basically, it was an MIT problem set for web development and a bunch of teaching assistants roaming around who you could ask for help. After that, I got staffed on a project and learned on the job. After ArsDigita folded during the dot.com crash, I spent a long time as the only developer in a department of writers. I know what it's like not to have anything but Stack Overflow or IRC/Slack when you get stuck. So when folks ask questions I know the answers to, I try to help. Sometimes we have done something similar, so I can easily put together a quick code example or I just try to ask questions to help the person figure out their own solution.
5. Are there any memorable issues or bugs you helped people with? Were there any humorous “oh, duh” moments?
My most memorable moment getting help was when I was first using git for version control and I used "filter-repo" to remove secrets I should not have committed. Looked fine to me but the first time my colleague pushed his changes, we ended up with duplicate commits. I ask for help on IRC (yes it was that long ago), and someone there offered to fix the problem and then explain to me how not to make the same mistake again. That was probably 15 years ago and I am still grateful to that kind soul and am still trying to pay it forward when I can.
Probably the most memorable experience giving help was an extended Slack conversation where I was trying to help someone who had gotten his database and Django migrations out of sync. I have a pretty good database background, and I have had plenty of experience fighting the migration framework to get it to create the database I want. I spent an hour or so figuring out how things had gotten out of sync and then trying to figure out how to get them back on track without losing any data. After much back and forth, it came out that while there was data in the "production" database, the site wasn't live yet and there wasn't really all that much data to preserve. So instead of writing the data massaging script I had suggested, the person I was helping elected to delete the database and start over. I wasn't upset because I think we both learned something from the discussion... but now I always ask, is this site live?
6. What do you enjoy about Wagtail? What keeps bringing you back to this CMS?
Well I don't really have an option - not with 500+ sites running on Wagtail. But seriously, the Wagtail community is great. I work from home so a lot of my socializing is now on Slack. I enjoy chatting with folks and helping when I can. And I usually learn something myself in the process.
The image for this article was generated using DALL-E and the prompt "wagtails building a nest together digital art."