My First RFC (Week 2 of GSoC Coding Period)
Tags: gsoc, googlesummerofcode, wagtail, opensource
Published: 2024-06-10 10:04:41

At this point, I have to start getting more creative with my titles. I've also decided I'll be a bit more technical with my writing because details will get vague if I don't. Let's jump right in.

## Weekly Check-in
The meeting started with some small talk about how we spent our weekends. We enjoy a bit of chitchat now and then because part of the internship is to have fun and interact with people, and not bury ourselves neck-deep in work all the time. After the light talk, we discussed the week's goals. To meet our later timelines, I felt it would be good for the RFC to transition from being a draft in Google Docs to being a Pull Request in Wagtail's official RFC repository. I wanted my mentors to have one more thorough review before pushing it. We also discussed the issue of enforcing an image description property on uploaded images. At the time of writing this, when a Wagtail editor/admin uploads images, they can navigate away from the screen without clicking 'upload', and the image(s) will still be uploaded. But by mandating the image description property, the upload wouldn't be completed, and the user would have to fill in the form field and click the `update` button. It felt like a small change to me, but from a firsthand perspective, Storm said it would look strange to users who have gotten used to the previous flow out of habit. He suggested exploring whether we could mandate the field only when images are to be edited, but not while uploading. I mentioned I'd experiment with his suggestion, but I would also explore the idea of showing a warning when images are selected for upload. A warning stating that images won't be saved until descriptions have been added. 

We collectively agreed to take it up with the Accessibility team and prepare demos to show them the nature of the problem. We would show the demos the following week, as the Accessibility team meetings are bi-weekly. We wished Saptak a great presentation for DjangoCon Europe, and called it a day.

## RFC Submission
Following the weekly check-in, Storm gave me a final review the next day and I worked through it. I made some tweaks and finally took to writing it in markdown format. Wagtail is very straightforward about their RFC process, so I wrote the document following their format. I felt nervous because it was my first time doing something of that nature, but I told myself that everyone would always have a first time doing something. A lot of work and research went into the document and I was proud of it. I asked Storm if he'd be at the next core team so he could help with the 'shepherding' process. A few hours later, I pushed RFC [97](https://github.com/wagtail/rfcs/pull/97)🎉. The following day, I got a comment from someone, and another comment came some days later. 
The first commenter suggested some modifications I could make for readability but was fine with the RFC. The second commenter expressed excitement at the RFC's proposed changes (especially because it would be an RFC with someone already working on it). The second commenter also mentioned adding a notification that it was to serve as a replacement for the older RFC [51](https://github.com/wagtail/rfcs/pull/51) that was the main inspiration for my Google Summer of Code project. I adjusted accordingly to their recommendations.
Fingers crossed for the rest of the core team.

## What I learned
This week, while looking for a way around enforcing image descriptions, I was forced to explore more parts of the Wagtail code, particularly the templating and Javascript files for the `add_image` forms. With every challenge, I learn about how more internal parts of Wagtail work, and I'm less worried about not knowing everything beforehand.
I also learned how to write a killer RFC. I definitely want to write more RFCs in the future. I also tried showing a warning notification at the point of image upload, and it's one of the things I will show my mentors for week 6.

## Challenges
For Images, I unsuccessfully tried to have a separate mandatory field requirement when updating/editing from when uploading. However, I'm not giving up yet, and I'll ask for help again this next week.


Cheers to another GSoC week!!
🥂