GSOC with GNOME : To Do

I am really happy and excited to be accepted as Google Summer of Code Student by GNOME and i will be working on integrating Todoist to GNOME To Do. Todoist is a widely used and popular Online Task Manager App. To be honest, this wouldn’t have been possible without the support I received from people in GNOME and especially my mentor feaneron who answered my every single query, even the silliest of them ( I am sorry Georges :P). I am really excited to be a part of such an helpful and knowledgeable group of people and hope to make best of this opportunity and learn lot of new things 🙂

Planning and Future of Todoist Plugin

We are collaborating with GNOME Recipe, Outreachy Project, since the project also requires Todoist integration and the work related to adding a Todoist Provider in Gnome Online Accounts (GOA) will be shared .We have held two meetings with my mentor (feaneron) and GOA maintainer(rishi) along with Recipe team (mclasen and ekta) and have started to finally build a plan as to how things would work out.We still have one meeting scheduled to finalize the whole thing.

Till now this is how things have shaped:

  1. Introduce a Todoist Provider in GOA –  Since Gnome To Do and Recipe are not core apps, it is possible that user may not be using these application in which case the Todoist provider will be left useless. So we decided to have a Todoist Provider which will only be shown in case there is an app that uses.We would be adding a AddAccount function in libgoa that To Do and Recipe can use to interact over dbus with GOA and a ListAccount that can be used to list all accounts including the hidden Todoist accounts.Then it works normally like any other provider allowing user authorization and saving access token.
  2. Implementation details in To Do – 
    • Preferences Panel – This will allow user to select an already added Todoist Account or set-up a new account that will make use of the ListAccount and AddAccount method introduced in previous step.
    • This is how a Preference Panel looks like. We will have something similar showing list of Todoist Account in a List Box and allowing user to add more accounts.Screenshot from 2017-05-22 21-20-50
    • TodoistPlugin – The plugin is medium between the provider and To Do which helps in maintaining the providers , adding , removing them.
    • TodoistProvider – A Todoist Provider is basically a TodoistAccount (as added by user) along with method that will fetch task ,tasklists and other information from the Todoist Server and also methods to update local changes to Todoist. Currently Todoist supports some cool features that are not supported by To Do but our focus in the project is not to integrate all those features, but a solid Todoist Plugin that does every basic task that To Do supports and ofcourse we will look to expand the features as time permits 🙂

So this is how the plugin is designed in To Do.We have one more meeting after which things would be even more clear. I have asked feaneron for a Q/A Session to discuss more about the plugin and i am sure we can improve our plan and execute it to perfection. Sorry for not having any demo photos at the moment but I promise to keep them posted here as Project continues 🙂

Feel free to drop suggestion.

Some notes from our meeting Click Here.

Project Wiki Page.

Advertisements

8 thoughts on “GSOC with GNOME : To Do

  1. Hmm, I seem to remember Evolution has a Tasks view so perhaps data-server Integration should be investigated.

    Also try to avoid assuming GOA is available, that assumption makes Photos, Music & Documents useless on non-GNOME platforms (LXDE, XFCE).

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s