Archive for August, 2012

The End is Only the Beginning

Somehow, some way, the summer has flown by and it is time for the Summer of Code to come to an end. As sad as that is to think about, I thought I would give an overview as to what has become of my project: the new task editor for Getting Things GNOME!

From the onset of the internship, the intent was to upgrade the task editor from pyGtk to Gtk3. For the first month or so of the project, this posed problems, mostly with having to deal with the fact that Gtk2 and Gtk3 cannot run in the same process. So, it came down to a decision of using dbus and running the editor as a separate program.

How does this all work? What happens is there is a new object that controls the task editors, and keeps a list of all opened editors. When a user wants to open a task, Getting Things GNOME contacts the controller with the id of the task. The controller then looks to see if that task is already open; if it is, it presents the already opened window, otherwise it opens a new editor. The editor then can contact the controller when it needs to save, and the controller sends a dictionary of all the task data over to Getting Things GNOME to save.

But what about rich text editing? Unfortunately the task of rewriting the entire editor from scratch proved to be a very big project and I didn’t get to spend a lot of time on rich text editing. However, there is partially working rich text editing, such as being able to bold/italicize/underline a selection of text. As I continue to work on the project, this should be up and running pretty soon.

So now that the internship is closed, I can say this has been an absolutely amazing experience and a big thanks to Getting Things GNOME for allowing me to work on a wonderful project, and a thank you to my mentor, Luca, for everything you helped me with as the summer rolled along. But, just because the internship is over doesn’t mean the work is over, and I can’t wait to continue to work on Getting Things GNOME and improving the new editor.

Advertisements

The Task Editor is Finally Implemented!

After many weeks of struggling to get the task editor for Getting Things GNOME to do everything its predecessor does, the final product of the internship is slowly starting to take shape. I’ve been spending the past couple months starting the new editor separately from Getting Things GNOME to test both the dbus methods and be able to load real task data into the editor, but I can now say that it is no longer necessary.

This is because the new task editor is now loading through the main Getting Things GNOME application and properly loading tasks! The struggle to get things working with dbus was much more difficult than I could have imagined, mostly due to the fact that there is not much documentation out there for dbus. This meant that instead of being able to find solutions from others who have had similar problems or being able to go into this part of the project understanding how everything works, there was much experimentation to be had within the Dbus API (which, once you have a handle on everything, can be quite robust). 

So what can be expected now that we are into the home stretch of Google’s Summer of Code? Much debugging is needed to be done now that the system is running in its intended environment. There are also a few features that I would like to have added and finished before the end of the internship, namely rich text editing and couple features on the wishlist at Launchpad.