Open Source e-Learning
  • Login

Functions

Kruse, Fabian [Fabian] - 13. Jul 2016, 14:40

ILIAS und PHP7: Große Fortschritte bei der Umstellung

Eine der größten Herausforderungen in der Entwicklung von ILIAS 5.2 ist - wie berichtet - die Umstellung auf PHP7. Sie macht es erforderlich, den gesamten Quellcode durchzugehen und zu aktualisieren. Außerdem müssen etliche externe Bibliotheken ausgetauscht werden. Über den aktuellen Stand haben wir uns mit Fabian Schmid unterhalten, der als Mitglied des Technical Boards die Arbeiten koordiniert.
Fabian Schmid, Mitglied des Technical Boards, koordiniert die PHP7-Umstellung
Erfreulicherweise sind bereits jetzt ca. 80-85% der Umstellung erfolgreich abgeschlossen. Unmittelbar nach der letzten ILIAS-DevConf hatten die Entwickler und Entwicklerinnen beschlossen, sich regelmäßig auf einer Telefonkonferenz auszutauschen. Dieses Format war in Verbindung mit dem Jour Fixe sehr erfolgreich: Fragen konnten schnell geklärt und Probleme gemeinsam angegangen werden. Die gegenseitige Unterstützung habe die Umstellung sehr beschleunigt.

So ist heute die letzte größere Baustelle der Login. Laut Stefan Meyer, dem ersten Maintainer der Komponente Login, Auth & Registration, sind dabei aber auch keine größeren Probleme mehr zu erwarten. Die regelmäßige Telefonkonferenz konnte daher laut Schmid mittlerweile eingestellt werden: „Es fehlen bis auf den Login nur noch unkritische Elemente. Der Releasetermin zum Jahresende ist daher aus unserer Sicht nicht gefährdet.“

Ein großer Teil der Umstellung war letzten Endes Fleißarbeit: Der gesamte Code musste durchsucht werden, um die Teile zu entfernen oder zu aktualisieren, die mit PHP7 nicht mehr kompatibel sind. Dank der engen Kooperation aller Maintainer konnte dies aber teilweise automatisiert werden. Am schwierigsten stellte sich der Umbau der Datenbank-Schicht heraus: Da die Datenbank bei jeder Nutzung von ILIAS eine zentrale Rolle spielt, waren von dieser Aktualisierung alle Komponenten betroffen.

Eine große Hoffnung war, dass die Umstellung auf PHP7 Performance-Gewinne mit sich bringen würde. Dazu beitragen sollte neben PHP7 selbst insbesondere auch die Änderung der Datenbank-Schicht. Und auch wenn es zu diesem frühen Zeitpunkt noch keine verlässlichen Zahlen gibt, sind die Ergebnisse erster lokaler Lastentests bei Fabian Schmid sehr vielversprechend: „Die Seiten werden schneller geladen als vorher. Der Wechsel von PHP5 auf PHP7 ist durchaus spürbar.“ Darüber hinaus werde weniger Speicher als zuvor benötigt.

Ein weiterter positiver Nebeneffekt der Umstellung war die Aktualisierung der externen Programmbibliotheken. Diese werden von den Maintainern genutzt, um mit wenig Aufwand beispielsweise PDFs zu generieren, einen Kalender anzubieten oder die Inhalte der Datenbank für die User überhaupt erst sichtbar zu machen. Die meisten dieser Bibliotheken wurden nun aktualisiert, einige ausgetauscht oder sogar gänzlich aus dem Code entfernt und durch Eigenentwicklungen ersetzt. Es ist diese Art des „house-keepings“, die eine Software für ILIAS auf lange Sicht stabil und zukunftsfähig macht.

Für die Anwenderinnen und Anwender dürften all diese Änderungen nur positive Effekte mit sich bringen. Benutzer von PHP7 dürfen sich über die Performance-Gewinne freuen, aber auch PHP5-User können weiter mit ILIAS arbeiten. ILIAS 5.2 wird auf beiden PHP-Versionen lauffähig sein. Allerdings steigt die Mindestanforderung von PHP 5.3 (für ILIAS 5.0 und 5.1) nun auf PHP 5.5.

Mit Blick auf die Zukunft deutet Schmid an, dass ILIAS zukünftig schneller mit der PHP-Entwicklung mithalten wird. Ziel sei es, nur noch die zwei neuesten PHP-Versionen zu unterstützen. Dies erfordere zwar regelmäßige Server-Updates durch die User, sei aber gleichzeitig die einzige Möglichkeit, um neue PHP-Features nutzen zu können und ILIAS somit noch besser zu machen. Mit Rücksicht auf die Nutzerinnen und Nutzer von PHP5 seien bisher keine neuen Features von PHP7 eingesetzt worden. Die entsprechenden Abschnitte seien im Code aber bereits markiert worden, um so mit ILIAS 5.3 oder 5.4 von den neuen Möglichkeiten profitieren zu können.

Zunächst aber dürfen wir uns auf ein schnelleres, schlankeres und weniger speicherhungriges ILIAS 5.2 freuen - das darüber hinaus natürlich auch wieder neue Features mit sich bringen wird. Mehr dazu zu gegebenem Zeitpunkt - natürlich auch hier im Blog!

Functions

No comment has been posted yet.