Friday, October 1, 2010

MozGnowser

Our final year project MozGnowser done under the guidance of Dr. Nagarjuna ( chairman of FSF India). His blog http://gnowgi.org/ is a must visit. After completing a mini project of a Mozilla toolbar to connect to http://www.gnowledge.org/ we were given the task of making a GUI for Gnowsys (http://lab.gnowledge.org/Software) as a Mozilla extension.

Gnowsys : Gnowledge networking and Organizing System (GNOWSYS) is the flagship software project. Its main objective is to implement a theory of meaning (neighbourhood theory of meaning) represented in the form of a structure of memory.

Initially all the attempts to make Cross site XML-RPC requests from a remote client was fruitless. Then writing a JSON-RPC server on client side and then using it as a sub domain was the next choice. While googling for python and XPCOM landed to the beautiful solution called PyXPCOM (http://pyxpcomext.mozdev.org/index.html). Creating python stubs and using jquery and jquery-ui we were able to make all requests and with python's power at the backend helped create a powerful application. We faced issues with rendering the SVG which was the most crucial part of the project and to make it interactive with the rest of the UI. The SVG generated at the server side by the Gnowsys app itself. Stumbling onto yet another SVG library http://www.dotuscomus.com/svg/lib/library.html which took a lot of time modifying for making a suitable for the NozGnowser. We used the python backend to completely rewrite the SVG to make it suitable to the DOM interactions we needed.

Proxy settings feature and using the THREAD manager to make the JS scripts run in parallel so that no more UNRESPONSIVE SCRIPT warnings due to slower connections was also implemented. Then the GnowQL Shell where developers can write the python gnowql commands to obtain the pythonised results was also added.


some snapshots of the project :







1 comment:

  1. Awesomeee man...u never told us u wrote this!
    u have written in brief everythng...amazing.helped me a lot..it'l alwways help us in future.
    Thanks kaminey ;)

    ReplyDelete