Zum Inhalt

Installation

Speicherbedarf der PDF-Prüfung. Die PDF-Barrierefreiheitsprüfung nutzt smalot/pdfparser; mehrseitige, grafiklastige PDF können deutlich mehr als 256 MB benötigen (bei vielen Hostern der Vorgabewert für das CLI-memory_limit). Für die Prüfung großer Bestände empfiehlt sich ein CLI-memory_limit von 512 MB. nt_ai:pdf-audit bleibt auch bei einer zu speicherhungrigen Datei robust (Vermerk „nicht prüfbar", optional --max-size-mb).

Via Composer

composer require netthinks/nt-ai

Aktivierung unter Admin Tools → Extensions oder per CLI:

vendor/bin/typo3 extension:setup

Die Extension legt bei der Aktivierung ihre Datenbanktabellen (tx_ntai_audit_report, tx_ntai_page_score, tx_ntai_lighthouse_report, tx_ntai_token_usage) an. Nach einem manuellen composer update folgenden Befehl ausführen:

vendor/bin/typo3 database:updateschema

Manuelle Installation

  1. Das neueste Release von der GitHub-Releases-Seite herunterladen.
  2. Nach typo3conf/ext/nt_ai entpacken.
  3. Unter Admin Tools → Extensions aktivieren.

Nach der Installation

Admin Tools → Settings → Extension Configuration → nt_ai öffnen und mindestens einen KI-Anbieter konfigurieren (siehe Konfiguration).

Note

Solange kein Anbieter konfiguriert ist, laden die Backend-Module zwar, KI-gestützte Funktionen melden jedoch „kein Anbieter konfiguriert".

Barrierefreiheits-Widget & Vorlesefunktion im Frontend aktivieren

Das Frontend-Widget und die Vorlesefunktion werden über ein Site Set bereitgestellt. Auf einem Kundensystem genügt es, das Set als Abhängigkeit einzutragen — entweder direkt in der Site-Konfiguration oder als Dependency des eigenen Sitepackage-Sets:

# config/sites/<identifier>/config.yaml  (oder im eigenen Set)
dependencies:
  - netthinks/nt-ai

Danach erscheinen die Einstellungen automatisch unter Site-Verwaltung → Einstellungen (Kategorien „Barrierefreiheit" und „Vorlesen (TTS)"). Ein manuelles Anlegen von settings.definitions.yaml-Einträgen ist nicht nötig. Das Set liefert Assets, Settings und die Frontend-Konfiguration (data-nt-* am <html>-Tag).

Nur site-spezifisches Theming bleibt im jeweiligen Sitepackage: ein natives Dark-Theme (Markenfarben), optionale Frontend-Tweaks und — falls gewünscht — ein „Vorlesen"-Button im Template (<f:render partial="ReadAloud"/> bzw. [data-nt-tts]).

Ausrollen per rsync oder tar

Wer die Extension als Dateien ausrollt — rsync, tar, ein auf das Zielsystem kopiertes Artefakt — statt dort composer install laufen zu lassen, sollte das Verzeichnis über einen Zwischenpfad ersetzen und in einem Zug umschalten:

rsync -a --delete nt_ai/ /pfad/zu/vendor/netthinks/nt-ai.new/
mv /pfad/zu/vendor/netthinks/nt-ai /pfad/zu/vendor/netthinks/nt-ai.old
mv /pfad/zu/vendor/netthinks/nt-ai.new /pfad/zu/vendor/netthinks/nt-ai

Erst das alte Verzeichnis zu löschen und dann das neue hineinzukopieren lässt ein Zeitfenster offen, in dem die Extension vorhanden, aber unvollständig ist. Eine Anfrage, die hineinfällt, meldet eine fehlende Klasse, die es in Wahrheit gibt — eine Spur, die zuverlässig in die falsche Richtung führt. Das gilt für jede TYPO3-Extension; es steht hier, weil es in einer Produktivinstallation auf die harte Tour gefunden wurde.

Danach Caches leeren und extension:setup ausführen, damit DI-Container und Datenbankschema zum neuen Code passen.