DEV Community

loading...

Everybody struggles - but documenting makes it better

Liudmila(Jade) K
Aspiring IT student, computer linguistics enthusiast. Outreachy 2020 Wikimedia intern.
・2 min read

Everybody might get stuck - this happens, and it should't be a big deal. It's not hard to think about it theoretically, but on practice it's way harder to calm yourself down and not panic.

Some of the other Outreachy interns this round speak about failing their tests and integration with already existing code (you can read their stories, for example, here or here. These are valid problems, which can occur while working in projects with quite a long history - but my biggest struggles this week were of different kind.

Wikimedia community is full of creators, who make tools of different purposes and sizes, and there are various ways to develop something you need. This leads to variety of tools, supported by the community - but also to the point when there are too many guides and pages, which can be lost and unknown by the community. So here is the story.

All the Wikimedia projects have good, well-documented API for various requests. It can provide a whole lot of info on pages, including last update time, which was exactly what I needed. But here comes a twist: I was working not with a simple normal wiki page, but on unique, special one - SiteMatrix.

I've been digging through the API for a few hours, and it made my head hurt. API kept responding me like the page doesn't exist at all. I tried looking at which requests did my browser send to get the page - nothing. I felt desperate. Still trying to get some requests, I hit search button with the request of Wikimedia wikis, the title of that page. And page, called this way, did really exist. It just wasn't special.

I've looked through it, and noticed info about meta database, which store all the information about Wikipedia projects. I looked into it's tables - and it stroke me. The page was special, because it was rendered directly with the information from the database, that's why there was no 'edit' button, no update time - nothing.

So I switched to the database, and it solved multiple things at once: I got both last update time and links to the pages.

And then I updated the page with a piece of my request to the meta database, just to make life a bit easier for someone who would like to look into it after me.

A sighed deeply that day - I've spend about about half of the day with seemingly no result just to find out that to solve everything I had to look at the problem from totally different angle. It happens.

Yet my head suddenly felt a lot lighter, when I finally knew what to do.

Discussion (0)