Beschreibung
Das Seminar vermittelt die Entwicklung, Integration und Absicherung von Antora-Erweiterungen. Ausgehend vom Generator-Lebenszyklus werden Ereignisse, Kontextobjekte, Inhalts- und Site-Kataloge, Konfigurationsschema, Logging, Tests, Paketierung und kontrollierte Veröffentlichung behandelt. Mehrere Erweiterungen werden schrittweise entwickelt: Validierung, Inhaltsanreicherung, UI-Modell-Erweiterung und nachgelagerte Artefaktverarbeitung.
Inhaltsübersicht
- Erweiterungsarchitektur und Lebenszyklus
- Generator Context und Dienstzugriff
- Content Catalog und Ressourcenvalidierung
- Inhaltsanreicherung und virtuelle Dateien
- Site Catalog und UI-Modell
- Konfiguration, Schema und sichere Standardwerte
- Logging, Fehlerbehandlung und Beobachtbarkeit
- Automatisierte Tests und Testfixtures
- Paketierung, Versionierung und Lieferkette
- CI-Integration und Betriebsübergabe
Lernziele
- Den Generator-Lebenszyklus und geeignete Erweiterungspunkte sicher einordnen.
- Antora-Kontextobjekte kontrolliert lesen und verändern.
- Erweiterungen konfigurierbar, testbar und fehlertolerant implementieren.
- Pakete versionieren, absichern und reproduzierbar in Build-Pipelines betreiben.
1. Erweiterungsarchitektur und Lebenszyklus
Antora-Erweiterungen reagieren auf definierte Ereignisse des Generators und arbeiten innerhalb klarer Lebenszyklusgrenzen.
Schritt-für-Schritt: Eine Erweiterung am richtigen Lebenszykluspunkt registrieren
- Build-Phasen von der Playbook-Verarbeitung bis zur Site-Veröffentlichung als Ereignisfolge darstellen.
- Für den vorgesehenen Anwendungsfall benötigte Eingaben, Ausgaben und Seiteneffekte bestimmen.
- Eine Erweiterung als Node.js-Modul mit Registrierungsfunktion anlegen.
- Ereignis-Listener für einen geeigneten Lebenszykluspunkt registrieren.
- Die Erweiterung im Playbook aktivieren und einen kontrollierten Testbuild ausführen.
- Aufrufreihenfolge und verfügbare Kontextdaten protokollieren und mit der Planung abgleichen.
Praxisaufgabe
Eine Diagnoseerweiterung zeichnet ausgewählte Lebenszyklusereignisse auf und erzeugt ein nachvollziehbares Ablaufprotokoll.
2. Generator Context und Dienstzugriff
Der Generator Context stellt kontrollierte Zugänge zu Katalogen, Konfiguration und Hilfsfunktionen bereit.
Schritt-für-Schritt: Kontextobjekte sicher inspizieren und verwenden
- Benötigte Kontextdienste und deren Lebensdauer für den Anwendungsfall identifizieren.
- Nur die tatsächlich benötigten Objekte aus dem Generator Context beziehen.
- Lese- und Schreibzugriffe auf Inhaltsdaten ausdrücklich voneinander trennen.
- Fehlende Dienste oder unerwartete Zustände mit verständlichen Diagnosen behandeln.
- Seiteneffekte durch kleine Testfälle isolieren.
- Zugriffsannahmen und kompatible Antora-Versionen in der Paketdokumentation festhalten.
Praxisaufgabe
Eine Erweiterung liest Build-Metadaten aus und erzeugt daraus einen strukturierten Diagnosebericht.
3. Content Catalog und Ressourcenvalidierung
Der Content Catalog enthält die klassifizierten Ressourcen aller Komponenten und Versionen.
Schritt-für-Schritt: Eine regelbasierte Inhaltsvalidierung implementieren
- Zu prüfende Ressourcen nach Familie, Komponente, Version und Modul filtern.
- Verbindliche Regeln für Namen, Attribute, Dateigröße oder Metadaten definieren.
- Validierungsergebnisse mit Ressourcen-ID, Fundstelle und Handlungsempfehlung erfassen.
- Fehler, Warnungen und Hinweise nach konfigurierbaren Schweregraden unterscheiden.
- Den Build bei kritischen Verstößen kontrolliert abbrechen und bei Warnungen fortsetzen.
- Tests mit gültigen, ungültigen und grenzwertigen Ressourcen ausführen.
Praxisaufgabe
Ein Validator prüft Dateinamen, Pflichtattribute und Größenbegrenzungen in mehreren Ressourcenfamilien.
4. Inhaltsanreicherung und virtuelle Dateien
Erweiterungen können Metadaten ergänzen oder virtuelle Ressourcen erzeugen, ohne Quell-Repositories zu verändern.
Schritt-für-Schritt: Virtuelle Inhalte deterministisch erzeugen
- Eingabedaten und Zielidentität der virtuellen Ressource eindeutig festlegen.
- Inhalte aus einer kontrollierten Vorlage und sortierten Quelldaten erzeugen.
- Ressourcenmetadaten einschließlich Komponente, Version, Modul und Familie korrekt setzen.
- Doppelte Identitäten und Konflikte mit physischen Quellen erkennen.
- Die erzeugte Ressource dem Content Catalog hinzufügen und im Build verwenden.
- Determinismus durch wiederholte Builds und Inhaltsvergleich nachweisen.
Praxisaufgabe
Aus Komponentenmetadaten wird eine virtuelle Übersichtsseite erzeugt und in die Navigation eingebunden.
5. Site Catalog und UI-Modell
Nach der Konvertierung können Erweiterungen Seitenmodelle und UI-relevante Daten für zusätzliche Darstellungselemente ergänzen.
Schritt-für-Schritt: Das UI-Modell kontrolliert erweitern
- Benötigte Darstellungsdaten und ihre Quelle bestimmen.
- Geeigneten Lebenszykluspunkt nach der Seitenkonvertierung auswählen.
- Zielseiten anhand stabiler Metadaten statt fragiler Pfade identifizieren.
- Zusätzliche Daten unter einem eindeutig benannten Modellbereich ablegen.
- UI-Templates so anpassen, dass fehlende Erweiterungsdaten defensiv behandelt werden.
- Darstellung mit mehreren Komponenten, Versionen und Seitentypen prüfen.
Praxisaufgabe
Seiten erhalten ein standardisiertes Metadatenpanel mit Version, Modul, Änderungsstatus und Content Owner.
6. Konfiguration, Schema und sichere Standardwerte
Produktionsfähige Erweiterungen benötigen nachvollziehbare Optionen, Validierung und sichere Voreinstellungen.
Schritt-für-Schritt: Eine konfigurierbare Erweiterung entwerfen
- Pflichtoptionen, optionale Werte und Standardverhalten spezifizieren.
- Konfiguration aus dem Playbook lesen und gegen Typen sowie Wertebereiche validieren.
- Unbekannte Optionen erkennen und mit konkretem Korrekturhinweis melden.
- Sicherheitskritische Funktionen standardmäßig deaktivieren oder einschränken.
- Wirksame Konfiguration ohne Geheimnisse in der Diagnose ausgeben.
- Mehrere Konfigurationsprofile durch automatisierte Tests abdecken.
Praxisaufgabe
Der Ressourcenvalidator erhält ein validiertes Regelprofil mit Schweregraden und Ausnahmelisten.
7. Logging, Fehlerbehandlung und Beobachtbarkeit
Erweiterungen müssen Fehler präzise melden, ohne Build-Protokolle zu überlasten oder sensible Daten offenzulegen.
Schritt-für-Schritt: Diagnosen und Fehlerpfade standardisieren
- Meldungskategorien, Schweregrade und stabile Fehlercodes definieren.
- Kontext wie Ressourcen-ID und Regelname ergänzen, sensible Werte jedoch auslassen.
- Erwartete Validierungsfehler von Programmier- und Systemfehlern trennen.
- Teilfehler nur dort tolerieren, wo das Ergebnis weiterhin fachlich korrekt bleibt.
- Laufzeit und Ressourcennutzung für größere Inhaltsbestände messen.
- Protokolle anhand vorbereiteter Fehlerfälle auf Verständlichkeit und Vollständigkeit prüfen.
Praxisaufgabe
Für eine fehlerhafte Erweiterung wird ein Diagnosekonzept umgesetzt und mit Positiv- und Negativfällen getestet.
8. Automatisierte Tests und Testfixtures
Tests sichern Erweiterungsverhalten gegen unterschiedliche Playbooks, Inhalte und Antora-Versionen ab.
Schritt-für-Schritt: Eine belastbare Testsuite aufbauen
- Kernfunktionen in kleine, unabhängig testbare Einheiten zerlegen.
- Minimale Test-Repositories und Playbooks als reproduzierbare Fixtures anlegen.
- Erfolgs-, Warn-, Fehler- und Grenzfälle als automatisierte Tests formulieren.
- Build-Ausgaben, Protokolle und erzeugte Dateien mit stabilen Erwartungen vergleichen.
- Tests gegen unterstützte Node.js- und Antora-Versionen in einer Matrix ausführen.
- Fehlgeschlagene Tests mit aufbewahrten Artefakten und Diagnoseprotokollen auswertbar machen.
Praxisaufgabe
Eine vollständige Testmatrix für Validator, virtuelle Seite und UI-Modellerweiterung wird implementiert.
9. Paketierung, Versionierung und Lieferkette
Eine Erweiterung wird erst durch kontrollierte Paketierung und nachvollziehbare Abhängigkeiten betriebssicher.
Schritt-für-Schritt: Ein Erweiterungspaket veröffentlichungsfähig machen
- Paketname, Exporte, unterstützte Laufzeiten und Peer-Abhängigkeiten festlegen.
- Nicht benötigte Dateien aus dem Paket ausschließen und Paketinhalt vorab prüfen.
- Abhängigkeiten sperren, Schwachstellenprüfung integrieren und Lizenzanforderungen dokumentieren.
- Semantische Versionierung und Änderungsprotokoll für kompatible sowie inkompatible Änderungen definieren.
- Ein lokales Paketartefakt erzeugen und in einer sauberen Testumgebung installieren.
- Freigabe, Signierung oder Provenienz sowie Rücknahme eines fehlerhaften Pakets planen.
Praxisaufgabe
Die Seminarerweiterung wird als versioniertes Paket gebaut und in einem isolierten Beispielprojekt verifiziert.
10. CI-Integration und Betriebsübergabe
Die Erweiterung wird abschließend als überwachte Komponente der Dokumentationspipeline betrieben.
Schritt-für-Schritt: Eine Erweiterung kontrolliert in Produktion überführen
- Installations- und Konfigurationsschritte in der CI-Pipeline reproduzierbar abbilden.
- Tests, Paketprüfung und Beispielbuild als verpflichtende Qualitätsgates einrichten.
- Rollout zunächst in einer Vorschau- oder Staging-Site ausführen.
- Abnahmekriterien für Funktion, Laufzeit, Protokollierung und Fehlerverhalten prüfen.
- Rollback auf die vorherige Paketversion vorbereiten und testen.
- Betriebshandbuch mit Eigentum, Monitoring, Update- und Incident-Prozess freigeben.
Praxisaufgabe
Als Abschluss wird eine Erweiterung über eine gestufte Pipeline ausgerollt und kontrolliert zurückgesetzt.
Zielgruppe und Voraussetzungen
Zielgruppe: JavaScript- und Node.js-Entwickler, Documentation Engineers, Plattform- und DevOps-Teams, Tooling-Verantwortung und technische Architektur.
Voraussetzungen: Gute JavaScript- oder Node.js-Kenntnisse, sicherer Umgang mit npm, Git und Antora-Playbooks sowie Verständnis der Antora-Inhaltsstruktur.
Methodik und Arbeitsweise
Die Inhalte werden durch strukturierte Erläuterungen, Demonstrationen, schrittweise Konfigurations- und Analyseaufgaben sowie kontrollierte Fehlerfälle vertieft. Jede Übung verwendet definierte Ausgangswerte, Prüfpunkte und Dokumentationsanforderungen, damit die erarbeiteten Abläufe im späteren Projekt- und Betriebsalltag reproduzierbar bleiben.
Fachbereichsleitung und Trainerteam
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 4 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 2.396 zzgl. MwSt. Inhaus: € 6.800 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | JavaScript- und Node.js-Entwickler, Documentation Engineers, Plattform- und DevOps-Teams, Tooling-Verantwortung und technische Architektur |
| Voraussetzungen: | Gute JavaScript- oder Node.js-Kenntnisse, sicherer Umgang mit npm, Git und Antora-Playbooks sowie Verständnis der Antora-Inhaltsstruktur |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhouse, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
