MediaWiki

Aus SDQ-Wiki
Zur Navigation springen Zur Suche springen

Dieses Wiki verwendet die Software MediaWiki. Dazu wurde ein Skin erstellt, das auf das Corporate Design des KIT angepasst ist. Weiterhin ist es möglich, sich mit einem KIT-Benutzerkonto anzumelden. Auf dieser Seite beschreiben wir, wie man das Skin und den Login einrichtet. Ansprechperson für diese Erweiterungen ist Erik Burger.

Skin im KIT-Design

Basierend auf dem populären Vector-Skin von MediaWiki wurde das Skin, das auch in diesem Wiki verwendet wird, auf das Corporate Design des KIT angepasst. Das Skin kann hier heruntergeladen werden: https://git.scc.kit.edu/i43/code/mediawiki/sdq-vector

Derzeit werden nur MediaWiki 1.31 und 1.35 (LTS) unterstützt. Nur die Version für MediaWiki 1.35 (REL1_35, entspricht master) wird aktuell gehalten. Eine Unterstützung für MediaWiki 1.39 (nächste LTS) ist geplant.

Installation

  • Das Skin aus Gitlab in das Verzeichnis /skins der MediaWiki-Installation klonen und git checkout REL1_35 aufrufen.
  • Die Roboto-Schriftarten aus müssen aus dem Git-Repository von FontFaceKit (https://github.com/FontFaceKit/roboto) geholt werden.
    • Dazu im Verzeichnis skins/sdq-vector die Befehle git submodule init und git submodule update ausführen.
    • Danach liegen die Schriftarten im Verzeichnis skins/sdq-vector/fonts/roboto.
  • In der LocalSettings.php folgende Aufrufe hinzufügen:
wfLoadSkin( 'SDQ-Vector' );
wgVectorResponsive=true;
Achtung: Das Skin kann nicht gleichzeitig mit dem Vector-Skin aktiviert sein. Das Vector-Skin kann zwar noch in /skins liegen, der Aufruf wfLoadSkin( 'Vector' ); muss jedoch entfernt oder auskommentiert werden.
  • Das Skin ist bisher nur für den klassischen Stil (Legacy Mode) angepasst. Dieser ist standardmäßig aktiv, kann jedoch von den Benutzern in den Einstellungen unter Aussehen deaktiviert werden. Dadurch verliert man die meisten Formatierungselemente.

Anmeldung per KIT-Konto

Um sich per KIT-Konto am Wiki anmelden zu können, sind folgende Schritte nötig:

  • Beim Dienst OpenID Connect des SCC (Matthias Bonn) anmelden.
  • Im Wiki die Erweiterungen PluggableAuth und OpenID Connect aus dem Master-Branch (Version ≥ 6.0) installieren.
  • In der LocalSettings.php folgendes einfügen (###CLIENTID### usw. durch die tatsächlichen Werte ersetzen):
# OpenID Authentification
wfLoadExtension( 'PluggableAuth' );
wfLoadExtension( 'OpenIDConnect' );

$wgPluggableAuth_Config[] = [
        'plugin' => 'OpenIDConnect',
        'buttonLabelMessage' => 'Mit KIT-Konto anmelden',
        'data' => [
                'providerURL' => 'https://oidc.scc.kit.edu/auth/realms/kit', # oder https://bwidm.scc.kit.edu/oidc/realms/bwidm für föderierten Login
                'clientID' => '###CLIENTID###',
                'clientsecret' => '###CLIENTSECRET###',
                'scope' => ['openid', 'profile', 'email'],
                'name' => 'KIT-Konto',
                'icon' => '###URL_LOGO###'
        ]
];

$wgGroupPermissions['*']['autocreateaccount'] = true;
$wgPluggableAuth_EnableAutoLogin = true; # nur für private Wikis; Benutzer werden automatisch auf Anmeldeseite geleitet, falls sie nicht angemeldet sind
$wgPluggableAuth_EnableLocalLogin = true; # weiterhin lokale Benutzerkonten erlauben

$wgOpenIDConnect_UseRealNameAsUserName = true;
$wgOpenIDConnect_UseEmailNameAsUserName = true;
$wgOpenIDConnect_MigrateUsersByUserName = true;

# In Benutzernamen das '@'-Symbol und Doppelpunkte erlauben, da die 
$wgInvalidUsernameCharacters = '';

# CSS auf Login-Seite erlauben, um z.B. den KIT-Anmeldeknopf grün zu färben.
$wgAllowSiteCSSOnRestrictedPages = true;
  • Die CSS des Wikis so anpassen, dass der KIT-Anmeldeknopf KIT-grün ist, z.B. auf der Seite MediaWiki:Common.css des Wikis:
/* KIT-green on login box */
button#mw-input-pluggableauthlogin0 {
background-color: #009682;
border-color: #009682;
}
  • Zum Anmelden müssen die Benutzer dann auf den Knopf Mit KIT-Konto anmelden klicken, ohne zunächst Benutzerdaten einzugeben.
    • Die Benutzer werden dann auf die Shibboleth-Seite des SCC weitergeleitet.
    • Um dies auf der Anmeldeseite anzuzeigen, kann der Text MediaWiki:Loginprompt des Wikis geändert werden.
    • Anmeldung mit lokalen Benutzerkonten des Wikis ist weiterhin möglich.
    • Beispiel: Anmeldeseite dieses Wikis
  • Mit der o.g. Konfiguration wird für jeden Benutzer, der sich mit KIT-Konto anmeldet, ein Benutzer im Wiki angelegt
    • Dieser Benutzer ist in der Gruppe user und hat die entsprechenden Rechte
    • Es empfiehlt sich daher, der Gruppe user minimale Rechte zu erteilen und weitere Gruppen zu erstellen (z.B. mitarbeiter, studierende).
    • Die Benutzer müssen sich dann einmalig per KIT-Konto anmelden, und ein Wiki-Admin/-Bürokrat muss sie über Spezial:Benutzerrechte in die o.g. Gruppen hinzufügen
  • Standardmäßig werden die Benutzer mit ihrem SCC-Kürzel ab1234 angezeigt.
    • Über die Erweiterung Realnames können diese in der UI durch den echten Namen ersetzt werden
    • Wir verwenden $wgRealnamesLinkStyle = "replace";