Getting things GNOME! Web service and API: Weekly Report 04

Hello planet and others!

This is yet another weekly report. It’s been a very busy week at my college. All that remains are the final exams, which are spread out over three weeks thanks to two national holidays in Croatia next week, so they won’t take too much of my time. It’s anti-fascist struggle day on tuesday and statehood day on friday – so for most people it’s a week off from work. Sometimes it’s good to live in such a lazy country. 🙂
The plan for this week was:

  • start working on task text parsing. (TODO) – I didn’t manage to do this, but it’s on the list for next week.
  • start working on the REST API. (DONE) – We now have a functional read-only API with basic authentication. It can be tested using curl. API details are on the project’s LGO page
  • enable user registration, so the django admin interface is no longer needed. (DONE) – It works but it doesn’t look nice, it will get prettier over time.

For next week, the plan is to do:

  • Text parsing
  • Read-write API
  • Start writing a new GTG backend (using Luca Invernizzi’s mighty backend system) to enable synchronization.

Instructions for testing the API are on my portfolio page.

Hope everyone had a good first gsoc month!

Getting things GNOME! Web service – Weekly report 3

Hi folks!

This is my third weekly report, the second one was only on the mailing list because I couldn’t do much work last week. But here we are now, a week later with quite a few new features.

As you may not know, the web service I’m working on is not only a web server, it’s also a dbus client. That means that it is useless on its own, it has to be used with a GTG dbus provider. Until this week, I’ve been using a recent trunk version of Getting Things GNOME! with a modified dbus api, but that got overly complicated with adding new features to the web interface. Because of that I reworked the innards of the fake server that I made in the beginning, and it’s actually useful now.

Better dummy dbus server allowed me to make the web interface multiuser-friendly. Now each user has its own tasks. This is done by using the new dbus parameter user, which was easy to implement with a fake server and will take time to do with the real GTG.

Another new feature is changing task statuses, which can be seen on the left:

Task view interface

As you can see, there is now a user area on the right, with a broken preferences link and a working log out link. User accounts have to be created using django admin interface, but that will soon be fixed.

One more thing… As you can see in the screen shot, web interface can now be used to create and edit tasks. For now new tasks can only be roots in the task tree. Once proper text parsing is in place, we will be able to make task trees just as easily as in desktop GTG.

For next week, I hope I will do the following:

  • start working on task text parsing, so that it will be possible to mark tasks with tags and to make task trees.
  • start working on the REST API.
  • enable user registration, so the django admin interface is no longer needed

If you want to test it and play with it, the instructions are on project’s page. Have fun, it’s buggy! 🙂

Thanks for reading; have a nice day!

Getting Things GNOME! – GSoC weekly report 1

Hello Planet and others!

This is my first weekly report about my project – GTG web service and api. I’m currently working on the service itself, no api yet.

What have I done this week:

  • Started my project, pushed it to launchpad
  • Began writing the main task list and a more detailed task view (see pretty pictures!)
  • Started work on expanding gtg dbus api.
  • Lost my telephone and internet connection, fortunately only for a day. Turns out it’s not a good idea to have a telephone line to your house go through someone else’s house first, especially if there are construction works over there and the cables are connected A je to! style, i.e., badly. (A je to! – One of the best cartoons ever, a true monument to DIY (do-it-yourself) culture. Don’t know if it was ever popular outside the eastern block :D).
  • Sent a couple of revisions to launchpad using cell phone tethering with a crappy signal, great fun.

What I plan and hope to do next week:

  • Discuss dbus api changes with other lovely GTG devs.
  • Beef up the main views, so it’s easier to track down problems later. It’s hard to fix a problem you can’t see.
  • Start with adding user support.
  • Do something about my bachelor thesis. Now that it’s public, it’ll make me work on it a bit more.

Now, on to the pretty pictures.

Oh, and enjoy the weekend!

Getting Things Gnome – GSOC – Introduction

I'm attending GUADEC
Hello, everybody!

My name is Karlo and the good folks at GNOME accepted my summer of code project. Thank you GNOME! I’ll be working on Getting things GNOME! web service and API (you don’t use GTG? You really should. 😉 available in the nearest package repository).

What’s it about? It’s about clouderizing(TM) your tasks. Your tasks will follow you wherever you go, you will have them on every computer, on your cell phone, at work, on holidays, you will never get any rest because you can’t escape from things you should do anymore. But it’s opt-in. 🙂

TODO in the following months is a django web application which connects to a background GTG server (Paul Kishimoto will be working on the separation between gtg interface and core) locally via dbus, and enables the faraway user to manage it’s tasks, this way we can have a real GTG available from everywhere. Managing can be done using an REST API which will be used for synchronization with desktop GTG and other applications, or using a web view, which is made for humans. Synchronization magic will be powered by Luca’s wonderful backend project.

There is a bazaar branch in launchpad for the project, which for now only displays the tasks from the running GTG on the computer. If you want to take a peek, you can (not to be used with stable gtg (0.2.4), use 0.3-development because of dbus api changes). Expect more soon!

Last but not least, thanks to Gnome Foundation, I’ll be attending GUADEC to meet fellow students, mentors and other rock stars. See you there!

Sponsored by GNOME Foundation