Transklusion: Definition & dynamische Einbindung von Inhalten in Wikis

Transklusion: Dynamische Einbindung von Inhalten in Wikis – Vorlagen, Verschachtelung und automatische Aktualisierung für effiziente, wartbare Inhalte.

Autor: Leandro Alegsa

Transklusion bezeichnet das Einbinden von Inhalten aus einem elektronischen Dokument in ein anderes, ohne den Inhalt physisch zu kopieren. Wird der ursprünglich eingefügte Inhalt verändert, erscheinen die Änderungen automatisch an allen Stellen, an denen dieser Inhalt transkludiert wurde. Die beiden Dokumente sind dabei über Hypertext miteinander verbunden. Der Begriff setzt sich aus trans (quer) und Einschluss zusammen und meint wörtlich den Einschluss von Inhalten, die von einem anderen Ort hineingenommen werden.

Auf Wikipedia und in anderen MediaWiki-Systemen wird Transklusion häufig dazu genutzt, Inhalte zentral in einer speziellen Seite — meist einer Vorlage (Template) — zu pflegen und in vielen Artikeln einheitlich anzuzeigen. Die Technik funktioniert allerdings auch für beliebige andere Seiten und Namensräume.

Wie Transklusion technisch funktioniert

Wenn Sie die doppelten Klammern {{ }} um einen Seitennamen setzen, liest das Programm den Wiki-Quellcode und wandelt ihn in HTML um, so dass er in einem Browser angezeigt wird. Die Software wird sehen, dass Sie den Inhalt der benannten Seite an dieser Stelle hinzufügen möchten, und wird ihn lesen, in html konvertieren und an dieser Stelle hinzufügen, bevor sie mit der Konvertierung des restlichen Quellcodes der Originalseite in html fortfährt. Das ist Transklusion. Sie verweisen auf die zu transkludierende Seite, indem Sie sie in geschweiften Klammern benennen, was als Referenzierung bezeichnet wird.

Feinsteuerung: welche Teile eingebunden werden

Nicht immer soll eine ganze Seite übernommen werden. MediaWiki bietet dafür Mechanismen, mit denen man festlegt, welche Bereiche beim Einschluss übernommen werden:

  • <onlyinclude> — markiert den Teil einer Seite, der beim Transkludieren übernommen werden soll;
  • <noinclude> — markiert Inhalte, die nicht transkludiert werden sollen (z. B. Dokumentation oder Kategorien auf einer Template-Seite);
  • <includeonly> — markiert Inhalte, die nur beim Einbinden sichtbar sind, aber nicht auf der Quellseite direkt erscheinen.

Mit diesen Tags lässt sich also genau steuern, welcher Abschnitt sichtbar wird. Ergänzend werden Templates oft so gebaut, dass sie Parameter akzeptieren (z. B. {{Vorlage|param1=Wert}}) und so flexibel wiederverwendbar sind.

Verschachtelung, Rekursion und Grenzen

Eine eingeschlossene Seite kann selbst weitere Einschluss-Anweisungen enthalten — das nennt man Verschachtelung (Nesting). Verschachtelungen sind praktisch, um Bausteine modular aufzubauen (z. B. Header, Infoboxen, Fußnoten). Aus technischen Gründen gibt es jedoch Limitierungen:

  • Parser- oder Rekursionslimits verhindern unendliche Schleifen (z. B. A inkludiert B, B inkludiert A);
  • Komplexe oder tief verschachtelte Vorlagen können die Seitengenerierung verlangsamen und Serverlast erhöhen;
  • Caching-Mechanismen sorgen zwar für Performance, können aber dazu führen, dass Änderungen an Vorlagen nicht sofort auf allen Seiten sichtbar sind, bis der Cache erneuert wurde.

Anwendungsfälle und Vorteile

  • Einheitliche Darstellung: gemeinsame Bausteine (Infoboxen, Warnhinweise, Navigation) zentral pflegen;
  • Wartungsaufwand reduzieren: Korrekturen an einer zentralen Stelle wirken überall dort, wo der Inhalt transkludiert ist;
  • Mehrsprachige oder parametrische Inhalte: Templates und Module (z. B. Lua-Module in MediaWiki/Scribunto) erlauben dynamische, datenabhängige Erzeugung von Inhalten;
  • Wiederverwendbarkeit: einmal erstellte Komponenten lassen sich in vielen Artikeln nutzen.

Risiken, Nebenwirkungen und Hinweise für Redakteure

  • Seiteneffekte: Änderungen an einer Template-Seite betreffen automatisch zahlreiche Zielseiten — unbeabsichtigte Änderungen sind möglich;
  • Performance: Sehr komplexe oder häufig verschachtelte Transklusionen können die Renderzeit erhöhen und die Serverlast steigern;
  • Sichtbarkeit von Inhalten: Inhalte, die nur für die Ausgabe in eingebundenen Seiten gedacht sind, sollten mit den oben genannten Tags geschützt werden, damit sie nicht irrtümlich auf der Quellseite erscheinen;
  • Sicherheitsaspekte: Dynamische Einbindung kann sensible Informationen sichtbar machen, wenn Zugriffsrechte oder Namensraumgrenzen nicht beachtet werden;
  • Cache und Aktualität: Wegen Server- und Browser-Caching sind Änderungen an transkludierten Inhalten nicht immer sofort auf allen Seiten sichtbar.

Ähnliche Techniken und Alternativen

Transklusion ist ein Konzept, das es auch außerhalb von Wikis gibt, z. B. als XML/XInclude, Server-Side Includes (SSI) oder als Einbindung von Komponenten in Content-Management-Systemen. Gegenüber einfachem Verlinken (Hypertext) hat Transklusion den Vorteil der direkten Anzeige und zentralen Pflege; als Nachteil kommen Abhängigkeiten, erhöhte Komplexität und mögliche Performance-Probleme hinzu.

Praxis-Tipps

  • Vorlagen und Module sauber dokumentieren, damit andere Redakteure die Auswirkungen verstehen;
  • Nur dort transkludieren, wo Wartungsersparnis den Mehraufwand rechtfertigt;
  • Bei großen Änderungen an Templates zuerst in Sandbox- oder Testbereichen probieren;
  • Bei Problemen mit Aktualität an Cache-Invaliderung denken oder gezielt Rebuilds anstoßen;
  • Konflikte durch Namensräume und Berechtigungen beachten (ggf. {{:Seitenname}} mit führendem Doppelpunkt verwenden, um Inhalte aus anderen Namensräumen einzubinden).

Zusammenfassend ist Transklusion ein mächtiges Mittel zur Wiederverwendung und zentralen Pflege von Inhalten in Wikis. Richtig eingesetzt spart sie Zeit und sorgt für Konsistenz; ungeeignet eingesetzt kann sie jedoch zu unerwarteten Effekten und Performance-Problemen führen.

Fragen und Antworten

F: Was ist Transklusion?


A: Transklusion ist eine Möglichkeit, den Inhalt eines elektronischen Dokuments in einem anderen Dokument zu verwenden, ohne den Inhalt zu kopieren. Die beiden Dokumente sind durch Hypertext verbunden, und wenn doppelte geschweifte Klammern {{ }} um einen Seitennamen gesetzt werden, liest die Software diesen und fügt den Inhalt dieser Seite an dieser Stelle ein, bevor sie mit der Konvertierung des Quellcodes der Originalseite fortfährt.

F: Wie funktioniert die Transklusion bei Wikipedia?


A: In der Wikipedia wird die Transklusion in der Regel verwendet, um Inhalte aus einem speziellen Artikel, der als Vorlage bezeichnet wird, in andere Artikel einzufügen, aber sie funktioniert auch bei anderen Arten von Artikeln. Wenn doppelte geschweifte Klammern {{ }} um einen Seitennamen gesetzt werden, liest die Software diesen und fügt den Inhalt dieser Seite an dieser Stelle ein, bevor sie mit der Konvertierung des Quellcodes der Originalseite fortfährt.

F: Was geschieht, wenn Änderungen an einem Originaldokument vorgenommen werden?


A: Wenn an einem Originaldokument Änderungen vorgenommen werden, werden diese automatisch in jedem Artikel angezeigt, der transkribierte Inhalte aus diesem Dokument verwendet.

F: Gibt es eine Obergrenze für die Anzahl der Transclusionsebenen?


A: Ja, es gibt eine Obergrenze für die Anzahl der Transklusionsebenen, um versehentliche oder absichtliche Endlosschleifen zu vermeiden, die bei der Übersetzung von Programmen Probleme verursachen würden.

F: Wie nennen Sie Referenzierung bei der Verwendung von Transklusion?


A: Unter Referenzierung bei der Verwendung von Transklusion versteht man die Benennung von Seiten in geschweiften Klammern {{ }}, so dass deren Inhalt an bestimmten Stellen in einem anderen Dokument eingefügt werden kann.

F: Ist es möglich, Teile einer eingeschlossenen Seite auszuschließen?


A: Ja, es ist möglich, Teile einer eingeschlossenen Seite auszuschließen und auch nur einen Teil davon einzuschließen, z.B. nur einen Abschnitt.

F: Kann eine eingeschlossene Seite andere eingeschlossene Seiten enthalten? A:Ja, dies wird als Verschachtelung bezeichnet und kann bis zum Erreichen der festgelegten Grenze durchgeführt werden, um versehentliche oder absichtliche Endlosschleifen zu verhindern, die zu Problemen bei der Übersetzung von Programmen führen könnten.


Suche in der Enzyklopädie
AlegsaOnline.com - 2020 / 2025 - License CC3