Управление настройками

При развертывании офисного пакета на предприятии обычно возникает необходимость в централизованном управлении его настройками, а иногда — еще и в контроле этих настроек. Чтобы, если пришло письмо из безопасности вида: «До такого-то числа просьба предоставить информацию, что на компьютерах с Office можно запускать только макросы, подписанные цифровой подписью из доверенного удостоверяющего центра», можно было тут же сгенерировать доказательный отчет. Рассмотрим, как производится управление настройками в разных офисных пакетах.

Управление настройками в Microsoft Office

Здесь все отработано десятилетиями. Настройки хранятся в реестре, для управления ими используются групповые политики (которые не устанавливаются по умолчанию с Active Directory, шаблоны групповых политик Microsoft Office нужно скачивать отдельно). Для проверки и отчетов на предприятиях обычно используются базовые показатели конфигурации (Compliance Baseline) в System Center Configuration Manager. А для того, чтобы пользователи могли хранить свои индивидуальные настройки централизованного, без привязки к конкретному компьютеру (что очень удобно, например, при работе пользователей через терминальную ферму) Microsoft предусмотрел специальный программный продукт User Experience Virtualization (UE-V). UE-V доступен бесплатно при наличии лицензии вида Software Assurance.

Управление настройками в LibreOffice

В LibreOffice все сложнее.

Во-первых, настройки хранятся не в реестре (как принято в Windows), а в файлах конфигурации (и под Windows, и под Linux). В реестре есть только ссылка на каталог установки LibreOffice. Есть версия LibreOffice, которая называется CollaboraOffice, которая хранит настройки в реестре (и с ней поставляются шаблоны групповой политики), но это продукт не бесплатный и ориентированный на совместную работу во внутрикорпоративном облаке.

Во-вторых, настройки LibreOffice предусмотрены на двух уровнях: для текущего пользователя и для всех пользователей. Посмотреть, где физически лежат файлы конфигурации, можно, если в любом приложении LibreOffice в меню Сервис выбрать пункт Параметры и в группе настроек LibreOffice выбрать Пути.

Пути к каталогам в LibreOffice

Пользовательские пути — папки для хранения настроек текущего пользователя, внутренние пути — настройки для всех пользователей. В случае конфликта между настройками для всех пользователей и текущего пользователя побеждают настройки текущего пользователя.

В разных версиях Linux пути к настройкам могут отличаться, но просмотреть пути к ним можно точно так же из интерфейса LibreOffice.

В-третьих, файлов конфигурации, как мы видим, много, и нужно еще понять, какой именно файл конфигурации нужен в данной ситуации. Большая часть настроек конфигурации хранится в файле

C:\Users\%username%\AppData\Roaming\LibreOffice\4\user\registrymodifications.xcu

Путь к нему исправить, увы, не получится. Хотя в некоторых ситуациях хотелось бы заменить его на сетевой.

Обратим внимание, что конфигурационный файл — общий для приложений LibreOffice. Значительная часть настроек общая для всех приложений, и, если вы измените эти параметры в Calc, они изменятся и во Writer.

Основной рекомендованный путь управления настройками LibreOffice — использование конфигурационных расширений (configuration extensions) в виде файлов OXT. Сам файл OXT — это просто ZIP-архив с определенной структурой файлов и папок.

Структура конфигурационного расширения LibreOffice


В файле manifest.xml в папке META_INF хранятся ссылки на файлы с расширением .xcu — файлы XML с наборами настроек. Например, в нашем примере в файле jobs.xcu определены настройки, которые отключают проверку появления новых версий LibreOffice:

<?xml version=»1.0″ encoding=»UTF-8″?>
<oor:component-data oor:name=»Jobs» oor:package=»org.openoffice.Office»
xmlns:oor=»http://openoffice.org/2001/registry»
xmlns:xs=»http://www.w3.org/2001/XMLSchema» >

<!— disable automatic updates —>
<node oor:name=»Jobs»>
<node oor:name=»UpdateCheck»>
<node oor:name=»Arguments»>
<prop oor:name=»AutoCheckEnabled» oor:type=»xs:boolean» oor:finalized=»false»>
<value>false</value>
</prop>
</node>
</node>
</node>

</oor:component-data>

Пошаговую инструкция по тому, как создавать свои конфигурационные расширения с примерами можно найти на сайте справки LibreOffice:

https://wiki.documentfoundation.org/images/b/b0/LibreOffice_config_extension_writing.pdf

Но обычно проще взять готовый образец со структурой и переделать его под себя.

После того, как структура каталогов и файлов будет создана, нужно запаковать ее в ZIP, потом переименовать в OXT, и затем просто щелкнуть по этому файлу мышкой. Откроется окно расширения LibreOffice (см. рис), в котором можно добавлять/удалять расширения (включая конфигурационные).

Окно управления расширениями LibreOffice

Добавить расширение из командной строки можно при помощи утилиты unopkg, которая лежит в каталоге программных файлов LibreOffice. Пример применения этой утилиты для добавления нового расширения может выглядеть так:

C:\Program Files\LibreOffice\program>unopkg add —shared path_filename.oxt

Если вы что-нибудь напортили в настройках LibreOffice так, что он не хочет запускаться или запускается, но с загадочными сообщениями, можно просто удалить папку настроек

C:\Users\%username%\AppData\Roaming\LibreOffice

При следующем запуске LibreOffice сформирует ее заново с настройками по умолчанию. Путем копирования этой папки, можно, конечно, и произвести перенос настроек LibreOffice на другой компьютер, и выполнить резервное копирование настроек.

К сожалению, толкового описания всех параметров конфигурации LibreOffice в сети нет (автор находил только очень старую для OpenOffice). Сами разработчики объясняют это тем, что разные модули пишут разные люди и пока не нашлось добровольца, который бы создал подробную документацию по всем параметрам всех модулей LibreOffice. Поэтому пока предлагается вносить изменения в конфигурацию на графическом экране через Cвойства в приложении LibreOffice и средствами типа WinMerge отслеживать, что изменилось в файле registrymodifications.xcu. Или же можно разбираться с исходным кодом LibreOffice. Безобразие, конечно, но, надо сказать, что у Microsoft Office также существует масса недокументированных параметров конфигурации, и далеко не все описаны в шаблонах групповой политики.

На некоторых предприятиях, известных автору, с конфигурационными расширениями вообще не возятся, а правят файлы конфигурации напрямую. Настройки LibreOffice представляют собой файлы XML, поэтому нужен скрипт, который умеет искать в XML нужный элемент/атрибут и править его значение. На некоторых предприятиях скрипты отрабатывают при входе пользователя и правят XML-файл настроек (чтобы не трогать другие индивидуальные настройки, которые мог сделать под себя сам пользователь). На других предприятиях поступают проще и в сценарии входа просто перезаписывают весь каталог AppData\Roaming\LibreOffice\4\user настроенными администратором файлами из сети.

Если на предприятии развернут Ansible, то часть работы по управлению конфигурации LibreOffice можно сделать при помощи него (развертывание LibreOffice тоже можно автоматизировать средствами Ansible).

Настройки в WPS Office, OnlyOffice/Р7 офис и Мой Офис

В WPS Office настройки хранятся в файлах XML в каталоге

C:\Users\%username%\AppData\Local\Packages\ZhuhaiKingsoftOfficeSoftw.WPSOffice_924xes6e8q1tw\LocalCache\Roaming\Kingsoft

(путь может быть слегка другим, но смысл такой же).

OnlyOffice часть настроек хранит в реестре, часть — в файлах конфигурации в C:\Users\%username%\AppData\Local\ONLYOFFICE.

МойОфис хранит настройки в реестре (в разделе HKEY_CURRENT_USER\SOFTWARE\).