Freitag, Dezember 20, 2019
20. Dezember 2019
Gefangen in der TYPO3-Hölle
Zugegeben: Es war eine verlockende Idee ein Webinterface zu bauen und den Kollegen die Möglichkeit zu geben etwas aus der analogen Welt in die digitale Welt zu übertragen.
Angefangen hat alles 2016, als ich mir überlegt habe, ob wir nicht unter uns Administratoren eine Art Wettsreit ausrufen und am Jahresende den “Admin of the Year” küren. Dazu habe ich blanko Postkarten besorgt und verschieden farbige selbstklebende Punkte. Die Idee war, jeder, der von einem der Admins einen “Gefallen” getan bekommen hat, sollte sich auf diese Weise erkenntlich zeigen und kurz aufschreiben, was der Kollege tolles getan hat, um ein System zu stabilisieren, zu retten oder zu verbessern. Das hat so leidlich funktioniert. Leider haben sich nicht viele Kollegen an der Aktion beteiligt. Dennoch konnten wir schon dreimal hinter einander zwei Kollegen zu Siegern erklären.
Dieses Jahr nun war nach 2017 der Kollege Timo wieder auf dem ersten Platz. Im Vorfeld hat man jedoch von Seiten der IT-Assistenz versucht mich als Sieger zu pushen, was ich schon ziemlich schnell spitz bekommen habe, weil auffällig viele Karten in den letzten zehn Tagen vor der Preisverleihung bei mir gelandet sind. Im Hintergrund war wohl mein Teamleiter nicht ganz unbeteiligt, wie ich später feststellen musste. Er hat mir nämlich zu verstehen gegeben, dass aus seiner Sicht ein anderer den Preis viel eher verdient hätte. Dabei meinte er wohl mich. Auch hat er durchblicken lassen, dass er das ganze System für fragwürdig hält und gemeint, dass müsse man im kommenden Jahr noch mal überdenken. Er selbst hat wohl lange mit sich gerungen, mir eine solche Karte auszustellen, konnte sich aber dann wohl nicht dazu durchringen. Vielleicht hat auch er dafür gesorgt, dass die entsprechende Karte dann aus der IT-Assistenz kam.
Ein anderer Kollege hat auch gesagt, dass er sich schwer damit tut eine der Bewertungskarten auszufüllen. Einfacher fände er es, wenn man das am PC machen könnte. Man könne ja eine ganz einfache Webseite vielleicht mit XML programmieren, wo man das dann eintragen könne. Aus diesem mehr oder weniger beiläufig erwähnten Kommentar hab ich mich natürlich bemüßigt gesehen ein Projekt daraus zu machen und schon bin ich für die nächsten drei Wochen ausgebucht. Denn ein “lumpiges” XML war mir dann doch zu profan und so habe ich mir gleich ein ganzes CMS ans Bein gebunden.
Angefangen habe ich mit einer vituellen Maschine in VMware. Und weil die Kollegen alle so windowsaffin sind, musste es jetzt natürlich ein Windows Server 2019 sein. Kurzerhand habe ich mir eine 180-Tage Testversion heruntergeladen und einen virtuellen Server aufgesetzt. IIS installiert und schon ging der Krampf los: Microsoft bringt ja keine Komponente freiwillig mit. Alles muss man sich mühsam zusammenklauben. Und dann passen die Komponenten nicht mal zueinander. Will man zum Beispiel PHP 7.3 einsetzen, dann benötigt man Visual Studio 2017. Das bekommt man aber nicht frei heruntergeladen. Die aktuellste frei verfügbare Version von Visual Studio ist die 2015er. Die geht aber nicht zusammen mit PHP 7.3. Nach gut einem Arbeitstag hab ich den Ansatz verworfen und mir ein Debian 10 besorgt. Die VM war schnell aufgesetzt, alle Komponenten installiert und Typo3 heruntergeladen. Aber warum musste es ausgerechnet TYPO3 sein? Ein Joomla! hätte es doch sicherlich auch getan. Damit kenne ich mich schon etwas aus. Sicherlich nicht mit der aktuellen Version, aber immerhin hab ich das schon mal gesehen und bedient. Die Einarbeitung hätte also nur kurz ausfallen können. Stattdessen muss ich mir so ein Schwergewicht aussuchen. Der Hintergrund ist der, dass die Homepage der SW schon in TYPO3 läuft und ich gedacht habe, da könnte ich viele Elemente vielleicht nachbauen oder einfach kopieren. Aber ganz so einfach ist das leider nicht.
Die ihr hier eintretet …
Zwei oder drei Anläufe, die Installation zu starten, ein paar fehlende Pakete nachinstalliert, neuer Anlauf, wieder Pakete nachinstalliert, noch mal versucht - nichts. Das Zeug lief einfach nicht. Dann den Fehler entdeckt: Im Dokument-Root sollte eine leere Datei angelegt werden. Die Betonung lag auf Datei, nicht Verzeichnis. Das hatte ich aber wieder mal vollkommen übersehen und mich ewig abgemüht, bis mir mein Fehler bewußt wurde. Kaum macht man es richtig, schon geht’s.
Die Installation konnte ihren Lauf nehmen und der Test, ob alle Vorbedingungen erfüllt sind, hat zwar funktioniert, aber war natürlich negativ ausgefallen. Also noch mehr Pakete installiert, Konfigurationsdateien angepasst und den Apache neu gestartet. Irgendwann waren alle Ampeln grün. Und nach der erfolgreichen Installation und Konfiguration konnte ich auch tatsächlich im Backend alle erforderlichen Komponenten sehen. Aber dann: Raus aus dem Backend konnte ich nicht mehr auf die Seite zugreifen. Kein backend, kein Frontend, nichts. Nur die Seite selber war noch immer die default Apacheseite. Die hab ich dann später gelöscht und siehe da: das Ergebnis hat nun endlich meine Erwartungen erfüllt.
Aus welchen Gründen es dann plötzlich doch wieder ging ist für mich nicht ganz nachvollziehbar. Man macht ja so einiges und vermutlich hab ich an einer Stelle etwas getan, was ich nicht hätte tun sollen oder dürfen. Zum Beispiel den Cache leeren. Trotzdem weiß ich nicht, warum es dann wieder ging. Jetzt habe ich aber noch mal einen ganzen Arbeitstag damit zugebracht das alles soweit zum Laufen zu bringen. Bevor es nun an die konkreten Inhalte geht und an die Installation von entsprechenden Erweiterungen für ein Bewertungssystem, mach ich jetzt erst mal Feierabend. Das ferne Ziel ist aber ein Bewertungssystem ähnlich wie bei Ebay oder einem Online-Shop zu haben, um die Administratoren zu bewerten und zu kommentieren. Und weil es sicherlich noch andere Anwendungsfälle (use cases) gibt, finde ich ein CMS schon sinnvoll. Interne Informationen z. B.
Wenn alles so funktioniert, wie ich mir das vorstelle, sollte es im Idealfall kein Problem darstellen die VM zu exportieren und in der SW-Umgebung wieder zu importieren. Dort kann dann die Entwicklung weitergehen.