Camly - A Responsive Blogger Theme, Lets Take your blog to the next level.

This is an example of a Optin Form, you could edit this to put information about yourself.


This is an example of a Optin Form, you could edit this to put information about yourself or your site so readers know where you are coming from. Find out more...


Following are the some of the Advantages of Opt-in Form :-

  • Easy to Setup and use.
  • It Can Generate more email subscribers.
  • It’s beautiful on every screen size (try resizing your browser!)
by

Google Summer of Code'16 Summary


This was one hell of a Summer, I was quite fortunate to work on the WikiToLearn project with my mentors Gianluca Rigoletti and Irene Cortinovis as part of the Google Summer of Code Program. I worked on adding offline support to the current WikiEditor used by WikiToLearn, and now that the program is going to over I'd like to take a moment to summarize what I've done, recall the many things learned over a plethora of successes and failures, and talk about future work to be done with the community. I have learnt so many things over a span of short three months that would definitely help me grow as a developer, all thanks to WikiToLearn and Google.

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. 
  • When Internet goes :
  •  Trying to reconnect :
  • When Internet comes back:
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. 

Thanks again to my mentor Gianluca Rigoletti, co-mentor Irene Cortinovis, MediaWiki Org Admin Tony Thomas and rest of amazing WikiToLearn, KDE and MediaWiki community for helping me throughout the project and providing amazing and helpful reviews on my project. I plan to stay in touch with WikiToLearn community even after GSoC ends, so that we can kick some ass again.

Happy Coding!

Long Live WikiToLearn! Long Live KDE! Long Live MediaWiki! 

6 comments:

  1. 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.

    There 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!

    ReplyDelete
  2. This is some great work. Congratulations! :)

    ReplyDelete
  3. Wow. Srijan, this looks great. Keep it up. :)

    ReplyDelete
  4. Gianluca Rigoletti18 August 2016 at 17:02

    Really nice blog post! I'm excited to see a working prototype asap :)

    ReplyDelete