The internship is coming to an end tomorrow, 6th September 2017. I have mixed feelings. It was a great experience and to know that it is coming to an end make me happy and down at the same time. I wouldn’t be officially an intern at WMF. But the best part of open source is, you can always be a contributor and keep developing, any time of the year.
What was my project?
There is a service named citoid that generates citation data and makes it easy to insert references in the Visual editor. It uses Zotero translators and my work was to document what these translators are, how can we create them and get them deployed.
Find my work
I have created two pages, one is the extension of the other.
Main page with all the information about development
Second page explaining how to create a translator for a blog (and similar sites)
Other microtasks that I did
Before you start documenting, you need to know what is it that you will be working on. My first task was to explore what actually these translators are and what power they hold. Once I got an idea about translators, I really enjoyed developing them. I submitted a few patches to the Zotero upstream during the internship period –
The Economic times
The Open library
The Globe and Mail
TV by the numbers
If you wish to have a translator for any site, let me know in comments, I’ll surely try to write it.
After preparing a few translators and playing with Scaffold before internship, I started to write documentation from the first day. For the initial draft, the documentation covered the how to write a translator using Scaffold. This included development environment, concepts, working example and code details. First major improvement that was done was to use CSS selectors and remove the concept of Xpaths to define HTML nodes. Around mid-sem I got a new task, to explore how to write a translator at server-side. This was the main motive of the whole project, to find out how we can write code and test it on server, but somewhere around this time, Zotero 5.0 was released. So the documentation was updated to cover any changes that might come in the procedure of development through Scaffold.
To figure out how tests can be carried out on server, was the one task that took the most of the time. I learned about containerization and worked with Docker. A new section came into existence – Developing and testing on server, working example of Mediawiki.
For the last task, I documented how we can write translators for blog-like sites, taking the example of Wikimedia blog because it the most common use case that people will come across and for someone who wants to skip all the details and quickly learn through an example, it will be a good landing page. This page concentrates only on development on server and not Scaffold.
Outside the internship, I will be refining the documentation further, hopefully with inputs from my mentors and the community at WMF. What’s left to do is to translate all this work in Hindi as I proposed in my application. I will also be looking into other projects at WMF that I can contribute to. It was a great experience. Outreachy Rocks!!!
Looking forward to present my work on 21st September, 2017
Note: Applications for next round of Outreachy are opening soon. Stay informed.