Is there a way to share common content across multiple documents?

I want to design templates for a few different types of documents - let’s say one is an FAQ, and one is a Guide, and one is a Pamphlet. The documents are for collateral for a product.Between these different types of documents, there’s some shared information - maybe the name of the product the document is written about, the description of the product, some contact information / URLs regarding it.

I’m wondering if there is a way so that these multiple templates could share that common information. So say when the URL for the product changes, I could update it in one place rather than update it across all templates.

Does anybody know if something like that is possible with LibreOffice? would it involve macros or something like that? Could LibreOffice pull in the values for specific content in each of the templates from an external file? How would you solve this with LibreOffice?

I’m thinking that you could modify/update all your templates with a script, but I’m not sure you can have content dynamically updated from an external source. Sound nice for a feature request, though.

There are some options, but it is needed study a bit how to use it, to know if it serve to your purposes.

Menu/Insert/Object/Ole Object.

Insert fields from a database.

Menu/Paste special/DDElink.

Take a look to the LibreOffice Writer Guide

You can set up each of the main templates as master documents - check out the master document “creating / editing / importing” section in the help. In short, once you have a master document, you can link in content as a “subdocument” which is pretty much what it sounds like: a separate file containing just the content you want to either separate out or share elsewhere.

To create a new subdocument, or link an existing one, use F5 to open the navigator and either create or insert from there. By default, they don’t create new pages, although you can use the style system to do that.

You can also do it with fields and mail-merge style processing - e.g. setting up a database connection that will hold the various data. That’s probably substantially more effort, though.