MediaWiki
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 undgit 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 Befehlegit submodule init
undgit submodule update
ausführen. - Danach liegen die Schriftarten im Verzeichnis
skins/sdq-vector/fonts/roboto
.
- Dazu im Verzeichnis
- In der
LocalSettings.php
folgende Aufrufe hinzufügen:
wfLoadSkin( 'SDQ-Vector' );
wgVectorResponsive=true;
/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.
- Es ist möglich, nur KIT-Konten die Anmeldung zu erlauben oder mehreren Einrichtungen aus der DFN-Föderation, z.B. andere Universitäten.
- Als URLs muss man die des Wikis nennen. Falls man URL-Rewriting verwendet, sind das zwei URLs, z.B. für dieses Wiki:
- Man erhält eine Client-ID und ein Secret, das man in den u.g. Konfigurationsdateien einfügen muss.
- 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
- Dieser Benutzer ist in der Gruppe
- 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";