Being a Wikimedia intern

Posted by Priyanka Nag on 1:22 AM in , , ,
Am almost at the end of my four months long journey with Wikimedia Foundation that began on the 2nd of January when I started my OPW internship under this organization. The summary of all my work, done in these 4 months can either be found on my earlier blogs. The links to all the documentation done during my work phase are here:

[1]Documentation against getting the 'Cite' option on your MediaWiki
[2]Documenting noteworthy local templates

I have had edited Wikipedia pages, translated content from English to Bengali Wikipedia, had contributed to Mozilla in several ways but never had done any prominent work in Open Source till before OPW. For me, OPW was the perfect platform where I got to upgrade myself from being a FOSS enthusiast to a FOSS contributor. 
We worked from different parts of the globe, but still worked together. I was here in India, my mentor in Israel and all the other Wikimedians who came to my help when I got stuck, I don't even know which place of the world were they helping me from. This awesome networking was something that impressed me most throughout these four months. The mailing list etiquette and IRC rules were known to me, but their implementation happened most in the last few months. 

My project was one that dealt with the fact that each Wikipedia has its own CSS styles, JS gadgets, and templates. It's most a good thing, because it gives each language community the freedom to customize and innovate. But there's also a problem: these things may be useful in other languages, too, and it's hard to port them. Most MediaWiki developers are aware of the customization in the language they speak - mostly English, and to a lesser extent German, Dutch, Russian and French. And they aren't even aware of the useful developments in other languages. And they may not be aware that a customization that works in their language is not available in other languages. I was to help Amir (my mentor) in achieving this goal of documenting some local templates so that irrespective of language, MediaWiki platform remained the same. I began my work with documentation, but soon when my mentor realized that my JavaScript knowledge was kind of stronger than he had expected, he wanted me to move from documentation to coding. Now, instead of simply stating which codes needed to be changed to change some feature, we moved to making the appropriate changes in the code. Though I started with coding, the documentation work was never forgotten. My mentor made sure that I documented each step during the process of making those changes. 

Its such an awesome feeling when we get to see our work taking live forms and our changes being used by innumerable users on any Wikipedia platform. Whenever I go to Bengali Wikipedia now and see that the Edit toolbar has the 'Cite' option working properly, I feel so good and so much encouraged to keep making such contributions to FOSS.

During the tenure of my internship, I also got an opportunity to work with Sumana and help her in the preparation of the Wikimedia engineering report for the month of February. That was another great learning. How these reports are generated, how the stats are obtained and all was fun to explore. I did struggle a bit at places and even the output was not a very impressive one, but the learning from it was really great.
The entire course of these four months were filled with learning, moments of success, moments of failure, getting to know people, getting a chance of working with people, getting to know the community structure of Wikimedia and how it works and so much more. Though the official tenure of my internship is at its end, I will never ever wanna miss a single opportunity of getting a chance to work with Wikimedia Foundation again :)


Finally getting the Citation feature up on Bengali Wikipedia

Posted by Priyanka Nag on 11:54 PM in , , , , , , ,
Well, I am happy to announce this good news for all my Bengali Wikipedians. 
After working on it for months, after several local implementations followed by User page implementation of the 'Cite' option, I have finally been successful in getting the option up on Bengali Wikipedia. 
Well, what this option is and how to get it up on any Wikipedia can be found here.
Here, I will talk about my experience of community interaction and getting the job done. Well, I began the community interaction (actually begging for help) through the community india mailing list. My idea initially was to get some response from someone who, even if unable to directly help, could guide me as to where to get help from. I actually needed either the admin rights to some Wikipedia to push this option up or needed help from some admin who could do this work on my behalf. Not waiting for the replies, I also started looking for the admins on different Wikipedia(s). Well the Special:ListAdmins option of Wikipedia did help me a lot here ;)

From the list of admins on Bengali Wikipedia I found Jayanta Nath, who came to my rescue! After a little bit of convincing, Jayanta da was all ready to help me get this job done. I sincerely thank him for all his help. Now, all Bengali Wikipedia users will get the 'Cite' option on the edit toolbar just like the English Wikipedia editors.

The job is yet not done, I need to get the same feature on a few other Indic Wikipedias. The convincing job is not always that easy. Some struggling is on to explain people that this actually works. Well, I hope I will soon be able to convince a few more admins and get this feature up on a few other Indic language Wikipedia(s).


Getting the Citation template in your own language's Wikipedia

Posted by Priyanka Nag on 1:07 PM in , , , , , , ,
There is a 'cite' option available in the English Wikipedia's Wiki-editor which is missing from most other language's Wikipedia. How to get this option on your own language's Wikipedia can be found here.
Once, you have the 'Cite' option placed, you will see that the options you are getting under the Cite-template are all in English. Now, its an obvious thing that in your language's Wikipedia, you will not want to have a Citation template which shows options in English, you will want the options to come in your own language. 
Now, I have done it for Bengali Wikipedia, and here is how I got the citation template and its options in Bengali for the Bengali Wikipedia.
There is one page which we will need to create under our userpage named: 

Well, instead of Messages-en.js, we are free to use anything else like Messages-bn.js etc but we just need to make sure that wherever this page is being called from, the name is rightly placed there.
In this file, there are the set of strings which needs to translated. Once all the strings of this page are translated into the local language, the Citation template in ready to go, in the local language. The work is this simple. No more modification is required anywhere else.


Successfully getting the 'citation' option on Bengali Wikipedia

Posted by Priyanka Nag on 12:18 PM in , , , , , , ,
Well, the struggle has been really long going but finally got it to work! Finally I did manage to pull the 'Cite' option (the one which exists in English Wikipedia and was missing from Bengali Wikipedia) into Bengali Wikipedia. Unfortunately, I do not have admin rights to bn.wikipedia.org, so I couldn't get it get in on the Edit toolbar for all users, but could obviously manage to get it for my own Edit toolbar and am surely in a state where I can help other users get it on their respective Edit toolbars by just adding one single line in their common.js files.

Well, what I did to get it up and running is as follows:

  • In my common.js file, I imported a few other js files like:
    • RefToolbar.js
    • RefToolbarMessages-en.js
    • RefToolbarBase.js
    • RefToolbarLegacy.js
  • I created all these js pages under my user-name like User:Priyanka Nag/Reftoolbar.js, User:Priyanka Nag/RefToolbarMessages-en.js, User:Priyanka Nag/RefToolbarBase.js and User:Priyanka Nag/RefToolbarLegacy.js.
    These pages are already present in most wikipedias and if that is so, we may not need to create them under our user-page separately. But, in either case, making sure that these files, which are dependent on each other, are being called properly i.e. if RefToolbar.js is calling RefToolbarBase.js, making sure that its calling User:Username/RefToolbarBase.js or MediaWiki:RefToolbar.js (as the case may be) is vital.
  •  Once all the pages are in place and called properly, we just need to do a hard refresh. If all works properly, we are expected to see the 'cite' option on our Edit toolbar.
  • Now, initially if all these JavaScript files are copied from English Wikipedia, the citation template is also expected to be in English. How to change these options to your own language can be found here.
If anyone wants to use the same option in Bengali Wikipedia, you need to simply do the following:
  • Under your common.js page (i.e. User:YourUserName/common.js), simply put the following line of code:
Once saved, this code will simply import my common.js file which in-turn will import all files necessary to get the citation template working. Now, since my common.js file already has all the other js files in place (in case of bn.wikipedia.org), one doesn't need to create them again separately. For all other Wikipedias but all the above steps will be required.

If you like the blog, you may also want to checkout Priyanka's website