GTG

Sync GTG with Google Calendar

Bug #613382 reported by Arun Tejasvi Chaganty
28
This bug affects 5 people
Affects Status Importance Assigned to Milestone
GTG
Won't Fix
Wishlist
Unassigned

Bug Description

It would be nice to be able to sync with Google Calendars and populate tasks using their APIs.

Tags: backends
Revision history for this message
Luca Invernizzi (invernizzi) wrote :

Sync with google tasks would be nice but it's not possible now, as google hasn't published an api for it yet.
Therefore, I'm removing that from the title. Feel free to open a new bug when google announces the api.

About the Google Calendar sync, how do you envision such a backend? what should it do?

summary: - Sync GTG with Google Calendar/Tasks
+ Sync GTG with Google Calendar
Changed in gtg:
status: New → Incomplete
importance: Undecided → Wishlist
importance: Wishlist → Undecided
milestone: none → 0.4
tags: removed: backend feature-request
tags: added: backends
Revision history for this message
Bryce Harrington (bryce) wrote :

I use google calendar as well (for work) and have a similar desire to sync events from it into gtg. I don't really look at google calendar often, and most of my day is spent in gtg; I consequently lose track of meetings and other events and so having corresponding tasks in gtg would make it easier to stay on top of them.

Some use cases:

1. Bill's company uses google calendar for scheduling meetings, however he prefers using gtg for organizing his time.
  a. When Bill receives a meeting request, a task appears in gtg for him to yes/no/maybe the meeting
  b. For each meeting Bill has agreed to attend, a reminder task is added to gtg for that day (or for the previous day if the meeting is in the morning).
  c. For each meeting, there is a task to attend the meeting. This task is populated with the agenda and attendees. Bill will also use this task for recording his own notes during the meeting, and for creating action items for himself.
  d. For recurring meetings, Bill wants to have a recurring task in gtg, rather than separate tasks for each meeting.

2. Cynthia uses gtg for keeping organized with her dog grooming business, and provides google calendar as one of several ways for customers to arrange appointments.
  a. When a customer requests an appointment in google calendar, the appointment gets registered as a task in Cynthia's gtg
  b. If a customer cancels or postpones an appointment, the task gets moved appropriately in Cynthia's gtg
  c. For each task generated for an appointment, the sync tool adds a tag with that customer's name. This helps Cynthia keep track of her customers. She can mine this data to see how frequently each of her repeat customers come, and then contact them if they don't reschedule when expected.

3. Dan uses google calendar as a way to track birthdays and special events with his vast network of friends and family.
  a. Dan wants to remember to take gifts for people's birthday parties. The gtg sync tool helps him establish a task a week ahead of each party to remind him to get a gift.
  b. While all his friends are important, some are moreso than others, so he likes to organize them by tags: @family, @extendedfamily, @buddies, @acquaintances. This way he can give priority focus to close family and friends, and handle the rest as he has time.

Changed in gtg:
importance: Undecided → Wishlist
status: Incomplete → Confirmed
Revision history for this message
Luca Invernizzi (invernizzi) wrote :

Interesting. Apparently, calendars can be used in two ways:

== from GTG to calendar ==
This is how I thought about it. The ideal workflow for me would be:
  - I add a task to gtg and forget about it
  - the task "bubbles up" and it's shown in the Workview when the right times comes
  - I (optionally, not for all tasks) schedule the task in my calendar, in fact deciding the precise time when I will do it
I believe this is very useful, but I'm very unsure *how* the last step would be performed.

== from calendar to GTG ==
That's what Bryce's describing. Basically, calendar appointments are replicated in GTG, which is useful in many ways (see Bryce's comment).
I never thought about it and this is easier to implement: it's a normal backend.

Maybe this bug should be split in two?

Revision history for this message
Arun Tejasvi Chaganty (arunchaganty) wrote :

Hello,
    Wow, I didn't think of it in quite the depth Bryce has. I was initially thinking of a model where I wanted to be able to use Google's calendar just as an online store, and use the 'reminder mails/sms' features, etc. it has. The way Bryce mentions it seem a _lot_ nicer. I was thinking the tags could just be the calendar from which the task was taken (to begin with of course; within GTG the user should be able to add tags as he/she pleases).

    I have already started trying to implement the plugin. I have two questions:

    i) How should the metadata about the fact that this note should be synced with Google Calendar be stored?
    ii) Should we sync _all_ notes with Google? I'm not sure how to support deadline-less tasks on Google (i.e. tasks without a deadline).

Cheers,
Arun.

Revision history for this message
Luca Invernizzi (invernizzi) wrote :

Hi Arun. The next version of GTG will support multiple backends to load/store tasks. To add a way for GTG to sync with Google Calendar, you'll probably be better using that (I've already ported the other two plugins for syncing tasks, RTM and Evolution).
Also, currently the plugin system (in the development version of GTG) is broken.

Unfortunately, I haven't written a guide to write a backend yet, but you can find examples here:
 bzr branch lp:~gtg-user/gtg/multi-backends__invernizzi_gsoc

About your question:
 i) using the "multiple backends" framework, with a tag, or you can decide to store a list of task-ids to sync. With a custom plugin, it's up to your fantasy
 ii) I don't think that would be a good idea. The framework let's the user decide. Anyway, I think that we should only sync tasks tagged with a special tag (like @gCal)

Cheers and keep us posted!

Revision history for this message
Richard Klein (kleinric) wrote :

Hi,
This would be a great feature, Google has recently committed to creating a public API for Google Tasks.

http://gmailblog.blogspot.com/2011/01/top-tasks-for-google-tasks.html

Revision history for this message
Richard Schwarting (aquarichy) wrote :
Revision history for this message
Mads Peter Rommedahl (lhademmor) wrote :

I've opened a new bug report (https://bugs.launchpad.net/gtg/+bug/788564) concerning the Tasks sync

Izidor Matušov (izidor)
Changed in gtg:
milestone: 0.4 → 0.3
Izidor Matušov (izidor)
Changed in gtg:
milestone: 0.3 → 0.3.2
Izidor Matušov (izidor)
Changed in gtg:
milestone: 0.3.2 → 0.4
Revision history for this message
Jeff Fortin Tam (kiddo) wrote :

Closing this ticket as we do not use LaunchPad anymore, see https://wiki.gnome.org/Apps/GTG to learn more about the current status of the project and to find the new location where our code and bug reports are hosted.

Changed in gtg:
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.