Browse wiki

Jump to: navigation, search
Support/Firefox Features/Clean up user profile
Feature accessibility lead `  +
Feature accessibility notes `  +
Feature accessibility review `  +
Feature accessibility status `  +
Feature additional members `  +
Feature dependencies This will probably require the expertise of installer, migration, and Firefox front-end hackers, reviewers, and testers. * [ bug 700898] - test harness for migration tools  +
Feature engineering notes Migrators to just copy the relevant files has landed (except add-ons). Can iterate as necessary to better handle corrupt files.  +
Feature engineering status Startup crash detection landed in 12. Migrator with stub import landed (no add-ons). Safe mode dialog UI landed in 15.  +
Feature engineering team Desktop front-end  +
Feature feature manager Matthew Noorenberghe  +
Feature functional spec There are three ways the Reset Firefox fea
There are three ways the Reset Firefox feature can be accessed: #During installation we can detect or be told by the user that this is a repair attempt. That information will then be passed on to Firefox which will start the Reset Firefox process. Note that the reset process is not performed by the installer. #A third consecutive startup crash will trigger Firefox to offer to start in safe mode or to reset Firefox. #A user can start this process by clicking a "Reset Firefox" button on the Troubleshooting Information (about:support) page. When the Reset Firefox command is invoked, Firefox will: #Confirm with the user what actions are about to be taken #Create a new user profile #Migrate user data #*Bookmarks #*History #*Saved passwords #*Autofill form/search data #*Extensions and themes #Reset toolbars and controls #Reset all user preferences to Firefox defaults #Disable all add-ons and switch to the default theme #Then Firefox will open using the new profile. #*''asa said: "do we want to load the add-ons manager on this restart so users can see they still have add-ons but those have been set to disabled? do we want to migrate their add-on prefs as well? #** We don't know which add-on prefs are safe so I suggest not –– MattN''
prefs are safe so I suggest not –– MattN''  +
Feature health OK  +
Feature implementation notes #<span style="color: green; font-size:
#<span style="color: green; font-size: 80%; font-weight: bold">[DONE]</span> in Mozilla 13 - [ bug 294260] – Safe Mode: Auto detect previous start-up failure and offer to start in safe mode #<span style="color: green; font-size: 80%; font-weight: bold">[DONE]</span> in Mozilla 12 - [ bug 273874] – Create migrator with bookmark support and simple file copies ([ dependencies]) #UI to reset profile #* <span style="color: green; font-size: 80%; font-weight: bold">[DONE]</span> in Mozilla 15 - [ bug 732303] - startup crashes & safe mode dialog #* <span style="color: green; font-size: 80%; font-weight: bold">[DONE]</span> in Mozilla 13 - [ bug 717070] - about:support with dialog #* [ bug 750979] - Installer Reset option - Add profile reset option to installer on re-install # Other migrations ## <span style="color: green; font-size: 80%; font-weight: bold">[DONE]</span> in Mozilla 12 - [ bug 721265] - form history ## add-ons # <span style="color: green; font-size: 80%; font-weight: bold">[DONE]</span> in Mozilla 15 - [ bug 731047] - Privacy – Functionality to clean up the old profile # Make data migration more conservative #* prefer data export + import rather than file copies
ta export + import rather than file copies  +
Feature implementation plan Notes to keep in mind: * There are two dif
Notes to keep in mind: * There are two different kinds of startup crashes: *# Caused by a user's profile *# Caused by code that loads in all profiles - may still crash on a new profile *#* I think that third-party code (except plugins) wouldn't get loaded in safe mode but if malware has infected Firefox install files then this will still be a problem. *#** The installer repair workflow may fix some of this. * The Reset Firefox process should run in <strike>safe mode to prevent crashes</strike> – runs in a new profile instead and pulls data * Non goal: Another option is to add a button to restart in safe mode from about:sessionrestore when it had trouble restoring the session. [ bug 347680] * Safe mode should always be used before reset since reset causes data loss which may be unnecessary if safe mode would have solved the problem. As a result, I think that a button to restart in safe mode is a higher priority for about:support than going directly to a reset. ** The safe mode dialog could provide a method to reset the profile ** Less discoverable * We need to make the distinction between the reset process and making permanent changes in safe mode more clear as they appear to do the same thing in the UI. In reality, resetting involves more data loss since it's actually going to migrate only high priority data to a new profile. * Use prefs in the profile to keep track of crashes for startup crash detection * Add command-line argument(s) and/or environment variable(s) to launch the reset process ** This is needed so that the installer has a way of telling Firefox to repair after installation * Migration to a new profile ** Use profile migrator infrastructure *** Can only migrate from the default/selected profile since the Toolkit Profile Service is going to be replaced in [ bug 214675] * Migration of Places data (notes from rnewman) ** Queries refer directly to a Places ID. If you do a low-level migration to a new DB, make sure that you don't break those foreign pseudo-keys! ** Note that Sync relies on the GUIDs assigned to records. Those must persist. ** For now, the entire places.sqlite file and bookmarkbackups directory are copied to the new profile. * Interaction with Sync (notes from rnewman; feel free to ask for clarification): ** <span style="color: orange; font-size: 80%; font-weight: bold">[TODO]</span> N.B. , clearing all user-set prefs will eliminate the user's Sync configuration, with unpleasant consequences. (Take a look in about:config for services.sync.*.) If you start a blank profile, it'll pull down all the old prefs from the Sync server. If you preserve timestamps, the new values won't necessarily be uploaded, unless you send Sync the correct observer notifications for change events. ** Note that Sync whitelists prefs to sync between devices (services.sync.prefs.*). You might want to think about that. ** Similar caveats apply to other data stored in Sync. Making this feature work correctly with Sync will need a little bit of thought. * DONE - Make sure that UI isn't exposed in cases where we won't migrate due to ToolkitProfileService limitations
e due to ToolkitProfileService limitations  +
Feature landing criteria * Ensure migration of a profile that had sync setup still works - Done  +
Feature lead engineer Matthew Noorenberghe  +
Feature list Desktop  +
Feature localization lead `  +
Feature localization notes `  +
Feature localization review `  +
Feature localization status `  +
Feature name Ability to clean up user profile  +
Feature non-goals *A [[Support/Firefox Features/Clean install|Clean Install]] is another repair process that is not covered by this feature.  +
Feature open issues and risks *Since OS X and Linux don't have installers, we don't have a way to trigger this process for them upon re-installation. The other use-cases are still valid though.  +
Feature operations lead `  +
Feature operations notes `  +
Feature operations review ` +
Feature operations status `  +
Feature overview '''The Reset Firefox feature will provide
'''The Reset Firefox feature will provide a way for users to automatically fix Firefox by creating a new profile and migrating their data (bookmarks, history, passwords, etc).''' This feature falls primarily in the '''Experience''' category (from the "Discover, Experience, and Connect" vision statement.) There are a number of serious Firefox issues (not starting, crashing, unexpected behavior, lost toolbars and more) that can be solved by creating a new profile. The problem is, creating a new profile (which is an incredibly difficult task) is not enough. A user will almost always want to also migrate their data to the new profile which is another difficult task. See these two articles ([ 1], [ 2]) for complete steps. Many users try to reinstall Firefox to solve these issues but reinstallation doesn't do anything to the profile folder. Providing this option upon reinstallation and, in addition, offering this after consecutive start-up crashes and on the Troubleshooting Information page will make this feature both intuitive and discoverable. *There is a plan to remove the Profile Manager UI ([ Bug 214675]) and add an external Profile Manager application ([ Bug 539524]). This solution is fine from a testing point of view but for the user who is just trying to fix Firefox this will complicate an already difficult process. Our feature would make the removal of the profile manager ui irrelevant from the user's point of view.
irrelevant from the user's point of view.  +
Feature priority P1  +
Feature privacy lead `  +
Feature privacy notes `  +
Feature privacy review `  +
Feature privacy status `  +
Feature product manager Asa Dotzler  +
Feature product marketing lead `  +
Feature product marketing notes `  +
Feature product marketing status `  +
Feature products notes `  +
Feature products status `  +
Feature project `  +
Feature qa lead Ioana Budnar  +
Feature qa notes [ Test Plan]  +
Feature qa review `  +
Feature qa status Signed off  +
Feature rank 9  +
Feature requirements *Easy to use *Easy to discover (Ideally the user shouldn't have to go to SUMO to figure this out)  +
Feature roadmap User Support  +
Feature secondary roadmap `  +
Feature security health `  +
Feature security lead `  +
Feature security notes [[Security/Reviews/CleanUpUserProfile]]  +
Feature security review sec-review happened on 2012-02-03. Completed 2012-03-05.  +
Feature security status sec-review-complete  +
Feature stage Shipped  +
Feature status Complete  +
Feature status note Startup crash detection landed in 13. Migrator with stub import landed (no add-ons) in 12. UI to initiate from about:support landed in 13. UI from safe mode dialog landed in 15.  +
Feature theme Experience  +
Feature users and use cases The goal is to take a difficult and confus
The goal is to take a difficult and confusing repair process that most people never discover (and often need one-on-one help to complete when they do find it) and turn it into an easy and discoverable operation that can be done by most users without guidance. Example 1:<br> A user determines that "something" is wrong with Firefox, so they attempt to fix it by reinstalling. When the installer detects that the same version of Firefox already exists on the computer it will offer the option to repair Firefox by resetting it to its default state. That intent can be passed on to Firefox and the reset process will be started the next time Firefox starts. Example 2:<br> After a third consecutive start-up crash, Firefox will offer to either start in safe mode so diagnosis can be done or to reset Firefox to it's default state. Example 3:<br> A SUMO article or helper can direct a user to a simple method for repairing Firefox by accessing the Troubleshooting Information page and clicking the Reset Firefox button.
age and clicking the Reset Firefox button.  +
Feature ux design '''Preliminary Mockups:''' *[http://people
'''Preliminary Mockups:''' *[ Reset Firefox on re-installation] *[ Reset Firefox after a crash] *[ Reset Firefox from the Troubleshooting Information tab]
from the Troubleshooting Information tab]  +
Feature ux lead Alex Limi  +
Feature ux notes `  +
Feature ux status `  +
Feature version Firefox 13  +
Categories Feature Page
Modification date
This property is a special property in this wiki.
10 April 2013 01:12:32  +
hide properties that link here 
  No properties link to this page.


Enter the name of the page to start browsing from.