Das Enterprise Wiki Confluence von Atlassian bietet eine tolle Möglichkeit des PDF-Exports von einzelnen Seiten sowie von ganzen Wiki-Bereichen. Die Scandio verwendet Confluence inzwischen, um Konzepte und Angebote zu schreiben. Wir verwenden dazu den Bereichs-Export, da dieser die Möglichkeit bietet, eine Titelseite zu verwenden sowie im Layout angepasste Kopf- und Fusszeilen zu definieren.

Achtung: Dieser Artikel bezieht sich auf Confluence 3.5.x

Das Problem dabei: Titelseite, Kopf- und Fusszeile erlauben bei der Konfiguration nur reines HTML und CSS, also keinerlei Funktionen oder Macros. Es sollen aber z.B. Titel, Thema, Autor etc. individuell, abhängig vom Dokument angezeigt werden. Dafür jedes Mal die Konfiguration des Wiki zu ändern, ist nicht akzeptabel.

Die Lösung bietet die CSS-Eigenschaft “content”. Mit dieser Eigenschaft kann festgelegt werden, dass eine CSS-Klasse Inhalte ausgibt. Doch der Reihe nach …

Zuerst wird im Admin-Bereich von Confluence das Aussehen der Titelseite definiert:

[code]
<div style=”text-align:center; padding:0px”>
<img src=”/download/attachments/1835586/logo_scandio.png”/>
</div>

<div style=”padding:0px”>
<div class=”KonzeptTitel pdfTitelblattTitel”/>
<div class=”KonzeptThema pdfTitelblattThema”/>
<span class=”pdfTitelblattText” style=”display:inline-block; width:30mm; margin-bottom:2mm;”><b>Autor:</b></span>
<span class=”KonzeptAutor pdfTitelblattText”></span><br>
<span class=”pdfTitelblattText” style=”display:inline-block; width:30mm; margin-bottom:2mm;”><b>Datum:</b></span>
<span class=”KonzeptDatum pdfTitelblattText”></span><br>
<span class=”pdfTitelblattText” style=”display:inline-block; width:30mm; margin-bottom:2mm;”><b>Version:</b></span>
<span class=”KonzeptVersion pdfTitelblattText”></span><br>
<br>
© Scandio GmbH
</div>

Für die dargestellten Daten sind hier die Definitionen für “KonzeptTitel”, “KonzeptThema”, “KonzeptAutor”, “KonzeptDatum” und “KonzeptVersion” wichtig. Diese CSS-Klassen enthalten später die anzuzeigenden Texte.

Um nun die CSS-Klassen mit den gewünschten Texten zu füllen, wird ein Confluence Benutzer-Macro erstellt:

[code]

@param Titel:required=true

@param Thema:required=true

@param Autor:required=true

@param Datum:required=true

@param Version:required=true

{style}
.KonzeptTitel:before { content: “$paramTitel”; }
.KonzeptThema:before { content: “$paramThema”; }
.KonzeptAutor:after { content: “$paramAutor”; }
.KonzeptDatum:after { content: “$paramDatum”; }
.KonzeptVersion:after { content: “$paramVersion”; }
{style}

Jetzt wird dieses Benutzer-Macro noch in der Wiki-Seite eingefügt:

[code]
{scandio-konzept:Titel=Inside - Unser virtueller Arbeitsplatz|Thema=Konzeption und Weiterentwicklung des Scandio Enterprise Wiki|Autor=Christian Koch|Datum=23.02.2011|Version=0.7}

Natürlich kann man das Benutzer-Macro auch mit dem Confluence Macro Editor in die Seite integrieren. Beim PDF-Export wird nun folgende Titelseite erzeugt: