Closed Bug 560937 Opened 14 years ago Closed 14 years ago

move all setup into a single wizard, and clean up interactions

Categories

(Firefox :: Sync, defect, P1)

defect

Tracking

()

VERIFIED FIXED

People

(Reporter: mconnor, Assigned: mconnor)

References

Details

Attachments

(1 file, 5 obsolete files)

Attached patch wip (very rough) (obsolete) — Splinter Review
      No description provided.
Flags: blocking-weave1.3+
Attached patch works okay, needs much cleanup (obsolete) — Splinter Review
Attachment #440591 - Attachment is obsolete: true
Attached patch v0.9 (obsolete) — Splinter Review
Attachment #440634 - Attachment is obsolete: true
Attachment #440833 - Flags: review?(edilee)
Attachment #440833 - Flags: review?(edilee) → feedback?(edilee)
Comment on attachment 440833 [details] [diff] [review]
v0.9

>+++ b/source/chrome/content/preferences/fx-prefs.js
>-  resetSync: function() {
>-    this.handleExpanderClick();
>-    // Trigger the move to page 2
>-    this._resettingSync = true;
Are we getting rid of this functionality? The ui still has the reset sync link.

>     let ready = false;
>     switch (this.page) {
>       case "0":
This whole isReady function is unused from fx-prefs and seems to be inlined into fx-setup anyway.

>+++ b/source/chrome/content/preferences/fx-setup.js
> var gWeaveSetup = {
>+  _settingUpNew: true,
This probably doesn't need to be explicitly declared here as it'll get set.

>+    this.wizard.getButton("cancel").label = "Later";
Needs a string

>+  changePassword: function () {
>+    Weave.Utils.openGenericDialog("ChangePassword");
>+  changePassphrase: function () {
>+    Weave.Utils.openGenericDialog("ChangePassphrase");
Are these needed here?

>   onPageShow: function() {
>     switch (this.wizard.currentPage.pageIndex) {
>+      case 0:
>+      case 1:
>+      case 5:

Magic numbers makes this hard to review and probably edit.. maybe we could stick some consts at the top const PAGE_CAPTCHA = 4;

Also, might make switching pages a bit saner, e.g., wizard.pageIndex = PAGE_EXISTING;

>+    this._handleNoScript(false);
>     Weave.Svc.Prefs.reset("firstSync");
>+    Weave.Status.service == Weave.STATUS_OK;
>     Weave.Service.login();
>+    Weave.Service.syncOnIdle(1);
Probably should add a persistLogin call when finishing the wizard.

>+++ b/source/chrome/content/preferences/fx-setup.xul
>+  <wizardpage id="useExisting" 
>+              label="Enter Account Information"
>+  <wizardpage id="mergeOptionsChoice" label="How do you want to start off?">
Got some strings here and elsewhere..

>+++ b/source/chrome/content/sync.js
>-<!ENTITY setup.page1Title.label     "&setup.generalTitle.label; - Page 1 of 4">
During the user study, one comment was that it was nice to know how many more pages there would be.
Attachment #440833 - Flags: feedback?(edilee) → feedback+
(In reply to comment #3)
> (From update of attachment 440833 [details] [diff] [review])
> >+++ b/source/chrome/content/preferences/fx-prefs.js
> >-  resetSync: function() {
> >-    this.handleExpanderClick();
> >-    // Trigger the move to page 2
> >-    this._resettingSync = true;
> Are we getting rid of this functionality? The ui still has the reset sync link.

nope, just refactored.

> >     let ready = false;
> >     switch (this.page) {
> >       case "0":
> This whole isReady function is unused from fx-prefs and seems to be inlined
> into fx-setup anyway.

removed.

> >+++ b/source/chrome/content/preferences/fx-setup.js
> > var gWeaveSetup = {
> >+  _settingUpNew: true,
> This probably doesn't need to be explicitly declared here as it'll get set.

removed.

> >+    this.wizard.getButton("cancel").label = "Later";
> Needs a string

Fixed

> >+  changePassword: function () {
> >+    Weave.Utils.openGenericDialog("ChangePassword");
> >+  changePassphrase: function () {
> >+    Weave.Utils.openGenericDialog("ChangePassphrase");
> Are these needed here?

changepassphrase and resetpassword (added) are, changepassword is not.

> >   onPageShow: function() {
> >     switch (this.wizard.currentPage.pageIndex) {
> >+      case 0:
> >+      case 1:
> >+      case 5:
> 
> Magic numbers makes this hard to review and probably edit.. maybe we could
> stick some consts at the top const PAGE_CAPTCHA = 4;
> 
> Also, might make switching pages a bit saner, e.g., wizard.pageIndex =
> PAGE_EXISTING;

Good point, done.

> >+    this._handleNoScript(false);
> >     Weave.Svc.Prefs.reset("firstSync");
> >+    Weave.Status.service == Weave.STATUS_OK;
> >     Weave.Service.login();
> >+    Weave.Service.syncOnIdle(1);
> Probably should add a persistLogin call when finishing the wizard.

We have one for each setup flow, but we can/should leave this until the end. Fixed.

> >+++ b/source/chrome/content/preferences/fx-setup.xul
> >+  <wizardpage id="useExisting" 
> >+              label="Enter Account Information"
> >+  <wizardpage id="mergeOptionsChoice" label="How do you want to start off?">
> Got some strings here and elsewhere..

fixed, I think.

> >+++ b/source/chrome/content/sync.js
> >-<!ENTITY setup.page1Title.label     "&setup.generalTitle.label; - Page 1 of 4">
> During the user study, one comment was that it was nice to know how many more
> pages there would be.

Not sure this is long enough to rate that, especially for a single comment, we can revisit later.
Attached patch v0.95 (obsolete) — Splinter Review
Comments addressed.  Only thing left is to figure out how to handle wrong PP/PW.
Attachment #440833 - Attachment is obsolete: true
I know this isn't right for PP errors.
Attachment #440883 - Attachment is obsolete: true
Attached patch v1Splinter Review
Attachment #440910 - Attachment is obsolete: true
Attachment #440927 - Flags: review?(edilee)
Blocks: 557847
Blocks: 559567
Whiteboard: [b1]
Comment on attachment 440927 [details] [diff] [review]
v1

r=Mardak w/ pastebin fix for showing failed secret phrase message/link

>+++ b/source/chrome/content/preferences/fx-prefs.xul
>-                  <button id="connectButton" oncommand="gWeavePane.handleConnectCommand()"
>-                          disabled="true"/>
>-                  <image id="connect-throbber"
>-                         src="chrome://global/skin/icons/loading_16.png"
>-                         hidden="true"/>
>+                  <hbox>
>+                    <button id="connectButton" oncommand="gWeavePane.handleConnectCommand()"
>+                            disabled="true"/>
>+                    <image id="connect-throbber"
>+                           src="chrome://global/skin/icons/loading_16.png"
>+                           hidden="true"/>
>+                  </hbox>
Funky stretching magic happens with images inside boxes. I forget what you need to add to the hbox or the image to get it the right size..
Attachment #440927 - Flags: review?(edilee) → review+
http://hg.mozilla.org/labs/weave/rev/daaab883742a
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Verified fix on weave1.3b1
Status: RESOLVED → VERIFIED
Target Milestone: --- → 1.3b1
Whiteboard: [b1]
Component: Firefox Sync: UI → Sync
Product: Cloud Services → Firefox
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: