LibreOffice template bugs

LibreOffice is extremely strong at handling large documents combined with templates. In addition to the .odt format for text documents, there is the .odm format for master documents in which several .odt files can be linked to form one larger whole.

All these documents are actually zip files that, unpacked, form a file structure. One such file is meta.xml which contains a reference to the template used. This template is an .ott file. The strength of an external template is that, for example, a house style can be implemented consistently across a large number of documents linked to a template. In addition, a change in a template can dynamically roll back to the documents.

However LibreOffice contains some bugs that are described below. The reference within meta.xml consists of an href element with an absolute or relative path to the template used.

  • If this path, not the template filename, is missing, a user should expect the template to be in the directory where the document in question resides, and…
  • If the template is not in the directory where the document is located, then a user should expect the template to be in the location designated for templates in LibreOffice, as a general location. That location can be found via the menu > Tools > Options… or “alt-f12”.

Unfortunately, neither approach works. In other words, something like this in meta.xml fails:

<a href="MyTemplate.ott"></a>

This can be seen as a solid bug.

In addition, there is no native method to manage changing the template associated with a document. Alternatives:

  • A script is located here.
  • An extension exists which, however, has also been absent for years.
  • As a last resort, a user would have to extract the document, modify meta.xml with an editor and then repackage the file, something that is obviously impractical.

Precisely because template management is so important, this functionality should be directly included in the package. The non-native presence of this functionality can also be seen as a bug.

Leave a comment