GSoC/2016/StatusReports/SrijanAgarwal

From KDE Community Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Title : Offline Support for WikiToLearn WikiEditor

A Brief Description: OfflineExtension is an extension for WikiToLearn that will add offline support to the current WikiEditor. This extension notifies the user, his/her's internet connectivity status and if submitted while offline, will parse Wikitext to HTML and then renders it.

Work Report

During Summer the following tasks were completed :

  • A MediaWiki Extension that :
    • Shows the exact status of internet connectivity of the user and alerts the same.
    • Parses WikiText to HTML offline using Regular Expressions.


Screenshots

When the user is offline :

Trying to reconnect :

When the user is online :

Work to be done

The OfflineExtension is nearly complete at the moment, but still needs tweaking before it comes to production mode. Some of them are :

  • Since, all the wikitext tags are currently not supported such as Tables and Templates, I have to look for ways to parse those tags without making the parser heavy.
  • Making the user interface better by
    • Asking user, whether he needs offline editing or not.

References

Telegram Nick: srijancse

Telegram Channels: WikiToLearn Tech, WikiToLearn, WikiToLearn GSoC, KDE-Soc

Blog: https://srijanfoss2k16.blogspot.com/

This is awesome about GSoC: Everything about GSoC is awesome. The best thing that I found about GSoC is be able to work on something that will actually be in production, which I think is a rare opportunity. In addition, interacting with mentors and developers from across the world and learning new things every day is priceless.

This is what I learned during GSoC:

  • Working with large codebase
  • Regular Expressions
  • Advanced JavaScript and Jquery
  • MediaWiki Extension Development
  • Working with Docker
  • Working with MediaWiki WikiEditor
  • GIT


Documents:


Repositories