Manche MediaWiki-Versionen, scheinbar bevorzugt auf Ubuntu-Betriebssystemen, erlauben den Upload von docx- oder xlsx-Dateien nicht. Das sind die neuen Microsoft-Office-Dateien im XML-Format.

Wir haben eine Weile gebraucht bis wir zu einer Lösung kamen, aber die funktioniert jetzt auch perfekt.

Das Problem liegt an der MimeTyp-Erkennung für diese …x-Dateien. Per Kommandozeile auf Ubuntu mit file -bi wird als MimeType application/x-zip ausgegeben. Die Wiki-Software erkennt die Dateien jedoch als application/zip und offiziell lauten die MimeTypes wohl nochmal ganz anders.

Klären wir jedoch ersteinmal die Ausgangslage. File-Upload im Wiki ist aktiviert, und die Dateitypen docx und xlsx sind dem Array $wgFileExtensions in der LocalConfig.php hinzugefügt. Beim Upload der entsprechenden Datei, erhält man dann jedoch die Fehlermeldung "The file is corrupt or has an incorrect extension. Please check the file and upload again."

Die Lösungsvorschläge auf der MediaWiki-Seite haben uns allerdings nicht geholfen, und das unter #Ubuntu quirks genannte PHP-Modul konnten wir nicht aktivieren.

Die Wiki-Software mappt in der Datei mime.types im Ordner /includes File-Extensions auf MimeTypes. Das Problem ist, dass docx und xlsx dort nicht vorkommen. Da wir jedoch wissen, dass diese Dateien intern als application/zip erkannt werden, können wir die File-Extensions zu dieser Liste hinzufügen (entsprechende Hilfeseite).

Danach erhalten wir jedoch die Fehlermeldung, dass der Upload von Dateien mit MimeType application/zip nicht erlaubt sei. Nun gut, das wäre dann das kleinere Problem. MediaWiki führt eine interne MimeType-Blacklist die auch diesen Eintrag enthält. Also kopieren wir das Array von dieser Seite in unsere LocalConfig.php und kommentieren den Eintrag application/zip aus.

Und schon klappt der Upload!