Work Summary :
So, what did I even do during the summer? Since, I have to make an extension from scratch, it was tough job but I took help from many of the extensions already made. A summary listing of my contributions is below.- Over 90 commits were done during this period by me and my mentor. That's around 4722 ++ / 3290 -- lines of code. (cool, right :D)
- Wrote around 3 Google Summer of Code related posts.
- Pushing the code to organization's repository under Offline-Extension branch.
Offline Extension for WikiEditor :
Offline Extension is a MediaWiki extension that adds offline support to the WikiToLearn's WikiEditor. My first task was to implement the notification to the user if his/her internet connectivity goes down. I took help from hubspot offline, which successfully displays the user's internet connectivity.
After the notification part was over, the next task was to parse the WikiText written by the user when he's offline. It was one of the toughest tasks as I had to learn Regular Expressions for that. There was an old parser which hasn't been updated for last 10 years (2005-06), so I had to update the parser to current wikitext format using Regular Expressions. The updated parser can be found here, it still has some issues which I have to work on later, like parsing the Tables, etc. The last task is to preview the wikitext using the parser when the user is offline. I'm working on it, and will complete it mostly in a day.
Lessons Learned from GSoC :
While I learned about JavaScript, Jquery and Regular Expressions in detail through the project, I also learned general advice that I'm sure will help me a lot in future.
Never Assume anything to be easy :
When I got selected for the Google Summer of Code project, I assumed it is going to be easy to implement things that I wrote in the proposal. But, NO, it was very tough to bring the project what it is now. But the best part is that, I learned hell lot of things, all thanks to my mentor and organization.
Always ask for help if needed :
I was lucky to have easy access to my mentors through Telegram. One thing I learned is to ask for help whenever you feel like you're stuck somewhere. My mentor always helped me whenever I was stuck and my progress was catalyzed immensely by constant availability, and I'm extremely happy that I asked for help whenever I needed it.
Future Work to be done :
There is plethora of future work to be done for the OfflineExtension. Since, all the wikitext tags are currently not supported, I have to look for ways to parse them without making the parser heavy. Also, I have to make it more user-friendly by adding more features which I couldn't complete.
Happy Coding!
Long Live WikiToLearn! Long Live KDE! Long Live MediaWiki!
Happy to see the progress. The Mediawiki team is awaiting this one. I remember talking about this to ED Katherine Maher during Wiki Conference India, 2016 and she was excited about how this one can make a difference.
ReplyDeleteThere are places in Nepal, Bangladesh and parts of India, where we have like 8-10 hours of power cut every single day, and something like that only can help people not lose their edits.
I hope to see it in production soon, and a huge Thanks for all the works you are doing for making free knowledge for everyone a reality!
Wow, Srijan ! Great work :)
ReplyDeleteThis is some great work. Congratulations! :)
ReplyDeleteAwesome! Proud of you! 👍
ReplyDeleteWow. Srijan, this looks great. Keep it up. :)
ReplyDeleteReally nice blog post! I'm excited to see a working prototype asap :)
ReplyDelete