Ein Nextcloud-Server kann sehr unterschiedliche Dateiübergaben tragen: Kampagnenentwürfe, technische Unterlagen oder Hörproben. Eine Oberfläche muss deshalb nicht für jeden öffentlichen Link identisch aussehen. Die Auswahl darf aber weder Dateirechte umgehen noch zu einem Gemisch aus Templates und Assets führen.
In den TOSA- und TA-Projekten verwende ich dafür fest definierte Share-Frontends und eingeschränkt zuweisbare System-Tags. Das ist eine eigene Erweiterung dieser Installationen, keine allgemeine Funktion der eingebauten Theming-Einstellungen.
Ein vollständiges Frontend auswählen
Zur Variante gehören Template, CSS, JavaScript, Schriften und Bilder. Der Router wählt serverseitig ein zusammengehöriges Paket. Ein halb überkopiertes Theme mit dem Template der einen und den relativen Assetpfaden der anderen Variante ist ein schwer reproduzierbarer Fehlerzustand.
Die dokumentierte Nextcloud-Schnittstelle Public share template provider zeigt einen Integrationsweg für eigene Share-Ansichten. Welche Erweiterungsstelle zu einer konkreten Installation passt, wird am Zielsystem geprüft. Der hier beschriebene Router ist eine projektbezogene Implementierung.

Die TOSA-Regel: direkte Auswahl mit einer Unterbaum-Ausnahme
Der TOSA-Router kennt vier erlaubte Kennungen: theme:thread-cloud, theme:diskette, theme:atelier und theme:phonist. Am freigegebenen Ordner oder an der Datei wird genau eine davon gesetzt. Ohne passenden Tag bleibt Thread Cloud aktiv. Mehrere erkannte Theme-Tags führen ebenfalls zu diesem eindeutigen Fallback.
Innerhalb eines Freigabelinks bleibt die gewählte Gestaltung zusammenhängend. Ein Tag an einem Unterordner ändert beim Navigieren nicht plötzlich dessen Oberfläche.
Die Vererbung gilt hier nicht pauschal für alle Themes. theme:phonist ist zusätzlich eine Richtlinie für den markierten Unterbaum. Sie betrifft auch eigenständige Freigaben von darunterliegenden Ordnern und kann dort ältere direkte Zuordnungen übersteuern. Die übrigen TOSA-Themes werden so nicht vererbt. Die Prüfung der nativen Vorfahren endet an der Dateienwurzel und ist auf 64 Knoten begrenzt.
Diese Ausnahme gehört in den Vertrag und in die Tests. „Der nächste Tag gewinnt“ wäre eine falsche Beschreibung dieses Routers.
TA verwendet einen anderen Selector
Die TA-Installation wählt zwischen theme:ta-paper und theme:ta-audio. Hier entscheidet der nächste passende Tag am freigegebenen Objekt oder einem Vorfahren. Widersprüchliche Tags am selben Objekt führen zur bisherigen Ansicht zurück.
Der sichtbare Effekt ähnelt dem TOSA-Router, die Auflösungsregel ist aber eine andere. Deshalb sind Selector und Testfälle getrennt dokumentiert. Ein gemeinsames Assetformat macht daraus noch keine gemeinsame Vererbungslogik.

Tags sind keine Zugriffsberechtigung
Die Auswahl beginnt am nativen öffentlichen Share-Objekt. Nur die dafür vorgesehenen, eingeschränkt zuweisbaren System-Tags werden berücksichtigt. Ein beliebiger normaler Tag mit gleichem Text reicht nicht aus. URL-Parameter oder der im Browser angezeigte Ordnerpfad bestimmen keine serverseitige Theme-Auswahl.
Die nativen Controller behalten Passwort-, Ablauf- und Zugriffsprüfung. Eine Auswahl vor der Passwortabfrage darf lediglich das Erscheinungsbild festlegen, keine geschützte Dateiliste liefern. Auch ein schöner Uploadbereich braucht die tatsächlich erlaubten Schreibrechte; die Oberfläche kann sie nicht erfinden.
Welche Fälle ich vor dem Rollout prüfe
Die Matrix beginnt mit direktem Tag, fehlendem Tag und mehreren erkannten Tags. Danach kommen die Fälle, in denen die beiden Implementierungen auseinanderlaufen: eigenständig geteilte Unterordner, ältere direkte Zuordnungen und eine entfernte Unterbaum-Richtlinie.
Weitere Prüfungen betreffen unbekannte Kennungen, fehlgeschlagene Tag-Lookups, manipulierte Pfad-/Querywerte und Grenzen der Vorfahrensuche. Im Browser werden die zugehörigen Assetpfade, Hell/Dunkel, Viewer, Audio und die Rückkehr zur Dateiliste geprüft. Passwort- und Upload-only-Ansichten gehören als eigene Rechtefälle dazu.
Vor einem produktiven Wechsel werden der aktuelle Quellstand und der Rückweg gesichert. Ein Theme-Rollback darf keine inzwischen geänderte Kundendatenbank auf einen alten Stand zurücksetzen. UI-Paket, Serverversion und Testdatum müssen gemeinsam nachvollziehbar bleiben.
Was davon Kunden sehen sollen
Kunden brauchen keine Erklärung der Tags. Sie sollen ihren Link öffnen und die passende, konsistente Ansicht erhalten. Die Wolkano-Demo-Galerie zeigt die Gestaltungen mit Beispieldaten. Den Rahmen für individuelle Nextcloud-Oberflächen erklärt Wolkano.
Die anschließende Frage ist, welche Aktionen zur gerade geöffneten Datei passen. Dafür gibt es den separaten Beitrag Kontextaktionen mit NextInject.