Konfiguration LibreOffice

Tipps und Tricks für Administratoren zur Konfiguration von LibreOffice.


Logo LibO Konfiguration

Zwar ist das Programm LibreOffice nach der Installation sofort lauffähig und erfüllt sicher die meisten Benutzeransprüche, doch gerade in Organisationen oder Unternehmen nutzt man gerne die Möglichkeiten, das Programm an eigene Bedürfnisse anzupassen und vorzukonfigurieren. Das beginnt bei der voreingestellten Schrift, unternehmensspezifischen Erweiterungen bis hin zu Sicherheitseinstellungen oder Rechten.

Die freien Office-Suiten bieten jede Menge Möglichkeiten, solche Anpassungen vorzunehmen. Der folgende Artikel gibt einen Überblick.

Vorwort

Mit LibreOffice ist aus dem Quellcode des ehemaligen OpenOffice.org Projekt inzwischen eine eigenständige, mächtige Office-Suite entstanden. In nahezu allen Linux-Distributionen gehört LibreOffice heute zur Standardausrüstung und auch in der Windows-Welt ist es die aktuelle freie Office-Suite. So findet LibreOffice heute auch eine weite Verbreitung im Unternehmensumfeld und ist für bestehende OpenOffice-Installationen die derzeit einzige Option zum Update und so zum Schließen inzwischen bekannter Sicherheitslücken. Ein Grund mehr, sich einmal mit den Details der Konfiguration von LibreOffice auseinander zu setzen und den Weg zu verstehen, wie man auch als Administrator Einstellungen beeinflussen und Vorgaben definieren kann. Installation

Der erste Schritt ist, sich den Startprozess anzusehen und zu verstehen, wie das Programm intern arbeitet. Wird LibreOffice installiert, so werden zunächst die Programmdaten und die vorgegebenen Basiskonfiguration auf den Rechner übertragen und zwar in das Programmverzeichnis, das typischerweise keinem Benutzer zugänglich ist. Für die LibO Version 5.x ist dies zum Beispiel das Verzeichnis C:\Programme\LibreOffice 5\ unter Windows 10 (64 Bit Installation) oder /usr/lib64/libreoffice/basis5/ bei einer Linux-Distribution. Diese Basisinstallation erfolgt einmal pro Arbeitsplatz (bei Einzelplatzinstallation) beziehungsweise einmal pro Server und bildet die erste Schicht des Startprozesses. Nach der Erst-Installation des Programms existiert zunächst nur diese – und wenn ein Update erfolgt, werden auch nur die hier befindlichen Dateien ausgetauscht. Das alleine reicht aber noch nicht, um LibreOffice zu benutzen, es fehlt nämlich noch die Benutzerebene, individuell für den einzelnen User zugeschnittene Einstellungs- und Konfigurationsdateien. Diese werden – falls noch nicht vorhanden – beim ersten Aufruf des Programms zunächst angelegt und dann geladen. Verändert der Benutzer später Einstellungen in seinem Frontend (zum Beispiel Ansichtsstrukturen wie Symbolleisten oder Menübefehle) oder in seiner Arbeitsumgebung (eigene installierte Extensions, Makros), so werden diese eben im Benutzerprofil abgespeichert und sind somit immer für diesen Benutzer verfügbar.

Das Benutzerprofil wird auch während eines Updates nicht verändert, ja sogar wenn das Programm wieder entfernt (deinstalliert) wird, verbleibt das Profil im Benutzerverzeichnis und würde bei einer späteren erneuten Installation wieder gefunden und genutzt.

Eine korrekte Installation besteht also aus zwei Segmenten – der Programminstallation und der Benutzerinstallation.

Startprozesses

Abgeleitet von der Installation lässt sich nun der Startprozess abbilden.

  • Zunächst werden die Basisdaten aus dem Programmverzeichnis in den Hauptspeicher geladen – inklusiv der dort definierten und strukturierten Konfigurationsdateien, die die Grundeinstellungen für Optionen, Menüs und Symbolleisten beinhalten.
  • Als nächstes folgt das Einlesen der Benutzerkonfiguration – und der dort hinterlegten Konfigurationsdateien. Die Elemente überschreiben dabei die Werte der Programminstallation, soweit diese im Benutzerprofil neu definiert wurden.
  • Im dritten Schritt schließlich werden installierte Add-Ons und Extensions aktiviert und deren Einstellungen geladen. Auch diese können wiederum die bereits vorhandenen Einstellungen überschreiben.

Auf der Basis der Daten im Hauptspeicher wird letztendlich die UI aufgebaut und dargestellt.

Grafik Startprozess LO

Der Vorteil dieses Prozesses ist direkt ersichtlich: Die Basisinstallation (Admin-Ebene) stellt die Grundkonfiguration dar, auf Benutzerebene kann diese nun angepasst und nur für den Benutzer gespeichert werden. Add-Ons ergänzen oder verändern schließlich die individuelle Benutzeroberfläche.

Alle Einstellungen, die der Benutzer zum Beispiel über „Extras – Optionen“ verändern kann, werden im Benutzerprofil gespeichert – ebenso wie Änderungen an den Symbol- oder Menüleisten (Erreichbar über „Extras – Anpassen“).

Während für die Einzelplatz-Installation eines privaten Nutzers alle Optionen über die UI einstellbar sind und ein tieferer Eingriff weder sinnvoll noch notwendig erscheint, so wird spätestens bei der Installation von LibreOffice in einem Unternehmen klar, dass die individuelle Einstellung der Konfiguration auf jedem Arbeitsplatz weder sinnvoll noch erwünscht sind. Da LibreOffice aber alle Informationen in XML-Konfigurationsdateien ablegt, bietet sich natürlich die Möglichkeit, diese direkt zu ändern.

Wo ist was?

Zunächst erfolgt ein Blick auf die Dateistruktur, die LibreOffice während der Installation erzeugt. Die weiteren Betrachtungen beziehen sich auf eine LibO 3.5.5er Version und eine Windows 7 professionell Installation, unter Linux oder MAC OS entstehen die gleichen Strukturen, lediglich die Hauptverzeichnisse sind unterschiedlich.

Programm-Verzeichnis

Ändert man während der Installation das Zielverzeichnis nicht, so wird ein Programmordner „LibreOffice 5“ im Verzeichnis "C:\Programme(x86)" (32 bit) bzw. "C:\Programme" (64 bit) erzeugt, der ab sofort als %PROGRAMFILES%\ abgekürzt wird. Diese Verzeichnis enthält dann diverse Unterordner sowie einige Informationsdateien.

Struktur der Programminstallation

Abb.2 Die Struktur der Programminstallation

Die wichtigsten Verzeichnisse (vergleiche Abbildung):

  • presets (Vorgaben): Dieser Ordner enthält alle Basiskonfigurationsdateien, die komplett in das Benutzerverzeichnis übertragen werden. Hierzu zählen zum Beispiel Farbtabellen, Striche, Schraffuren und Pfeilspitzen (im Verzeichnis „config“), Gallery-Themen, Textbausteine und die Bibliotheksdatenbank. Einige weitere Verzeichnisse sind einfach leer – bilden aber die Struktur im Benutzerverzeichnis. Hinweis: Die Vorgaben werden nur einmal kopiert – zu dem Zeitpunkt, wenn das Benutzerverzeichnis erstmalig angelegt wird. Existiert es schon (zum Beispiel aus einer früheren Installation), werden die Daten nicht mehr übertragen.
  • program (Programmdateien): Diese Dateien bilden das „Herzstück“ der LibreOffice Installation. Sie werden beim Start von LibreOffice in den Hauptspeicher geladen und bilden das ausführbare Programm ab. Keine dieser Dateien wird in das Benutzerprofil übertragen.
  • share: In diesem Verzeichnis sind nun alle Dateien vorhanden, die gemeinsam genutzt werden (wenn auf eine Programminstallation mehrere Benutzer zugreifen) und bilden die unterste Ebene der Konfiguration – und somit auch die „Fallback“-Eigenschaften.
    Die Dateien des Share-Verzeichnisses werden zunächst in den Hauptspeicher geladen – die Informationen können aber durch andere Dateien überschrieben oder ergänzt werden. In eigenen Unterverzeichnissen finden sich zum Beispiel die vorhanden Gallery-Themen, Autockorrektur-Dateien, Textbausteine, Erweiterungen (Extensions) der Ebene „Programm“, die Beispielscripte, gemeinsame Vorlagen und vieles mehr. Das „Share“-Verzeichnis ist der passende Ort, um Informationen allen Nutzern zur Verfügung zu stellen, die auf diese Programminstanz zugreifen.
  • registry: Eine besondere Aufmerksamkeit erhält das Verzeichnis „share\registry“, denn in diesem finden sich die Basis-Konfigurationsdateien, erkennbar an der Dateierweiterung *.xcd. Über diese Konfigurationsdateien werden die Menü- und Symbolleisteneinträge konfiguriert, die Optionen auf Ihre Vorgabewerte gestellt und vieles mehr konfiguriert.

Aber Achtung: Alle Dateien sind reine Textdateien (XML-Dateien im Format UTF-8). Die Strukturen und Einträge sind hochsensibel – fehlerhafte Daten, falsche Zeilenumbrüche oder nicht identifizierbare Zeichen führen dazu, dass LibreOffice nicht mehr startet (Fehlerhafte Konfigurationsdatei – mit Folgefehler in .dll Dateien).
Alle
.xcd Dateien dieses Verzeichnisses werden beim Start von LibreOffice ausgewertet und bilden die Basis der Konfiguration.

  • config: Der Ordner „share/config“ beinhaltet die Basisstruktur aller Symbol- und Menüleisten, aufgeteilt auf die einzelnen Module und jedes der Module besitzt dann wiederum drei Unterverzeichnisse, eins für die Menüs (menubar), eins für die Symbolleisten (toolbars) und eins für die Statusleiste (statusbar) [Abb.3 – Detailstruktur des „Share/config“ Verzeichnisses]. Dort abgelegt sind die Basiseinstellungen aller Menü- und Symbolleisten, so wie sie vom Programm her voreingestellt sind.


User-Verzeichnis

Struktur der Programminstallation

Beim ersten Start von LibreOffice durch einen Benutzer wird nun in seinem Verzeichnis ein Benutzerprofil angelegt (User-Installation), das dann seine persönlichen Einstellungen enthält. Beim Erststart werden die Basiseinstellungen übernommen und in eigene Konfigurationsdateien übertragen. Auch ein config-Verzeichnis wird angelegt und dann – sobald ein Modul erstmals benutzt wird, die entsprechenden Änderungsdateien dort abgelegt. Wurde nichts geändert, so bleiben die Verzeichnisse zunächst leer.

Unter Windows 10 befindet sich das Profil im Ordner: C:\Benutzer\\AppData\Roaming\LibreOffice\4\user\ - unter Linux im Homeordner unter ~/.LibreOffice/4/user/.

Das letzte „user“-Verzeichnis stellt quasi das Benutzerprofil dar, existiert es noch nicht, so wird es angelegt. Es kann und muss genau ein Verzeichnis mit dem Namen „User“ geben, benennt man dieses Verzeichnis um, so wird es neu erzeugt. Es empfiehlt sich durchaus, genau diese Verzeichnis auch regelmäßig zu sichern, enthält es doch alle Benutzereinstellungen.

Andererseits – falls LibreOffice einmal nicht mehr funktioniert, Abstürze verursacht oder eine nicht mehr bedienbare Oberfläche darstellt, hilft es oft, dieses Benutzerverzeichnis einfach zu löschen – dann wird ein neues erstellt auf der Basis der ursprünglichen (programmeigenen) Konfigurationsdateien.

Eine zusätzliche Datei im Hauptverzeichnis fällt jedoch ins Auge: die registrymodification.xcu, also eine Konfigurationsdatei, in der alle durch den Benutzer veranlassten Änderungen gespeichert werden. Je nach Art der Änderung werden aber noch zusätzlich Ergänzungsdateien im config Verzeichnis angelegt. Wie der Name schon andeutet: Sie überschreibt die Basiseinstellungen des Programms mit den hier eingestellten Werten.

Konfiguration

Eine Anpassung der Konfiguration lässt sich nun grundsätzlich auf beiden Ebenen (Programm- und User-Ebene) vornehmen. Beide Wege haben Ihre Vor- und Nachteile. Sie werden im folgenden abgehandelt.

Unter Berücksichtigung des Installations- und des Startprozesses ergeben sich nun vier Möglichkeiten des manuellen oder auch scriptgesteuerten Eingriffs in die Basis- oder Benutzerkonfiguration von LibreOffice. Welchen Weg man tatsächlich wählt, ist immer situationsabhängig und nicht pauschal zu beantworten, aber es gibt immer mehrere Wege, das angestrebte Ziel zu erreichen.

Änderung des Installationssets

Das Installationsset von LibreOffice kommt für Windows in Form einer MSI-Datei, für Linux als .RPM oder .DEB Archiv. In allen Fällen ist es möglich, das Set direkt zu verändern und so schon während der Installation der Programm-Dateien individuelle Einstellungen vorzunehmen. Als Beispiel soll auch hier die MSI-Datei für Windows dienen.

MSI-Dateien (Microsoft Software Installation) sind Informationen, die in Tabellenform abgelegt sind und mit speziellen Programmen einfach editiert werden können. Von Microsoft selbst gibt es das Programm „ORCA“ 1) kostenfrei, ich selbst verwende das Programm „SuperOrca“ 2), eine modifizierte und verbesserte Version.

Öffnet man mit diesem Programm die MSI-Datei, so können direkt Änderungen an den Eigenschaften vorgenommen werden. Siehe Abb4 – der Wert für die Eigenschaft „CREATEDESKTOPLINK“ kann hier leicht auf nein („0“) gestellt werden, ebenso können Dateizuweisungen sehr einfach schon hier durchgeführt werden.

Struktur der Programminstallation

Abb.4: SuperOrca zum Ändern des MSI-Paketes

Weitere typische Einstellungen:

  • ISCHECKFORPRODUCTUPDATES auf 0 stellen, wenn keine automatische Suche nach Online-Updates erfolgen soll.
  • SELECT_WORD, SELECT_EXCEL, SELECT_POWERPOINT verknüpft alle ansonsten mit Word/Excel/Powerpoint verknüpften Dokumente mit LibreOffice
  • REGISTER_PPS und nachfolgende: gibt die Möglichkeit, sehr dezidiert einzelne Dateiformate mit LibreOffice zu verknüpfen
  • REGISTER_NO_MSO_TYPES verknüpft keine MS Office Dokumente mit Open/LibreOffice. Dies ist immer dann wichtig, wenn während der Installation keine Verknüpfung von MS-formaten in der registry gefunden wird – dann verknüpft LibreOffice alle MS-formate automatisch mit LibreOffice. Will man dies verhindern, muss der Wert hier auf „true“ („1“) gestellt werden!
  • REGISTER_ALL_MSO_TYPES verknüpft alle MS Office Dokumente mit Open/LibreOffice.

Beim Ändern der Einstellungen in MSI-Dateien ist jedoch Vorsicht geboten – die meisten Werte sind gar nicht oder nur sehr dürftig dokumentiert und das Risiko, etwas zu zerstören, ist sehr hoch. Lediglich in der Tabelle „Property“ lassen sich recht gefahrlos die Eigenschaften wir oben beschrieben ändern. Sinnvoll ist dies immer dann, wenn die Installation „silent“ erfolgen soll, also ohne Rückfragen beim Benutzer.

Konfigurationsanpassung der Programminstallation (Admin-Ebene)

Sind die Programmdaten erst einmal installiert, eine Benutzerinstanz aber noch nicht gestartet, lassen sich die Basis-Konfigurationsdateien gut mit einem Texteditor anpassen.

Leider sind die zugrundeliegenden xml-Dateien nicht immer leicht zu lesen und noch schwerer ist es, die Strukturen zur Konfiguration der Basiseinstellungen verstehen.

Programm-Optionen

Ein Beispiel soll den Einstieg erläutern: In der Installationsdatei von LibreOffice ist die Stufe der Makro-Sicherheit auf „hoch“ (intern Stufe 2) voreingestellt. Startet der Benutzer LibreOffice das erste Mal, so kann er diese Einstellung in den Optionen (Extras – Optionen.. → LibreOffice – Sicherheit → Makrosicherheit) überprüfen und dann selbst neu justieren – zum Beispiel auf die Stufe „mittel“ (intern Stufe 1). Verlässt der Benutzer nun die Optionen mit der Taste „OK“, so wird dieser Wert in die registrymodification.xcu geschrieben und gilt fortan für genau diesen Benutzer.

Startet nun ein neuer Benutzer LibreOffice auf dem selben Rechner (oder auf einem entfernten Rechner mit Zugriff auf das gleiche Programmverzeichnis) so erhält er natürlich wieder den Standardwert „hoch“. Wird das Profil erstmalig erzeugt, entsteht die Datei registrymodification.xcu aus Teilen der im Programmverzeichnis im Ordner „share\registry“ zu findenden *.xcu Dateien, und ist ansonsten leer. Erst das Nutzen des Programms füllt die Datei und lässt diese sehr schnell auf eine beachtliche Größe wachsen.

Eigenschaft der Makrosicherheit

Abb.5: Eigenschaft der Makrosicherheit in der Datei

Idealerweise nutzen Sie einen Texteditor mit Syntaxhervorhebung (XML), dann ist es einfacher, die Strukturen zu erkennen. Alle wesentlichen XCD-Dateien befinden sich im Unterverzeichnis Share/registry/, wobei die „Main.xcd“ den Großteil aller Voreinstellungen enthält. Leider sind die Dateien nicht mehr einfach zu lesen – fehlen Ihnen doch die Zeilenumbrüche und Einrückungen von strukturierten XML-Dateien. Um hier eine Eigenschaft zu finden, bedarf es schon der Suchfunktion des Editors und eines entsprechenden Schlüsselwortes. In Abbildung 5 wurde nach dem Begriff „Macro“ gesucht um so die voreingestellte Stufe 2 (hoch) ändern zu können.

Allerdings lassen sich hier auch andere Wege gehen: statt die vorhandenen XCD Dateien zu ändern, können auch eigene XCD-Dateien erzeugt und im Verzeichnis abgelegt werden. Diese können dann die individuellen Einstellungen enthalten und werden beim Erzeugen des Profils und beim Start des Programms genauso berücksichtigt wie die Basis-XCD Dateien. In dem Fall könnte also eine „Kunden.xcd“ Datei (siehe Listing 1) die Sicherheitsstufe entsprechend ändern.

Ergänzt man zusätzlich im Prop-Tag die Eigenschaft oor:finalized=“true“, so wird ein späteres Überschreiben der Eigenschaft verhindert – der Benutzer kann also die Makro-Sicherheitsstufe selbst nicht mehr ändern.

Listing 1:

<?xml version="1.0"?>
<oor:data xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oor="http://openoffice.org/2001/registry">
  <dependency file="main" />
  <oor:component-data xmlns:install="http://openoffice.org/2004/installation"
  oor:name="Common" oor:package="org.openoffice.Office">
    <node oor:name="Security">
      <node oor:name="Scripting">
        <prop oor:name="MacroSecurityLevel" oor:type="xs:int" oor:finalized="true">
          <value>3</value>
        </prop>
      </node>
    </node>
  </oor:component-data>
</oor:data>

Eigene Konfigurationsdateien sind übersichtlicher und einfacher zu verwalten und müssen nur in die jeweiligen Verzeichnisse kopiert werden – auch bei komplexen, größeren Installationen.

Menü- und Symbolleisten

Betrachten wir zunächst ein einfaches Beispiel:

Als Admin einer Firma möchten Sie nicht, dass Ihre Benutzer eigene Makros schreiben oder ändern. Die Makro-Funktionalität ist nun aber fest eingebaut – sie können also lediglich den Zugriff via UI verhindern, in dem die Menübefehle überhaupt nicht angeboten werden.

die menubar.xml des Writer-Moduls

Abb.6: Die menubar.xml des Writer-Moduls

Schauen Sie sich zunächst den Aufbau einer Menü-Datei an (siehe auch Abbildung):

Alle Menüitems sind als einfache xml-Tags angelegt und in Menügruppen (mit eindeutigen Namen) zusammengefasst. Die Menü-IDs stellen dabei interne Programmaufrufe dar (Beispiel: uno:PickList – ist der Menüeintrag Datei, uno:Open der Untereintrag Öffnen), wobei eben die internen Uno-Aufrufe gleichzeitig als eindeutige Identifikationsnamen genutzt werden. Das heißt, es wird nicht eine abstrakte ID-Nummer oder ein spezieller Name verwendet, um den Eintrag zu identifizieren, sondern gleich der passende Programmaufruf (die URL). In der Menubar.xml wird aber nur die Struktur des Menüs festgelegt, nicht aber der angezeigte Name der Funktion oder des Menü-Oberpunktes. Der Makroaufruf ist jetzt leicht zu finden:

Makro-Menüpunkt in der Datei menubar.xml

Abb.7: Makro-Menüpunkt in der Datei menubar.xml - bereits auskommentiert

Da in unterschiedlichen Lokalisierungen natürlich jeweils andere Namen in der UI verwendet werden, gibt es in der Regel zwei Positionen, in der die weiteren Eigenschaften definiert werden:

Zunächst wird der angezeigte Namen des Menü-Punktes in der Datei „main.xcd“ (Verzeichnis /registry) festgelegt, und zwar in der englischen Orginalbezeichnung (Sprache „en-US“). Dies ist immer die Basis - sowie die Fallback-Einstellung. Die Datei „main.xcd“ ist die wichtigste Konfigurationsdatei, leider ist sie größenoptimiert und somit nicht mehr strukturiert (alle Leerzeichen und Zeilenumbrüche, die eine xml-Datei lesbar machen, wurden aus Performancegründen entfernt).

MakroAufruf in der main.xcd

Um den passenden Eintrag zu finden, nutzen Sie am besten die Suchfunktion Ihres Editors. Der Name des Knotens ist dabei wiederum der interne Programmaufruf (URL) – eben das bindende Glied. (siehe Abbildung 8 rechts,– jetzt schon strukturiert dargestellt)

Die Main.xcd sowie alle anderen xcd-Dateien im Verzeichnis /registry werden also zuerst in den Hauptspeicher geladen und bilden somit die Basis der Konfiguration.

Anschließend erfolgt das Laden der lokalisierten Konfigurationsdateien, zu finden in dem Verzeichnis /registry/res/ - wobei die Lokalisierungsdatei den Namen registry_XX.xcd trägt und das „XX“ für das Länderkennzeichen der Sprachdatei steht – in Deutschland also „de“.

Auch hier benötigt man die Suchfunktion des Editors – und findet dann den passenden Eintrag.

Die Tilde (~) vor einem Buchstaben markiert im übrigen das Tastatur-Kürzel zum Aufruf dieser Funktion – dieser Buchstabe wird später auch unterstrichen.

Alle Einstellungen der Sprachdatei ersetzen somit die Basiseinstellungen – gibt es hier keinen Eintrag für den entsprechenden Befehl, so bleibt die englische Bezeichnung stehen.

Um also den Menüpunkt „Extras – Makros ..“ vollständig zu entfernen, reicht es zunächst, die Zeilen komplett in den menubar.xml Dateien zu löschen bzw. auszukommentieren (siehe Abbildung oben).

Aber: es gibt 21 Module und somit 21 Menü-Dateien – und die Makros kommen in nahezu jeder Datei vor. Es reicht also nicht, nur eine Datei anzupassen – Sie müssen alle Module korrigieren, in denen der Makro-Eintrag nicht mehr erscheinen soll.

Doch auch dieser Aufwand reicht leider noch nicht, um sicherzustellen, dass der Benutzer keine Makros mehr schreiben kann. LibreOffice als „offenes“ Produkt erlaubt dem Benutzer, eine eigene Anpassung der Oberfläche nach seinen Wünschen vorzunehmen. Alle diese Einstellungen werden in seinem Benutzerprofil gespeichert und überschreiben die Einstellungen des Programms. Im Beispiel wurde zwar der Eintrag für die Makros ausgeblendet, über den noch vorhandenen Menübefehl „Extras – Anpassen“ lässt sich aber der Makro-Auswahldialog (inklusiv der Möglichkeit, Makros zu verwalten und somit auch zu editieren) problemlos wieder einrichten – in einem eigenen Menü, als Unterpunkt eines bestehenden Menüs oder als Teil einer Symbolleiste. Um diese Möglichkeit dem Benutzer zu nehmen sollte man also gleich den Punkt „Anpassen...“ („.uno:ConfigureDialog“) mit ausblenden, so ist eine Konfigurationsänderung im Frontend quasi nicht mehr möglich.

Makro Bearbeitungsfunktion wird per UI wieder hinzugefügt

Abb.9: Die Makro Bearbeitungsfunktion wird per UI wieder hinzugefügt

Fast zumindest. Schauen Sie zunächst in den Anpassungsdialog – Reiter „Tastatur“ - dann werden Sie auch noch Tastaturkürzeln finden, die ebenfalls mit Makros verknüpft sind (zum Beispiel LibreOffice Basic Makros aufrufen: Alt + F11). Auch hier findet sich der dazugehörige Eintrag in der „main.xcd“ und müsste ebenfalls entfernt oder auskommentiert werden. Tastaturkürzeln werden als Kombination der Tasten dargestellt, wobei „Mod1“ und „Mod2“ betriebssystemabhängig belegt sind. Unter Windows stellt „Mod1“ die „STRG“-Taste dar und „Mod2“ die „alt“-Taste.

Tipp: Viele dieser Schritte lassen sich aber über eigene Konfigurationsdateien (.xcd) im registry-Ordner zusammenfassen und vereinfachen. Die Diskussion soll aber ein wenig Problembewusstsein schaffen - es gibt eben keine einfachen* Lösungen.

Anpassen des User-Profils

Statt auf der Administratorebene lassen sich Anpassungen an der UI und der Optionen auch in der Benutzerebene vornehmen. Das Benutzerprofil wird ja erstmalig beim Start erzeugt (falls nicht schon eins vorhanden war) und überschreibt die Basiskonfigurationen. Die Struktur der Verzeichnisse ist ähnlich, sie werden jedoch erst dann erzeugt, wenn das Modul erstmalig gestartet wurde. So gibt es beispielsweise nach dem Erststart von Writer im User-Verzeichnis /user/config/soffice.cfg/modules das Verzeichnis swriter mit den bekannten Unterverzeichnissen „menubar“, „statusbar“, „toolbar“ sowie dem neuen Verzeichnis „images“, die Verzeichnisse sind aber zunächst leer, wenn keine Anpassungen vorgenommen wurden. Hat der Benutzer individuelle Anpassungen vorgenommen, so finden sich dann die entsprechenden geänderten xml-Dateien in den Verzeichnissen.

Menü- und Symbolleisten

Interessant ist in dem Zusammenhang das hinzugekommene Verzeichnis „images“. Dort werden individuelle Symbole zu den Menü- oder Symbolleisteneinträgen abgelegt, und zwar sowohl körperlich als Grafik als auch in einer xml-Datei mit der entsprechenden Zuordnung. Auch hier dient die URL als Bindeglied, es gibt jedoch einige Besonderheiten zu beachten.

Ausgetauschte Icons der Symbolleiste

Abb.10: Ausgetauschte Icons der Symbolleiste

Die Abbildung zeigt eine sc_imagelist.xml im Writer-Modul, wobei hier fünf Icons ausgetauscht worden sind – insgesamt vier in der Standard-Symbolleiste, eins in der Formatleiste. Die Reihenfolge der Einträge spielt keine Rolle – sie werden nacheinander entsprechend Ihrer Änderungsreihenfolge hinzugefügt, auch gibt es keine sichtbare Zuordnung innerhalb der sc_imagelist.xml, zu welcher Symbolleiste denn nun welches Icon gehört – dies wird lediglich bestimmt durch die command-URL (hier gut zu erkennen: Der vierte Eintrag ist ein neu hinzugefügter Befehl, der ein Makro startet). Es gibt pro Modul immer nur eine sc_imagelist.xml, und zu dieser gehört immer genau eine Grafik., definiert im Image-Tag. Die Grafik selbst wiederum „reiht“ alle Icons aneinander, je mehr Änderungen also stattfinden, um so breiter wird die Grafik (siehe folgende Abbildung, fünf Icons geändert – das Ergebnis ist oben rechts zu sehen). Das passende Bildchen wird dann als Ausschnitt aus der Grafik ausgelöst – entsprechend der Position des Bildes („bitmap-index“). Eine Icon-Grafik ist dabei genau 16*16 Pixel groß. Über diesen Weg lassen sich zwar auch eigene Icon-Sets konstruieren und alle oder einzelne im Benutzerprofil austauschen, die Methode ist jedoch aufwendig und Fehleranfällig.

Austausch diverser Icons

Abb.11: Austausch diverser Icons in der Writer-Symbolleiste (oben) sowie die Speicherung der Symbole (unten)

Programm-Optionen

Will man nicht nur optische Änderungen durchführen, sondern auch Optionen voreinstellen, so wäre der nächste Schritt die Änderungen direkt in der registrymodification.xcu im Benutzerprofil durchzuführen. Hier handelt es sich lediglich um eine einzige XML-Datei, die alle Konfigurationseinstellungen des Benutzer beinhaltet. Dazu zählen auch die zuletzt geöffneten Dateien, die Größe und Position der Module etc. Während der Benutzung von LibreOffice wird diese Datei in regelmäßigen Abständen neu geschrieben – sie sollte also nicht geändert werden, wenn der Benutzer gerade mit LibreOffice arbeitet.

Leider ist auch diese Datei ebenfalls optisch nicht strukturiert – alle XML-Informationen sind ohne Zeilenumbrüche und Leerzeichen (Einrückungen) hintereinander weggeschrieben. Auch hier benötigt man die Suchfunktion des Editors, um einen Eintrag zu finden und zumindest ein Stichwort, wonach man überhaupt sucht. Kennt man den Einstiegspunkt nicht, ist es nahezu unmöglich, bestimmte Einstellungen zu finden.

Im Normalfall geht man allerdings auch anders vor: Will man LibreOffice ausrollen und möchte hierzu ein bestimmtes Profil für die Nutzer haben, so erzeugt man zunächst eine saubere („clean“) Installation und lässt ein neues Profil erzeugen. Nun korrigiert man in der UI alle Einstellungen, die später für alle gelten sollen, kann dabei auch bequem eigene Icons einbinden, beendet die Optionen und auch LibreOffice und hat nun ein perfekt konfiguriertes User-Profil. Wenn nötig, nimmt man nun hier noch manuell Ergänzungen oder Korrekturen vor, dann kann dieses auf alle anderen Benutzerprofile übertragen werden.

Warum diese Vorgehensweise die sinnvollste darstellt, soll das folgende Beispiel verdeutlichen:

Der Pfad für das Arbeitsverzeichnis soll einheitlich auf „N:\Daten“ eingestellt werden. Intern handelt es sich dabei um die Eigenschaft „Workpath“, der aber so nicht mehr in den Konfigurationsdateien zu finden ist. Die XML-Datei kennt einzelne „Items“, denen dann Eigenschaften zugewiesen werden können. Ist die Datei noch „clean“ - das bedeutet, sie wurde gerade erstmalig erstellt durch Start von LibreOffice durch den Benutzer – und hat der Benutzer direkt danach LibO wieder geschlossen, so beinhaltet die Datei registrymodification.xcu noch relativ wenige Einträge (siehe Abbildung), der Benutzer hat ja noch nichts verändert.

Eine frisch erzeugte registrymodification.xcu

Abb.12: Eine frisch erzeugte registrymodification.xcu

In diese Datei müsste nun an passender Stelle der folgende Eintrag ergänzt werden:

Listing 2:

 <item oor:path="/org.openoffice.Office.Paths/Paths/org.openoffice.Office.Paths:NamedPath['Work']"><prop oor:name="WritePath" oor:op="fuse"><value>file:///N:/Daten</value></prop></item>

Diese Aufgabe ist fehleranfällig und somit nicht zu empfehlen. Einfacher wird es wie folgt:

In der sauberen Installation stellt man zunächst mit Hilfe der UI über Extras – Optionen → Pfade → Arbeitsverzeichnis einen beliebigen, erreichbaren Pfad ein. Dann beendet man LibreOffice und editiert erneut die registrymodification.xcu. Diese beinhaltet nun schon deutlich mehr Einträge – unter anderem auch die Daten des Benutzerprofils, auch wenn diese möglicherweise leer sind – und eben auch den geänderten Pfad zum Arbeitsverzeichnis.

die geänderte registrymodification.xcu

Abb.13: die geänderte registrymodification.xcu

Hier lässt sich nun leicht der tatsächlich gewünschte Pfad eintragen bzw. korrigieren. Achten Sie darauf, den Pfad in URL-Schreibweise zu übergeben, so muss beispielsweise der Pfad „N:\Meine Daten\AbtÄÖ\“ als „file:///N:/Meine%20Daten/Abt%C3%84%C3%96/“ eingetragen werden! Jetzt kann die Konfigurationsdatei gespeichert und anschließend verteilt werden.

Hinweis: Das Ändern der registrymodification.xcu und das Ausrollen eines fertigen User-Profils ist heute nicht mehr üblich. Alle Einstellungen lassen sich auch problemlos über eigene Konfigurationsdateien bewerkstelligen. Diese sind einfacher zu pflegen und vom Administrator einfacher zu organisieren. Dennoch ist der oben beschrieben Weg oft nötig, um die passenden Einstellungsparameter zu finden. Ein weiterer Artikel wird sich damit noch einmal detaillierter beschäftigen.

Änderungen per Extension

Die vierte und letzte Möglichkeit ist die Änderung der Konfiguration per Extension, also eines AddOn Programms. Typischerweise stellen die Extensions die letzte Schicht des Ladeprozesses dar und überschreiben somit alle vorherigen Einstellungen – es sei denn, sie sind bereits „fixiert“. Ein typischer Einsatz von Extensions ist das Hinzufügen eigenen Codes und eigener Funktionen und somit auch eine Modifikation der vorhandenen Menü- und Symbolleisten, denkbar sind aber auch „Non-code“ Extensions 3), die lediglich Konfigurationseinstellungen beinhalten. Eine Extension muss allerdings immer zuerst installiert werden, bevor sie wirksam wird, allerdings kann man auch diesen Prozess per Kommandozeile automatisieren. Es ist also durchaus möglich, alle firmeninternen Konfigurationseinstellungen in eigenen XCU-Dateien innerhalb der Extension unterzubringen und dann diese einheitlich auszurollen.

Zusammenfassung

Eine manuelle Anpassung der Konfigurationsdateien ist möglich, aber mühsam. Die Informationen für den UI-Aufbau sind in verschiedenen Dateien abgelegt und man benötigt immer einen „Einstiegspunkt“, ansonsten ist eine Suche sehr aufwendig. Dreh- und Angelpunkt ist immer der Funktionsaufruf (die URL), dieser gilt als „ID“ und stellt auch das verbindende Element in den unterschiedlichen Einstellungsdateien dar. Eine URL (Funktionsaufruf) beginnt typischerweise mit einem Service-Namen (meist .uno) und dann mit dem entsprechenden Funktionsnamen. Selbstverständlich können hier auch eigene, registrierte Funktionen genutzt werden, die dann mit eigenen Bibliotheksnamen beginnen (zum Beispiel .wollmux:Seriendruck – der Aufruf der Seriendruck-Funktion der WollMux-Extension oder auch „vnd.sun.star.script:Standard.Module1.MeinMakro?language=Basic&location=application“ zum direkten Aufruf der Basic-Makro-Funktion „MeinMakro“ in der Standardbibliothek des Benutzers im Modul1). Eine Dokumentation der möglichen Funktionsnamen ist mir derzeit nicht bekannt, man kann sich aber recht gut über die Menü- und Symbolleisten xml-Dateien in Verbindung mit einer Oberfläche orientieren und die gewünschten Einträge so identifizieren.

Fazit

LibreOffice bietet jede Menge Möglichkeiten, die Konfiguration und das Aussehen individuell anzupassen. Die Vielzahl der Varianten macht die Auswahl des „richtigen“ Weges aber schwer, und noch ist immer viel experimentieren angesagt. Die Konfigurationsdateien haben sich seit der Version OOo 2.0 über LibO 3.3 bis hin zu LibO 5 stetig und regelmäßig verändert und sind mit Sicherheit noch nicht endgültig definiert. Andererseits fehlen Dokumentationen und Beispiele und wenn man welche im Netz findet, so beziehen sich diese meist auf älterer Konfigurationsmodelle. Manche funktionieren noch (dank des zeitweise noch mitgepflegten Kompatibilitätsmodus), andere sind leider schon veraltet. Auch ein einfaches Tool zur Einstellung der Konfigurationseinstellungen gibt es derzeit nicht, auch wenn bereits erste Ansätze zu erkennen sind. So bleibt: Die Konfiguration von LibreOffice ist möglich, sollte aber Experten überlassen werden.