Best practices for using GOA



Hey all,

I'm in the process of adding support GOA into Geary and have a few questions about this.

At the moment, Geary will automatically add and connect a local account for each GOA account with a mail service, so that these show up automatically. When a GOA mail service is disabled (e.g. for Google, outlook.com, etc) or removed, Geary will disable the account. This seems to work pretty well, but there's two cases I'm not sure about:

The GOA docs say that when "account-removed" is fired, clients should not delete any data, but then when is it actually appropriate to do so? Geary can accumulate gigbytes of data for an account, so relying on manual intervention to remove an account when none was required to create it seems counter-intuitative. There's no "account-deleted" signal that I can see.

Secondly, when users go to add a new account to Geary and it's either a Google or outlook.com account, I'd like to direct them to add a GOA account instead so they get their contacts sync'ed as well. I was thinking of a UX flow something like:

1. Collect name, email address (or just explicitly prompt to select a service provider) 2. If a supported GOA provider is indicated, launch GOA CC panel to add that type
3. Else keep collecting custom server details

In (2), I'd like the GOA CC panel dialog to appear, prompt for credentials, then disappear when setup is complete. By this time Geary would have added the account in the background and user can just get going.

Is there a way of doing this? The Manager.AddAccount() method seems to be aimed at backends, since it requires internal IDs and credentials, and there doesn't seem to a command-line option I can use to do anything except launch the GOA CC without indicating it should add an account for a specific provider.

Cheers,
//Mike

--
⊨ Michael Gratton, Percept Wrangler.
⚙ <http://mjog.vee.net/>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]