Getting Things GNOME!    —    GSoC review (#5)


Another GSoC week has gone, and my project with “Get­ting Things Gnome!” has moved forward.

We now have a com­plete tomboy back­end. Tomboy notes match­ing a par­tic­u­lar @tag (you can con­fig­ure mul­ti­ple tags, or get all notes) are imported in GTG. The syn­chro­niza­tion is both ways: if you change  some­thing in Tomboy, GTG will be updated and vice versa (and GTG doesn’t need to be run­ning when the mod­i­fi­ca­tion is done).

That back­end comes with a unit test, which has helped me spot a few bugs. The tomboy dbus inter­face is syn­chro­nous, which cou­pled with the pres­ence of a Global Inter­preter Lock in python, has caused a few weird hangs dur­ing exe­cu­tion, as threads were not really indipen­dent. Any­way, now every­thing seems to work fine :D

Sec­ondly, the new back­end frame­work has landed in GTG Trunk, so my work is start­ing to be tested by a few reck­less testers. Thanks!

Lastly, I’ve been work­ing on a Launch­pad back­end, which imports (read only) the bugs assigned to you on that bug tracker. This one still needs a lit­tle work, as I’ve started work­ing on it yes­ter­day, but it will be ready and tested for next week. The syn­chro­niza­tion engine, which is com­mon for all back­ends (and generic, as the only require­ments it has is that objects it syncs have unique id and a mod­i­fi­ca­tion date), really does most of the work.

As usual, a screen­shot with the Launch­pad back­end at work:

Next week I’ll work a lit­tle less, as I have my “pre-degree” exam. I’ve already done most of the things I’ve put in my pro­posal (I’m miss­ing the RTM and Evo­lu­tion back­ends, which are just a mat­ter of con­vert­ing my old plu­g­ins, and a couchdb back­end –which was optional, but I cer­tantly have the time to do it), so I’m con­fi­dent I will fin­ish in time.

Have a good weekend!

  • Travis

    Great work! I would love to see a trac backend.

  • Travis

    Great work! I would love to see a trac backend.

  • http://abderrahim.arablug.org/blog/ Abder­rahim Kitouni

    Yes, and a bugzilla one ;-p

    Seri­ously, you are doing a very good job. And with another stu­dent doing a DBus inter­face, it should be eas­ily inte­grated in an IDE (I’m think­ing about anjuta here), so the more “developer-friendly” back­ends the better

  • http://abderrahim.arablug.org/blog/ Abder­rahim Kitouni

    Yes, and a bugzilla one ;-p

    Seri­ously, you are doing a very good job. And with another stu­dent doing a DBus inter­face, it should be eas­ily inte­grated in an IDE (I’m think­ing about anjuta here), so the more “developer-friendly” back­ends the better

  • Sandy

    ndesk-dbus doesn’t really have a mech­a­nism to expose async meth­ods. The devel­op­ers rec­om­mend that clients sim­ply make the call in a sep­a­rate thread.

    On the Tomboy side, the API is not async because so many of the meth­ods impact the GUI, but this could be improved, too.

  • Sandy

    ndesk-dbus doesn’t really have a mech­a­nism to expose async meth­ods. The devel­op­ers rec­om­mend that clients sim­ply make the call in a sep­a­rate thread.

    On the Tomboy side, the API is not async because so many of the meth­ods impact the GUI, but this could be improved, too.

  • http://www.lucainvernizzi.net Luca Inv­ernizzi

    True. In the case of python, it’s needed a sep­a­rate process, since threads can lock on the GIL.

  • http://www.lucainvernizzi.net Luca Inv­ernizzi

    True. In the case of python, it’s needed a sep­a­rate process, since threads can lock on the GIL.

  • http://www.lucainvernizzi.net Luca Inv­ernizzi

    Thanks! In GTG it’s already pos­si­ble to use a bugzilla plu­gin: past­ing a bugzilla link in the “quick add bar” at the top of the tasks lisk and press­ing enter gen­er­ates a task filled with the bug data.
    A full back­end will be cer­tainty nicer :)

  • http://www.lucainvernizzi.net Luca Inv­ernizzi

    Thanks! In GTG it’s already pos­si­ble to use a bugzilla plu­gin: past­ing a bugzilla link in the “quick add bar” at the top of the tasks lisk and press­ing enter gen­er­ates a task filled with the bug data.
    A full back­end will be cer­tainty nicer :)

Getting Things GNOME!    —    GSoC review (#5)


Another GSoC week has gone, and my project with “Get­ting Things Gnome!” has moved forward.

We now have a com­plete tomboy back­end. Tomboy notes match­ing a par­tic­u­lar @tag (you can con­fig­ure mul­ti­ple tags, or get all notes) are imported in GTG. The syn­chro­niza­tion is both ways: if you change  some­thing in Tomboy, GTG will be updated and vice versa (and GTG doesn’t need to be run­ning when the mod­i­fi­ca­tion is done).

That back­end comes with a unit test, which has helped me spot a few bugs. The tomboy dbus inter­face is syn­chro­nous, which cou­pled with the pres­ence of a Global Inter­preter Lock in python, has caused a few weird hangs dur­ing exe­cu­tion, as threads were not really indipen­dent. Any­way, now every­thing seems to work fine :D

Sec­ondly, the new back­end frame­work has landed in GTG Trunk, so my work is start­ing to be tested by a few reck­less testers. Thanks!

Lastly, I’ve been work­ing on a Launch­pad back­end, which imports (read only) the bugs assigned to you on that bug tracker. This one still needs a lit­tle work, as I’ve started work­ing on it yes­ter­day, but it will be ready and tested for next week. The syn­chro­niza­tion engine, which is com­mon for all back­ends (and generic, as the only require­ments it has is that objects it syncs have unique id and a mod­i­fi­ca­tion date), really does most of the work.

As usual, a screen­shot with the Launch­pad back­end at work:

Next week I’ll work a lit­tle less, as I have my “pre-degree” exam. I’ve already done most of the things I’ve put in my pro­posal (I’m miss­ing the RTM and Evo­lu­tion back­ends, which are just a mat­ter of con­vert­ing my old plu­g­ins, and a couchdb back­end –which was optional, but I cer­tantly have the time to do it), so I’m con­fi­dent I will fin­ish in time.

Have a good weekend!