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.
- 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.
- Datenbankschema-Prüfung: Es muss sichergestellt werden, dass die Schemata dieser Tabellen zwischen Haupt- und Wikibase-DB identisch sind.
- 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 | |