Dieses Ticket dient der Analyse und Auswahl der ergänzenden MediaWiki-Extensions, die die Funktionalität des Shared-Tables-SSO erweitern (z.B. zentrale Rechte, globale Benutzerseiten).
### Was getan werden muss
Die gängigen Erweiterungen, die auf der Shared-Tables-Strategie aufbauen, müssen identifiziert und auf ihre Notwendigkeit, Stabilität, Kompatibilität und Wartungsaufwand hin bewertet werden.
1. **Identifikation der Kandidaten:** Eine Liste relevanter "Global"-Extensions (z.B. **GlobalUserRights**, **GlobalUserPage**, **GlobalBlocking** etc.) muss erstellt werden.
2. **Anforderungsabgleich:** Jede Extension muss gegen unsere spezifischen Anforderungen geprüft werden:
* Benötigen wir global synchronisierte Rechte?
* Ist eine globale Benutzerseite erwünscht?
* Welche Auswirkungen hat die Extension auf die Performance beider Wikis?
3. **Kompatibilitätsprüfung:** Es muss sichergestellt werden, dass die ausgewählten Extensions mit der gewählten MediaWiki-Version und der Wikibase-Erweiterung kompatibel sind.
4. **Entscheidungsfindung:** Es wird eine finale Auswahl der Erweiterungen getroffen, die in den folgenden Implementierungsschritten installiert und konfiguriert werden.
### Warum wir das tun
Ein reines Teilen der Benutzer- und Session-Tabellen (Shared-Tables) reicht oft nicht aus, um ein nahtloses SSO-Erlebnis zu schaffen.
* **Konsistente Benutzererfahrung:** Erst die Global-Extensions sorgen dafür, dass sich der Benutzer beim Wechsel der Instanz nicht neu konfigurieren muss (z.B. dieselben Rechte, dieselbe Benutzerseite).
* **Zentrale Administration:** Die Entscheidung für **GlobalUserRights** würde es ermöglichen, Benutzergruppen und Administratoren zentral zu verwalten, was den Administrationsaufwand stark reduziert.
* **Vermeidung von Wildwuchs:** Die bewusste Auswahl verhindert die Installation unnötiger oder ungeeigneter Erweiterungen, die Wartungsprobleme verursachen könnten.
### Ergebnis der Evaluierung und finale Auswahl
Die Prüfung der gängigen "Global"-Erweiterungen auf Basis der Shared-Tables-Strategie hat folgende Empfehlungen ergeben.
| Erweiterung | Funktion | Entscheidung | Begründung |
| --- | --- | --- | --- |
| **GlobalUserRights** | Zentralisiert die Zuweisung von Benutzergruppen und Rechten (z.B. Admin-Status, Bürokrat) über alle Wikis hinweg. | **Implementieren** | Essentiell für die zentrale Verwaltung der Administratoren und die Durchsetzung konsistenter Benutzerrechte auf beiden Instanzen. |
| **GlobalUserPage** | Zeigt die Benutzerseite aus dem Haupt-Wiki auch in der Wikibase-Instanz an, falls dort keine lokale Seite existiert. | **Implementieren** | Verbessert die Benutzerfreundlichkeit und sorgt für eine konsistente Identität über die Instanzen hinweg. |
| **GlobalBlocking** | Ermöglicht die zentrale Sperrung von Benutzern oder IP-Adressen für alle verbundenen Wikis. | **Zurückstellen** | Ist für den initialen Betrieb nicht zwingend erforderlich. Kann später bei Bedarf als eigenständiges Ticket hinzugefügt werden. |
| **GlobalPreferences** | Synchronisiert Benutzereinstellungen (z.B. Sprache, Oberfläche) über alle verbundenen Wikis. | **Implementieren** | Sehr empfehlenswert für eine nahtlose Benutzererfahrung. Reduziert den Konfigurationsaufwand für den Nutzer beim Instanz-Wechsel. |
| **GlobalCssJs** | Erlaubt die zentrale Definition und Nutzung von benutzerspezifischem CSS/JS für beide Wikis. | **Implementieren** | Wichtig für die einheitliche Anpassung der Oberfläche und zur Vereinfachung der Wartung des benutzerdefinierten Stylings. |
| **GlobalBlocking** | Ermöglicht die zentrale Sperrung von Benutzern oder IP-Adressen für alle verbundenen Wikis. | **Zurückstellen** | Ist für den initialen Betrieb nicht zwingend erforderlich und kann bei Bedarf nachgeliefert werden. |
| **GlobalUsage** | Zeigt die globale Nutzung einer Datei in allen verbundenen Wikis an. | **Zurückstellen** | Nicht relevant für die Kerneinführung der strukturierten Daten. |
---
### Fazit und Konsequenz
Es werden die Erweiterungen **GlobalUserRights**, **GlobalUserPage** und **GlobalPreferences** zur Implementierung freigegeben. Das nächste Ticket muss die technische Umsetzung (Installation und Konfiguration) dieser drei Erweiterungen sowie die Konfiguration der nativen Shared-Tables ($wgSharedTables) umfassen.