Issue 127088

Summary: Provide Windows AOOfix Tool for resetting/repairing User Profiles
Product: General Reporter: orcmid <orcmid>
Component: spell checkingAssignee: AOO issues mailing list <issues>
Status: CONFIRMED --- QA Contact:
Severity: Normal    
Priority: P5 (lowest) CC: hanya.runo, john.ha24, mseidel, pescetti
Version: 4.1.2   
Target Milestone: ---   
Hardware: PC   
OS: Windows, all   
Issue Type: TASK Latest Confirmation in: ---
Developer Difficulty: ---
Attachments:
Description Flags
Contains Python macro none

Description orcmid 2016-08-24 16:43:18 UTC
This task applies to Issue 120463 and Issue 121930.  This task is specifically for work on the Windows version.  Development for other platforms requires separate tasks and probably different Assignees.

The purpose is to provide a side-car tool that can be installed separately and used to recover from common User Profile defects.

The development will be iterative, starting with simplest fixes first.

Because the tool is only needed when a problem occurs, the tool will be recommended as a remedy when reports come in.  There will be other places where the availability of the tool for trouble-shooting, etc., will be reported.  The tool may remain in beta for a considerable time until there is feedback on its successful use in emergency situations.

The tool will be limited to operation with Apache OpenOffice 4.  This is a stop-gap measure until the provision of the tool/feature is automatically part of Apache OpenOffice binary distributions.
Comment 1 orcmid 2016-09-24 17:26:11 UTC
Because of higher-priority activities on the Project Management Committee and my need to retire from community open-source projects soon, I cannot pursue this task and have removed the assignment to myself.
Comment 2 John 2016-10-09 10:04:57 UTC
See Comment 102 at https://bz.apache.org/ooo/show_bug.cgi?id=121930#c102

When the user profile is reset by deleting or renaming ...\user, AOO creates a new default user profile and the user loses all their user dictionary words, word completion items etc, and, strangely, all their macros! See Issue 126952 - Resetting the profile loses all macros (and events too?) (and on upgrade or re-install?).

As I believe it is only necessary to create a new registrymodifications.xcu file I think that what is required is:

1  Close AOO 
2  Rename ...\user to ...\user-old
3  Start AOO - this creates a new ...\user
4  Close AOO
5  Copy the new registrymodifications.xcu file to ...\user_old
6  Delete ...\user
7  Rename ...\user_old to ...\user

Note:  AOO MUST be closed for Step 5. 

If AOO was started with the original, faulty registrymodifications.xcu, and registrymodifications.xcu is replaced, then when AOO closes, it writes back the original (plus any changes made while AOO was open) registrymodifications.xcu from memory and overwrites the new one.

Many forum posters have followed that technique successfully.  It is also documented in Hagar's [Tutorial] The OpenOffice User Profile at https://forum.openoffice.org/en/forum/viewtopic.php?f=74&t=12426

Also see Issue 127157 - Styles and Formatting window does not open - apparent cause is corrupted registrymodifications.xcu file.
Comment 3 hanya 2016-10-10 07:59:35 UTC
Created attachment 85720 [details]
Contains Python macro

Concept Python macro to remove broken configuration data from extension 
registry database backend.
The contained macro provides only way to remove configuration which contains 
org.openoffice.Office.Linguistic configuration in registry backend.
If configuration file contains path to removed dictionary file, a part of entry 
is packed into comment. And then the entry of the configuration file is commented in backenddb.xml file.

Way to test this: 
- Prepare broken user's configuration about spell check dictionaries. 
- Close office application. If you enabled quickstarter, close it also.
- Start the office.
- Put config_backend_cleaner.py file into user's profile/Scripts/python directory.
- Execute "check" or "cleanup" macro through Tools - Macros - Organize Macros - Python.
- Close the office.
- Restart the office.
- Remove and reinstall dictionary extensions through Tools - Extension Manager if required.
Comment 4 John 2016-10-10 11:49:00 UTC
hanya

Thank you - your understanding of AOO is much more comprehensive than mine.  I hope Comment 2 did not confuse things :-(

I am asking on the forum for a copy of a complete broken profile so the macro can be tested against a recent incident.  See [Solved] Red squiggly lines on everything I write at https://forum.openoffice.org/en/forum/viewtopic.php?f=7&t=85384&p=398617#p398617
Comment 5 John 2016-10-11 09:07:25 UTC
hanya

Small correction ...

You say "Put config_backend_cleaner.py file into user's profile/Scripts/python directory" but, while there is a folder C:\Users\xxxxxx\AppData\Roaming\OpenOffice\4\user\Scripts, AOO does not find the macro in that folder, nor in a sub folder I had to create \Python.

I had to place the macro in C:\Program Files (x86)\OpenOffice 4\share\Scripts\python for AOO to see it, and that needed Administrator permission.

I am writing a tutorial "Spell checker "red wriggly lines" - beta test fix" at https://forum.openoffice.org/en/forum/viewtopic.php?f=74&t=85529 so that we can test this with users.
Comment 6 hanya 2016-10-11 09:17:33 UTC
(In reply to John from comment #5)
> You say "Put config_backend_cleaner.py file into user's
> profile/Scripts/python directory" but, while there is a folder
> C:\Users\xxxxxx\AppData\Roaming\OpenOffice\4\user\Scripts, AOO does not find
> the macro in that folder, nor in a sub folder I had to create \Python.
On some environment, name of "python" directory is case sensitive. But I'm not sure 
it also applied to Windows environment.
Comment 7 John 2016-10-11 09:44:51 UTC
hanya - Thanks - it was case sensitive

When I created C:\Users\John\AppData\Roaming\OpenOffice\4\user\Scripts\python\config_backend_cleaner.py, AOO found it under Tools > Macros > Organise macros > Python > My Macros.