Bug Hunting Session
Bug 88585 - Feature request: user profile synchronization across multiple LO installs
Summary: Feature request: user profile synchronization across multiple LO installs
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: All All
: low enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
: 122402 (view as bug list)
Depends on:
Blocks: User-Profile
  Show dependency treegraph
 
Reported: 2015-01-19 14:23 UTC by yanjingtao
Modified: 2019-01-01 21:52 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments
Original file (12.50 KB, application/vnd.sun.xml.writer)
2015-11-12 04:07 UTC, MBB
Details
Russ Phillips' dictionary import-export macro, in ODF file (25.57 KB, application/vnd.oasis.opendocument.text)
2015-11-12 04:10 UTC, MBB
Details

Note You need to log in before you can comment on or make changes to this bug.
Description yanjingtao 2015-01-19 14:23:01 UTC
Hi,

We discussed this feature in the Chinese LibreOffice Group, and we think user synchronization is necessary, this feature has follow functions:

     1. Synchronization all user settings.
     2. Synchronization all user templates.
     3. Synchronization all user extensitions.
     4. Synchronization all user gallerys.
     5. Synchronization all user macros.
     6. Synchronization all user dictionaries.
     7. User can synchronizate his profile using his own server or LibreOffice's server.

As many people has more than one OS or computer, when they change the settings in one OS, they will need to synchronizate them to other OSs.
Comment 1 V Stuart Foote 2015-01-19 20:33:37 UTC
@yanjingtao, *,

Any reason that simply copying per-user profile from system to system is not sufficient?

So, guess this would have to be per individual user, where one of their systems would need to be designated to host the "master" profile--and then other systems would have to have access to it to synchronize against it. Both to upload profile changes while using "slave" systems, but to also download user profile to "slave" systems needing synchronize user-profiles.

Guess that might be functional--but, I don't see this as being something that TDF would want to host for users. Are you suggesting that LibreOffice host this as a service for users? Infrastructure for that does not exist and would be prohibitive.
Comment 2 yanjingtao 2015-01-20 01:31:46 UTC
Hi vstuart,

>> Any reason that simply copying per-user profile from system to system is not sufficient?

Copy profile is not convenient, like me, I have 3 OS in my own computer(Linux/MacOS/Windows),and my business computer has 2 OS(Linux/Windows), when I change my settings like color map, I have to copy it to any other OS, and sometime I would forget to copy it, then, I have unconsistency using habits, it's not happy.

>> So, guess this would have to be per individual user, where one of their systems would need to be designated to host the "master" profile--and then other systems would have to have access to it to synchronize against it. Both to upload profile changes while using "slave" systems, but to also download user profile to "slave" systems needing synchronize user-profiles.

Yes, like firefox synchronization.

>> Guess that might be functional--but, I don't see this as being something that TDF would want to host for users. Are you suggesting that LibreOffice host this as a service for users? Infrastructure for that does not exist and would be prohibitive.

Maybe user can host this service by himself? But I think If TDF can host a service is the best choice.
Comment 3 QA Administrators 2015-09-04 02:56:18 UTC Comment hidden (obsolete)
Comment 4 Dennis Roczek 2015-09-14 22:04:18 UTC
totally valid user enhancement request. --> confirmed
Comment 5 MBB 2015-10-17 16:12:02 UTC
In&Export Dictionaries / Sync Profile. 

With the new feature of Cloud providers, and increasing completion of the Android version, I imagine a desire arises  to sync profiles. 

I have been thinking about this too, but I am not a programmer just an LO fan.  Also don't actually need this myself, but thought it could become an important issue with Mobile and Cloud versions. 

A first step could be the in/and export of Custom dictionaries. 
In the long term, this could be build up to complete profile synchronization. (Dictionaries, settings, UI modification, shortcuts, Persona's, etc?)

Perhaps based on the Mozilla Sync, as parts of Mozilla are already used in the Android, Cloud and possibly Update mechanisms?
There already exists an independent Firefox Sync Server that can be modified. 
https://github.com/mozilla-services/syncserver

It may also increase the business case for companies like Collabora and IceWarp for hosting sync servers for customers (with x % going to LO project), and/or large Profile Servers for businesses. 


Detailed plan of possible needed functions: 
UI element 
Create export mechanism of the file (copy x.dic )
 - set 'Track Changes' flag?
 - create check-sum?
Create import mechanism: 
- check file integrity/compatibility 
- compare dictionary list with the right internal dictionary
 - use the in-build compare documents?'
 - or a lighter alternative because they are plain text?

UI: Set import/export location
  accept/reject changes
 - check location x for chances on start-up/interval?

Cloud auto-sync
 - select dictionaries and Cloud services with priorities.
Comment 6 MBB 2015-11-12 04:07:02 UTC
Created attachment 120488 [details]
Original file
Comment 7 MBB 2015-11-12 04:08:26 UTC
I have done some more research, covering the following topics

- Dictionary sync Work-around
– Found existing Dictionary in/export
– Demand for the sync feature in LO or other FOSS
– Third-party sync
- Third-party Spell check dictionaries
- Conclusion

Link to User Profile Wiki: 
https://wiki.documentfoundation.org/UserProfile#User_profile_content

Dictionary sync work-around. 
On AskLibreOffice, a workaround is posted on how to change the storage location of your dictionaries to a synced directory. 
On the internet, some hack attempts are available on how to use system-links to do the same. 
As dictionaries are only written away when closing, it may lead to data loss when using two connected LO programs at the same time. 
Doing this with the entire profile directories does sound like a recipe for disaster. 
https://ask.libreoffice.org/en/question/20232/sync-custom-dictionaries-across-many-computers/

Found existing Dictionary in/export
I found a macro script by Russ Phillips from 2004 for OO that is still compatible (LO 5.0.1.2), and could be used as example. 
I think the licence allows for hosting on the plug-in page, and to rework it into a macro. I am not sure if it allows to be used in the main code. 
It ADDS all words from a text file to a chosen dictionary, and can export (REPLACE) a dictionary to a text file. So it can not be used to sync the removal of words. 
On import, no double words are added. Words with different capitalisation are added

Link: http://sourceforge.net/projects/ooomacros/files/Import_Export%20Dictionary%20Words/
Added macro and file as attachment. 

Licence from the file: 
“Licence Copyright (c) 2004 Russ Phillips
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sub license, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.” 


Is Syncing a much wanted feature in?

Is Syncing a much wanted feature for LibreOffice or other FOSS software?
Apparently not. 

A quick google on"LibreOffice export settings" and "LibreOffice synchronize settings" gives a 200.000 hits, but only 3 or 4 on the first page seem relevant. 

Similar searches on OpenOffice and Gimp gave even lower hits. 

A search of "OpenOffice export dictionary" gives 3 pages with more or less relevant hits.
A search for ' Sync” on AskLibreOffice gives about 4 tot 5 hits. 


Third-party sync

Reversely; you could try to find a third-party tool that exports LO's settings, and imports them elsewhere. Probably not going to be cross-platform.
For Windows you could modify SaveGameBackup, which is under GPL2
http://sourceforge.net/projects/savegamebackup/
(unfortunately it's homepage seems to have closed down in 2012, and you'll need to use the Wayback Machine to read the forums :-(

For the end-user this sort of system it would be easy to have just one system (FOSS) program to select all settings of all (FOSS?) programs to sync with only one server. It could have plug ins/scripts for LO, AOO, Firefox, Gimp, Digikam, etc. 
It would also make them independent from Google, Microsoft and Apple to choose their own sync server.

However, it would probably need a lot of continued development to keep it compatible with ALL updates on ALL platforms. 
So having LO handle it's own import/export/sync is probably more realistic. 

Third-party spell check dictionaries. 
Once it works it might be nice to add functionality to synchronize with custom dictionaries from other programs. However this is more difficult as they may need words that are not in that programs normal dictionaries but are in LibreOffice standard dictionaries. Or reverse. 
For completeness, I have looked up some dictionary locations
Firefox: %AppData%\Mozilla\Firefox\Profiles\xxx.default\persdict.dat (plain text)
MS Word: C:\Documents and Settings\<user>\Application Data\Microsoft\Proof\custom.dic (txt)
or \Uproof\custom.dic
Opera (old?) profile\dictionaries\en.oow	 - Do not use notepad (unix/mac End of Line problems) 


Conclusion
Dispite the lack of demand for it so far, it does feel as a feature that will be needed to integrate the desktop versions with the Android and Cloud profiles of users. 
It could also encourage the exchange of Custom dictionaries for specialized fields. 
It would also guaranty independence from sharing your sync settings from proprietary vendors as Microsoft and Google from accessing your settings, although settings are not all that secret. 

The best way still seems to re-use the Mozilla/Firefox sync, as it overlaps with some already re-used code and has an independent free server. 
It might be written in a way to allow syncing of both LO and FF, and in the future plug ins for other (FOSS) programs. 
(Such multi-foss sync server program for it can be hosted by the Document Foundation or by Mozilla, )

The lowest barrier of implementing would be using files stored on existing file sync servers  (dropbox et) accessible by the OS or by LO's new Sync Storage interface. 

Further studies for commercialization by LO providers or third parties to host specialized sync servers can be done.
Comment 8 MBB 2015-11-12 04:10:35 UTC
Created attachment 120489 [details]
Russ Phillips' dictionary import-export macro, in ODF file
Comment 9 Andre Klapper 2019-01-01 21:52:30 UTC
*** Bug 122402 has been marked as a duplicate of this bug. ***