To clarify: this mail isn't talking about "migration" (which is a bit of
an overloaded term). This is talking about the first time sync gets
initialized on 29 - ie:
* First time sync is initialized, we need to determine if this install
already is configured for legacy sync. If so, we continue to use the
legacy provider, otherwise we always use the Fxa provider.
* If sync *is* already configured for the legacy provider, but the user
explicitly and manually chooses to "start over" on this device, we want
to re-initialize as if sync was never configured for this device - ie,
change from the legacy provider to an unconfigured Fxa provider.
So this has nothing to do with us migrating a user from one provider to
another, but instead is a way for a user to manually choose to throw
their current old sync account away and start over as if sync was never
configured on this device.
More below...
On 11/01/2014 4:34 AM, Richard Newman wrote:
This is tricky.
I'm going to ask Richard to weigh in here. We touched on this briefly in:
https://bugzilla.mozilla.org/show_bug.cgi?id=949260
I need to review the sync again to remind myself how it all works.
Got a bug number (or earlier email) to point me to?
On Jan 9, 2014, at 5:41 PM, Mark Hammond <[email protected]
<mailto:[email protected]>> wrote:
I sent this a little too early - the patches are totally flawed :(
In particular, resetSync() isn't the place where we should "reset"
the identity provider - startOver() in
services/sync/modules/services.js looks a better bet (which is
exposed in the UI as "unlink this device"). Either way, I think this
is going to be tricky to get right. So while I'm almost certainly
going to make that patch obsolete, it would still be very helpful if
you could try and get your head around some of the issues it tries to
address (ie, determine if sync is unconfigured, configured for old
sync, or configured for new sync,
Don't forget "configured for old sync with a custom server", and perhaps
"configured for old sync with no other devices".
As above, that's not really relevant to what I'm trying to do here - if
they are configured for the old sync and don't explicitly take steps to
"unconfigure", we aren't going to do anything in the short term. If
they manually choose to start over, then it isn't relevant what server
they were configured for before - we just want to get back into the same
state as if sync was never configured on this device.
and have sync re-configure itself based on the user "unlinking" the
device from a legacy account, which should them enable them to create
a new Fxa based account)
I encourage you to have an existing user go through setup /before/ you
replace their legacy account with a new account. For three reasons:
This isn't about us "replacing" their account, just allowing for the
flow where they explicitly choose to throw their current config away.
I agree that when we get to a "real" migration, everything you say makes
perfect sense - as does copying whatever you've come up with for that
migration on Android.
Does that clarify?
Thanks,
Mark
• If they abort the process (or can't complete it due to maintenance or
something — or because we screwed up and need to push out a point
release!), you didn't just leave them in a bad state. "Reformat and
reinstall" is less friendly than "repair Windows".
• You can offer a better user experience if you can directly look at
their existing settings (e.g., check their enabled engines, pre-fill
their existing email address), and you can't do that if you tell them to
unlink their device first.
• If you still have their old credentials around when you finish FxA
setup, you can write a migration sentinel into the old account, rather
than flipping them a giant bird and making them do all of this work
again on their other devices. We definitely want to take this step when
we're encouraging migration of existing users, so engineering things
such that it's hard to do in the short term is probably the wrong call.
Even if you don't write a migration sentinel, you should delete the
remote client and tabs records. (There's already a method for this.)
We'll be writing a migration sentinel on Android, so symmetry on desktop
would be pleasant — doesn't make sense that it's way more usable to set
up Sync on your phone rather than your desktop.
_______________________________________________
Sync-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/sync-dev
_______________________________________________
Sync-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/sync-dev