Dieses Ticket liefert die exakte technische Spezifikation aller Tabellen, die zwischen dem Haupt-Wiki und der Wikibase-Instanz über **$wgSharedTables** geteilt werden müssen, inklusive der Konfiguration für SSO und zentralisierte Features.
### Was getan werden muss
Die endgültige, vollständige Liste der zu teilenden Tabellen muss erstellt und dokumentiert werden.
1. **Erstellung der finalen $wgSharedTables-Liste:** Die unten stehende, konsolidierte Liste aller zu teilenden Tabellen muss für die Konfiguration in der `LocalSettings.php` der Wikibase-Instanz verwendet werden.
2. **Datenbankschema-Prüfung:** Es muss sichergestellt werden, dass die Schemata dieser Tabellen zwischen Haupt- und Wikibase-DB identisch sind.
3. **Berechtigungsanpassung:** Dem Datenbankbenutzer der Wikibase-Instanz muss Lesezugriff auf alle nachfolgend gelisteten Tabellen in der **Haupt-Wiki-Datenbank** gewährt werden.
### Warum wir das tun
Eine fehlerhafte oder unvollständige Konfiguration der Shared-Tables verhindert die volle Funktion des Single Sign-On und der zentralisierten Features.
* **Lückenloses SSO und zentrale Rechte:** Das Teilen der nativen `user` und `user_groups` sowie der Tabellen der **GlobalUserRights** ist zwingend erforderlich, um eine zentrale Anmeldung und Rechteverwaltung zu gewährleisten.
* **Konsistente Features:** Das Teilen von Tabellen für **AbuseFilter** und **Interwiki** stellt sicher, dass Administratoren diese Features zentral verwalten können und die Konfigurationen auf beiden Wikis automatisch synchronisiert werden.
* **Vermeidung von Inkonsistenzen:** Nur mit dieser vollständigen Liste wird sichergestellt, dass keine Benutzerdaten oder zentralen Konfigurationen versehentlich lokal in der Wikibase-Datenbank angelegt werden.
### Spezifikation der zu teilenden Tabellen (Haupt-Wiki-Datenbank)
| Kategorie | Tabelle(n) | Zweck | Erforderliche Erweiterung |
| --- | --- | --- | --- |
| **Benutzerverwaltung (SSO)** | `user` | Speichert alle Benutzerkonten. | MediaWiki Native |
| | `user_groups` | Speichert die globalen Benutzergruppen-Zuordnungen. | MediaWiki Native |
| | `user_newtalk` | Speichert den Status neuer Nachrichten. | MediaWiki Native |
| **Globale Rechte** | `global_user_groups` | Speichert zentral definierte globale Rechte. | GlobalUserRights |
| **Globale Einstellungen**| `global_preferences` | Speichert benutzerdefinierte, globale Einstellungen. | GlobalPreferences |
| | `global_watchlist` | Speichert die zentralisierte Beobachtungsliste. | GlobalWatchlist |
| **Feature-Sharing** | `interwiki` | Speichert die Definition der Interwiki-Präfixe. | MediaWiki Native |
| | `abuse_filter` | Speichert die Regeln des zentralen Missbrauchsfilters. | AbuseFilter |
| | `abuse_filter_action` | Speichert die zugehörigen Aktionen des Filters. | AbuseFilter |
| | `abuse_filter_history` | Speichert die Historie der Filteränderungen. | AbuseFilter |
| | `global_css_js` | Speichert benutzerdefiniertes CSS/JS für globale Nutzung. | GlobalCssJs |
---
Was ist der nächste grobe Punkt auf der Agenda, nachdem diese Spezifikation umgesetzt wurde (also nach der eigentlichen Konfiguration)?