Man­che Me­dia­Wiki–Ver­sio­nen, schein­bar be­vor­zugt auf Ubuntu-Betriebssystemen, er­lau­ben den Upload von docx- oder xlsx–Dateien nicht. Das sind die neuen Microsoft-Office-Dateien im XML-Format.

Wir ha­ben eine Weile ge­braucht bis wir zu ei­ner Lö­sung ka­men, aber die funk­tio­niert jetzt auch perfekt.

Das Pro­blem liegt an der MimeTyp-Erkennung für diese …x-Dateien. Per Kom­man­do­zeile auf Ubuntu mit file -bi wird als Mi­me­Type application/x-zip aus­ge­ge­ben. Die Wiki-Software er­kennt die Dateien je­doch als application/zip und of­fi­zi­ell lau­ten die Mi­me­Ty­pes wohl noch­mal ganz anders.

Klä­ren wir je­doch erstein­mal die Aus­gangs­lage. File-Upload im Wiki ist ak­ti­viert, und die Datei­ty­pen docx und xlsx sind dem Ar­ray $wgFileExtensions in der LocalSettings.php hin­zu­ge­fügt. Beim Upload der ent­spre­chen­den Da­tei, er­hält man dann je­doch die Feh­ler­mel­dung "The file is corrupt or has an incorrect extension. Please check the file and upload again."

Die Lö­sungs­vor­schläge auf der MediaWiki-Seite ha­ben uns al­ler­dings nicht ge­hol­fen, und das un­ter #Ubuntu quirks ge­nannte PHP-Modul konn­ten wir nicht aktivieren.

Die Wiki-Software mappt in der Da­tei mime.types im Ord­ner /includes File-Extensions auf Mi­me­Ty­pes. Das Pro­blem ist, dass docx und xlsx dort nicht vor­kom­men. Da wir je­doch wis­sen, dass diese Dateien in­tern als application/zip er­kannt wer­den, kön­nen wir die File-Extensions zu die­ser Liste hin­zu­fü­gen (ent­spre­chende Hil­fe­seite).

Da­nach er­hal­ten wir je­doch die Feh­ler­mel­dung, dass der Upload von Dateien mit Mi­me­Type application/zip nicht er­laubt sei. Nun gut, das wäre dann das klei­nere Pro­blem. Me­dia­Wiki führt eine in­terne MimeType-Blacklist die auch die­sen Ein­trag ent­hält. Also ko­pie­ren wir das Ar­ray von die­ser Seite in un­sere LocalConfig.php und kom­men­tie­ren den Ein­trag application/zip aus.

Und schon klappt der Upload!