User:Sohom Datta/Bi Weekly Report 3

It's been a blast. Lot's of new things to learn, all the while coding, deleting the code that you just wrote and then rewriting the code. Only to realize that whatever you wrote was significantly worse compared to whatever you had written before. Being able to contribute to such a big project and getting to know the community all the while learning new stuff has been a great experience.

Work

edit
 
The first iteration of the Wikisource Pagelist Widget :)

The fifth week was a grind. For starters, I was able to finalize my debut patch regarding the Wikisource Pagelist Widget ( yup that's the official name and page :) ). The patch added a button underneath the already existing textarea. On clicking the button, a widget would appear which would contain a button based representation of the pagelist. I started off by using regex to brute force out the pagelist tag and it's attributes. However, turns out there is already a quite a lot of implementations of xml/html parsers built into the browser. Also, that's exactly what I needed to parse most forms of the pagelist tag. Eureka! In the end we settled for using a regex parser to extract a pagelist tag (in case there are surrounding templates and other text) and then running it through the DOMParser API to get a pristine set of attributes. From here we parsed the individual attributes down to their respective ranges/ page numbers and then created a event based model to keep track of all that information.

Starting with the sixth week, I had my exams. So the work done was comparatively low. The two patches, selenium and the big debut patch for the PagelistInputWidget had their last kinks ironed out and were pushed to production. We also configured Beta Wikisource to allow for the pagelist input widget to be shown to the community. I also added a patch for T254742 (After switching "horizontal/vertical layout", the setting is not "sticky" in the page preview) that I had also found particularly annoying myself.

Going forward I'm working on creating my next big patch, adding the dialog window that will allow the user to see a image of the scan for which they will be changing the Page number. Let's all stay safe and rock on :)