CIB merge technischer Leitfaden

7. Besondere Funktionalitäten: Textcaching

CIB merge kann die Ergebnisdatei nicht nur im RTF Format als Datei auf der Festplatte ausgeben. Es können auch verschiedene Parameter für eine Optimierung, Komprimierung und/oder Verschlüsselung des Ergebnisdatenstromes eingesetzt werden.

  1. Egal mit welcher Wurzel gemischt wird, der Include-Cache wirkt unabhängig davon über die Aufträge hinweg, die innerhalb eines Merge-Aufrufes abgesetzt werden.
  2. Die Wurzel ist derzeit noch nicht im Include-Cache enthalten. Der Include-Cache ist wirklich nur für Includes.

Hinweis zu 2: Allerdings gibt es für die Wurzel schon immer eine andere Optimierung: Wenn man den Parameter -I angibt und einmal mischt, dann bleibt die Wurzel im Speicher bis wieder ein -I angegeben wird.

Mischt man also viele Dateien mit der gleichen Wurzel direkt hintereinander und gibt nur einmal -I an, dann hat man den gleichen Cache-Effekt.

Hinweis zu 1 und 2: Die Optimierung über den Include-Cache ist ein trade-off für Laufzeit auf Kosten Speicher _und_ Funktionalität:

Wenn man mit Wurzel X mischt, dann werden für X die Fonttables, Colortables usw in Bezug auf das jeweilige Include verändert (erweitert). Dagegen werden für die Includes die Font-, Color- usw Schlüssel (\f12, \cf1...) in Bezug auf die aktuelle Wurzel angepasst und so im Cache abgelegt.

Wenn die Wurzeln salopp gesprochen "zusammenpassen", dann stimmen die Farben, Fonts usw. nachher auch. Wenn nicht, dann nicht.

Um absolute Sicherheit zu haben, muss man also die Dokumente mit derselben Wurzel hintereinander mischen, um den Cache-Vorteil zu haben und anschließend den Cache leeren. Danach kann man mit der nächsten Wurzel mischen usw.

Den Cache löscht man indirekt mit einem der Befehle zum Steuern des Verhaltens beim Include in Bezug auf Fonts, Colors, Listtables usw. Es reicht zum Beispiel ein einziges --replace-header um den Cache zu löschen. (Es wird dabei der Standard --replace-header=always eingestellt, aber der dürfte sowieso gelten.)

 

Wegen des letzten Hinweises oder vielmehr wegen der Arbeitsweise beim Zusammenführen der Tabellen aus dem Header der RTF, ist ein Wurzel-Cache meist nicht sinnvoll und wegen der nötigen Sortierung der Aufträge nach Wurzel auch nicht erforderlich.