On 11/04/2019 21:17, Jelle de Jong wrote:
I am trying to convert changes to /home/$USER/.config/libreoffice/4/user/registrymodifications.xcu into systemwide configuration for users that start libreoffice for the first time under linux with systemwide settings.I tried placing a xml file in /usr/lib/libreoffice/share/registry/registrymodifications-system-wide.xcu but I can not seem to get the syntax right.
Directly in share/registry/ the file would need to have .xcd extension and adhere to officecfg/registry/data.dtd. That means that those <item oor:path="..."> elements would not be supported, just the more tedious hierarchical <node oor:name="..."> ones (see officecfg/registry/component-update.dtd for details; seems I never came around to lifting the requirement that an .xcu nested inside an .xcd can only have an oor:component-data top-level element, not an oor:items one).
However, the share/registry/ config layer also supports .xcu files in a data/ sub-dir, so similar to the hack of adding a share/registry/registrymodifications-system-wide.xcd you could use the hack of adding a share/registry/data/registrymodifications-system-wide.xcu into which you could easily copy-paste items from a registrymodifications.xcu:
<?xml version="1.0"?> <oor:items xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oor="http://openoffice.org/2001/registry"> <item oor:path="/org.openoffice.Office.Common/Save/Document"><prop oor:name="WarnAlienFormat" oor:op="fuse"><value>false</value></prop></item> <item oor:path="/org.openoffice.Setup/Office/Factories/org.openoffice.Setup:Factory['com.sun.star.text.TextDocument']"><prop oor:name="ooSetupFactoryDefaultFilter" oor:op="fuse"><value>MS Word 2007 XML</value></prop></item> <item oor:path="/org.openoffice.Setup/Office/Factories/org.openoffice.Setup:Factory['com.sun.star.presentation.PresentationDocument']"><prop oor:name="ooSetupFactoryDefaultFilter" oor:op="fuse"><value>Impress MS PowerPoint 2007 XML</value></prop></item> <item oor:path="/org.openoffice.Setup/Office/Factories/org.openoffice.Setup:Factory['com.sun.star.sheet.SpreadsheetDocument']"><prop oor:name="ooSetupFactoryDefaultFilter" oor:op="fuse"><value>Calc MS Excel 2007 XML</value></prop></item> </oor:items>
(The non-hacky way, of course, is to create an .oxt LO extension that you install system-wide.)