Freie Bausteine und - gruppen bilden pro freie Bausteingruppe einen Pool von Texten, aus denen der Benutzer die gewünschten Module zusammenstellen kann.
Dafür werden freie Bausteine werden zunächst in freie Bausteingruppen gruppiert. Einem Schriftstück können eine oder mehrere freie Bausteingruppen zugeordnet werden. Beim Dokumentaufbau zur Laufzeit kann der Benutzer im CTV-Dialog jeweils aus der freien Bausteingruppe die gewünschten freien Bausteine auswählen und an die gewünschte Position in dem Schriftstück verschieben.
Freie Bausteine und - gruppen wurden ursprünglich eingeführt, um aus Vorgänger-Dokumentverarbeitungs-Systemen stammende Texte in CTV und KnowlEdge weiterverwenden zu können.
Bei einer freien Bausteingruppe ist die Entscheidungstabelle i.d.R. leer, d.h. sie enthält eine leere Pseudocode-Aktion und eine leere Bedingung, die nicht editierbar ist. Standardmäßig werden in KnowlEdge deshalb im Reiter Entscheidungstabelle die Bedingungen und Regeln gar nicht angezeigt. 1)
In einer freien Bausteingruppe gibt es keine Pseudocode-Aktionen und keine editierbare Bedingung. Der Reiter „Pseudocode“ ist in freien Bausteingruppen deshalb nicht vorhanden.
Eine freie Bausteingruppe enthält oft viele freie Bausteine, die alle ohne spezielle Angaben in der Modulschnittstelle aufgerufen werden. Um das Hinzufügen dieser Bausteine zu erleichtern, gibt es bei freien Bausteingruppen im Menü Komponenten und Kontextmenu den Befehl „Mehrere Modulaufrufaktionen hinzufügen“. Dieser ermöglicht es, im Auswahldialog unbegrenzt viele freie Bausteine auszuwählen und auf einen Schlag hinzuzufügen.
Bei einem freien Baustein ist die Entscheidungstabelle i.d.R. leer, d.h. sie enthält eine leere Pseudocode-Aktion und eine leere Bedingung. Standardmäßig werden in KnowlEdge deshalb im Reiter Entscheidungstabelle die Bedingungen und Regeln gar nicht angezeigt.2)
Ein freier Baustein kann aber zusätzliche Bedingungen und auch Pseudocode-Aktionen haben.
Ein freier Baustein kann im Text auch lokale Text-Platzhalter benutzen. In Pseudocode-Aktionen können z.B. Werte für solche Platzhalter vorbestückt werden, und das Ausfüllen zur Laufzeit erzwungen werden.
Anders als „normale“ Textbausteine, sind freie Bausteine, wenn sie unterhalb einer freien Bausteingruppe hinzugewählt werden, nicht an einer festen Position im Schriftstück verankert, sondern können im Schriftstück verschoben werden.
Dieses Verschieben ist, wenn nichts anders definiert ist, über das gesamte Schriftstück möglich.
Um die Verschiebemöglichkeiten zu begrenzen, kann bei einer Aufruf-Aktion angegeben werden, dass das aufgerufene Modul eine Verschiebegrenze für freie Bausteine darstellen soll. Es ist dann nicht möglich, freie Bausteine über das betreffende Modul hinaus nach oben oder unten zu verschieben.
Freie Bausteine können wie normale Textbausteine verwendet werden, indem sie nicht über eine freie Bausteingruppe, sondern direkt in ein Schriftstück oder in eine „normale“ Bausteingruppe eingefügt werden. In dem Fall werden sie zur Laufzeit behandelt wie andere Textbausteine.