Entwicklung der myHPI-Plattform 1327

Interview mit Johannes Wolf

0
58
views

Das Projekt 1327, das die Basis für die myHPI-Webseite legt, wurde bereits in Ausgabe 18 des HPImgzn kurz vorgestellt. Mittlerweile ist es im Produktiveinsatz. Wir sprachen mit Johannes Wolf, um etwas mehr über das Projekt und seine Entstehung zu erfahren.

HPImgzn: Johannes, in wenigen Sätzen zusammengefasst – was genau ist 1327?

Johannes: 1327 ist ein von Studierenden am HPI entwickeltes Content Management System (CMS), das vor allem Funktionalitäten bereitstellt, die für die Webseite des Fachschaftsrates, also myHPI, benötigt werden. Das sind zum einen statische Seiten für Informationen, die wir nach Außen weitergeben wollen, wie z.B. zu Auslandsaufenthalten oder E-Mail-Verteilern. Wir haben auch eine Menge interne Dokumentation in Form von HowTos zu so ziemlich allem, was der FSR tut. Zum anderen können auf der Webseite Umfragen durchgeführt werden und der FSR kann dort seine Protokolle veröffentlichen.

HPImgzn: Wie kam es dazu, dass ihr eine eigene Anwendung entwickelt habt, statt ein bestehendes System zu nutzen?

Johannes: Das ist die Frage, die mir am häufigsten zu diesem Thema gestellt wird. Wir hätten natürlich einfach eine Seite mit WordPress oder Typo3 aufsetzen können. Ich hole mal ein kleines Stück weiter aus: Wir hatten vorher eine Drupal-Seite auf myHPI, Drupal ist auch ein CMS. Die verwendete Version war schon sehr alt und hatte vermutlich viele Sicherheitslücken. Einfache Updates waren nicht möglich, weil irgendetwas an dem System kaputt war. Manche Informationsseiten konnten nur manuell in der Datenbank aktualisiert werden, ebenfalls weil irgendetwas nicht richtig funktioniert hat. Wir mussten also etwas tun, damit die Webseite weiter genutzt werden kann. Natürlich haben wir kurz darüber nachgedacht, einfach eine neue Version von einer bestehenden Software zu installieren und die Daten dorthin zu migrieren. Aber man kennt das ja: An allem hat man etwas auszusetzen und so hundertprozentig werden die eigenen Anforderungen von keiner Software erfüllt. Aber wir sind Softwareentwickler. Wir studieren das und beschäftigen uns einen Großteil unserer Zeit damit, wie man Softwaresysteme sinnvoll baut. Wir haben Erfahrungen mit Nutzeranforderungen und technischen Details der Umsetzung. Da liegt es eigentlich nahe, einfach selbst etwas zu schreiben, das eben genau das tut, was man gerne hätte. Wir haben uns deshalb entschlossen, nach dem Prinzip »Wegschmeißen – neu machen« vorzugehen. Also uns von dem alten System komplett zu verabschieden und von Grund auf alles selbst neu zu bauen.

HPImgzn: Wer genau ist »wir«? Wer war alles an dem Projekt beteiligt?

Johannes: Angestoßen wurde das Projekt vom FSR 2014/2015. Der FSR betreibt und pflegt ja die Webseite. In unserer täglichen Arbeit im Gremium gab es viele Dinge, die uns an der alten Webseite gestört haben und irgendwann war der Punkt gekommen, an dem sich genügend Leute gefunden hatten, die sich vorstellen konnten, zusammen mit dem Projekt zu beginnen. Am Anfang waren wir drei Leute aus dem damaligen FSR: Sebastian Brückner, Christian Bartz und ich. 2015 kam Steffen Kötte – auch FSR-Mitglied – zum Kernteam dazu, er hat sich ab dann stark eingebracht und fleißig mitentwickelt. Außerdem haben ein paar andere Leute ab und zu mal mitgearbeitet. Sebastian und Steffen sind mittlerweile nicht mehr am HPI, deswegen sind im Wesentlichen nur noch Christian und ich mit der Weiterentwicklung beschäftigt. Wir arbeiten montags während der Hacking Hours an dem System – wenn jemand vorbeischauen und mitmachen möchte, würden wir uns natürlich freuen.

HPImgzn: Seit wann arbeitet ihr also an dem Projekt? Seit 2014?

Johannes: Genau. Im Juli 2014 gab es den ersten Commit, da haben wir bei null angefangen. Seit Januar 2017 sind wir jetzt im Produktivbetrieb, also waren es zweieinhalb Jahre bis zum Launch. Es gab auf dem Weg zwei Wetten, wann wir starten können. Die habe ich beide verloren, aber ich wollte erst ein gutes Gefühl bei der Sache haben, bevor am Ende an jedem zweiten Tag irgendetwas Wichtiges nicht funktioniert und wir irgendeinen Hotfix einbauen müssen.

HPImgzn: Na das hat sich dann hoffentlich gelohnt. Worum ging es bei den Wetten?

Johannes: Es war jeweils nur ein Döner, also nichts Tragisches. Vor allem, wenn man gegen eine nette Person verliert, mit der man dann gemeinsam Döner essen gehen kann.

HPImgzn: Es ist bestimmt kein Zufall, dass 1327 auf Django basiert, das auch für EvaP eingesetzt wird, oder?

Johannes: Nein, natürlich nicht. Als wir uns überlegt haben, dass wir ein eigenes Projekt starten wollen, lag Django als Framework nahe, weil damit schon ein paar Leute Erfahrung hatten. Die Hoffnung war, von EvaP ab und zu Dinge übernehmen zu können. Das hat auch gut funktioniert. Im FSR haben wir immer wieder gescherzt, irgendwann »Das System« zu entwickeln, das sämtliche Verwaltungsaufgaben rund um das Studium am HPI übernimmt. Und dafür wäre es doch praktisch, die einzelnen Bestandteile schon kompatibel zueinander zu bauen. Ich glaube zwar nicht wirklich, dass so ein System jemals gebaut wird, aber EvaP und 1327 haben sich gut entwickelt und vielleicht kommt ja in Zukunft ab und zu mal noch etwas Weiteres dazu.

Durch das verwendete Framework Django besteht das Projekt zu einem großen Teil aus Python-Code.

HPImgzn: Für Django gibt es doch auch ein Django CMS. Basiert 1327 darauf?

Johannes: Nein, tatsächlich nicht. Das ist übrigens die zweite Frage, die gerne gestellt wird. Um ganz ehrlich zu sein, weiß ich die Antwort darauf nicht so wirklich. Ich glaube zwar, dass ich mir das Django CMS zu Beginn des Projektes schon einmal angesehen habe – aber warum wir das nicht als Grundlage genommen haben, kann ich heute nicht mehr sagen. Vielleicht war es der Reiz, es komplett selbst zu bauen. In jedem Fall haben wir viel gelernt, während wir die Plattform von Grund auf zusammengebaut haben. Ich zum Beispiel habe mich viel mit der UI beschäftigt. Ich habe in den letzten Jahren auch unabhängig von EvaP und 1327 viele Erfahrungen im Bereich Design und Benutzeroberflächen gesammelt und merke immer wieder, dass es leider nicht immer einfach ist, die Oberfläche so umzusetzen, wie ich sie gerne hätte. Manchmal wird es dann doch eine andere Lösung, bei der ich schon vor der Nutzung weiß, was daran verbessert werden könnte. Doch bevor wir an einer besonders aufwändigen Lösung zu lange arbeiten, wählen wir lieber erst eine einfachere Variante, damit das System immerhin schon mal nutzbar ist. Wenn ich mich nur mit UI beschäftigen könnte und alle neuen Feature-Ideen von anderen implementiert würden, könnte ich allein damit auch noch viel Zeit verbringen.

HPImgzn: Ich kann mir vorstellen, dass es bei einem Projekt dieser Größe nicht immer eindeutig ist, in welche Richtung man geht. Würdest du rückblickend manche Entscheidungen zur Entwicklung anders treffen?

Johannes: Man trifft ab und zu Designentscheidungen, die man mit dem jetzigen Wissensstand vielleicht anders treffen würde, das ist richtig. Zum Beispiel bin ich mir nicht sicher, ob es so eine gute Idee war, Django CMS nicht zu benutzen. Aber jetzt alles darauf umzustellen ist nicht mehr sinnvoll. In unseren Kernkomponenten gibt es aber ein paar Dinge, die – wie sagt man so schön – historisch so gewachsen sind, die man vermutlich mal überarbeiten sollte. Das Refactoring wird jetzt, wo die wichtigsten Features implementiert sind und laufen, eine wichtige Aufgabe werden.

HPImgzn: Und zuletzt noch eine Frage, die sich bestimmt viele Leser gestellt haben und endlich beantwortet haben wollen: Woher kommt der Name »1327«?

Johannes: Na auf die Frage habe ich tatsächlich noch gewartet. Die Antwort darauf bin ich in meinem Artikel im vorletzten HPImgzn schuldig geblieben. Es ist gar nicht so spannend und es steckt auch kein besonders tiefer Sinn dahinter, aber bitte: Als wir im FSR mit dem Projekt angefangen haben, habe ich beiläufig gesagt, dass ich bei den vielen Projekten, an denen ich mitarbeite, mal anfangen sollte, sie alle aufzuschreiben und durchzunummerieren. Und dass ich da mittlerweile bestimmt schon bei 1327 angekommen wäre. Dadurch kam »Projekt 1327« als Codename zustande und das Projekt heißt bis heute so. Ausgesprochen wird es übrigens nicht als vier Ziffern oder ganze Zahl, sondern »Dreizehn-Siebenundzwanzig«.

HPImgzn: Vielen Dank für das Gespräch und alles Gute für die weitere Arbeit an dem Projekt!

Das Interview führte Johannes Wolf.

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here