[[WM:TECHBLOG]]
https://commons.wikimedia.org/wiki/File:Threlkeld_Quarry_Steam_Galas_Countless_Excavators.jpg

Digging deeper into Quarry

Wikimedia Cloud Services is planning improvements to the Quarry service.

By Andrew Bogott and Joaquin Oltra Hernandez

As you may know from previous blog posts, in the Cloud Services team, we devote the majority of our time to maintaining existing services and infrastructure— working on security upgrades, paying down technical debt, and fixing bugs. Occasionally we get to add new features, but those features are often the result of months of invisible infrastructure work. The actual user-facing announcements are few and far between.

Lately, it feels like we may finally be catching up! Our team has grown, and over the last year, we have made some drastic tech-debt paydowns that have resulted in a much more sustainable tech stack. This year, in our annual planning meetings, we had the unusual experience of deciding what new things we wanted to do next, instead of just focusing on the things that we’ve known we needed to do for years.  The list of possible new features and use-cases is vast, and many of the things we really want to do will take months or years to implement. We need to invest a fair bit of time in road mapping, surveying, and talking to users to figure out what tasks are next and what changes are worth it. 

We have two areas of work that we already know are important and that have long, beautiful lists of triaged bugs and feature requests just waiting for developer attention: Quarry and PAWS.

File:Quarry-logo.svg, Husky, CC BY 4.0
File:PAWS.svg, User:Barquill0, CC BY-SA 3.0

Both projects were started more than 5 years ago as an effort to democratize programming by applying Wikipedia’s principles. They are widely used by developers at all levels, from beginners to experts, and make powerful programming tools available for everyone.

File:Quarry queries run per month 2014-08 to 2021-08.svg, JHernandez (WMF), CC BY 4.0

Quarry and PAWS have been almost entirely volunteer-maintained for years. Both were created by Yuvipanda, with contributions from many others, and both have been largely maintained by volunteers like Chico Venancio and Framawiki. The maintainers have done a fantastic job keeping the services up and running, and they deserve more support.

Quarry won the coin-toss with PAWS, so we are spending this quarter working our way down a list of long-standing Quarry tasks. A couple of new features–Add a stop button to halt the query and Validate and autocomplete database names in the database input field– have already made it to release. That road was a bit bumpy; we are now working on tidying up the CI and deployment pipeline, upgrading dependencies, and moving the back-end database to Trove so that future patches can roll out smoothly.

We’re optimistic that, by the new year, Quarry will be less rickety in every way, with fewer hanging queries, easier workflows, and —with luck—better collaboration tools. As importantly, everyone on the team will get a good long look at the insides of Quarry so the next time it misbehaves, we will face the problem with a great deal more context and interest.

If you want to hack on a straightforward UI and collaborate with a team that is actually paying attention to your work, now is the time! Quarry already has a good local test/dev environment. If you are a Python developer, you should claim a bug today! If you are a frequent Quarry user, keep an eye out for new features or bugs; your feedback is always welcome.

About this post

File:Threlkeld Quarry Steam Galas Countless Excavators.jpg, ARG_Flickr, CC BY 2.0

Leave a Reply

Your email address will not be published. Required fields are marked *