ubuntuusers.de

Inyoka Hacking Wochenende Q4 2017

ubuntuusers.png

Auch diesen Herbst fand wieder ein Treffen der Inyoka-Entwickler statt – diesmal in kleiner Runde mit vier Entwicklern in Karlsruhe.

Eins gleich vorab: Der Großteil der Arbeiten des Wochendes wird für viele Anwender nicht sichtbar sein, da primär Internas verändert wurden.

Folgende Themen wurden bearbeitet:

  • Die Umstellung der Datenbank auf PostgreSQL

  • Optimierungen im Wiki

  • Verbesserung der automatisierten Tests

  • Überarbeitung der Meldenfunktion

PostgreSQL

Die letzten bekannten Fehler im Bezug zur geplanten Migration wurden behoben. Gleichzeitig wurde seitens des Serverteams weiter an der Automatisierung unserer Server mit ansible gearbeitet. Wann eine Migration von MySQL auf PostgreSQL erfolgt, wird im Laufe des nächsten Monats angekündigt.

Wiki

Im Zuge der geplanten PostgreSQL Migration wurden einige Unzulänglichkeiten, vor allem aber auch Performanzeprobleme, im Wiki identifiziert. Diese konnten in den letzten Wochen durch einige Optimierungen am Code behoben werden, was vor allem die Anzahl der Serverfehler deutlich reduzieren sollte.

Tests

In letzter Zeit hatten wir einige größere Änderungen, welche ein komplettes Durchklicken durch alle Inyoka-Funktionen notwenig gemacht haben. Andernfalls konnten wir nicht sicher gehen, dass das Zusammenspiel der einzelen Teile noch richtig funktioniert. Zwar gibt es Unit tests, allerdings testen diese nicht die Zusammenarbeit verschiedener Komponenten. Darum wurde dieses Wochenende daran gearbeitet, modulübergreifende Integrationtests zu schreiben. Bei diesen Tests wird eine Instanz des Servers gestartet und mithilfe von Selenium 🇬🇧 sowie eines Browsers wird automatisch geklickt und überprüft, dass die Funktion wie erwartet ausgeführt wird. Damit die Tests besser lesbar sind, wurde sich dafür entschieden diese in einem BDD Format zu schreiben. Hierbei werden Schritte in „natürlicher” Sprache beschrieben und dann mit Logik verbunden. Hier ein kleines Beispiel:

Scenario: Login with a valid user
  Given The user "bdd_user" exits
    And I am on the "login" page
   When I fill out the form
     | field       | value    |
     | id_username | bdd_user |
     | id_password | test     |
   Then it should be successful

Melden Funktion

2017_Q4_screenshot_ticketing.png
Interne Ansicht der neuen Meldefunktion

Auch bisher ist es natürlich möglich einzelne Sachen auf ubuntuusers.de zu melden. Am meisten werden dabei Themen im Forum gemeldet, aber auch für Rechtschreibefehler in Ikhaya-Artikeln gibt es eine entsprechende Funktion. Diese sind aber jeweils separat programmiert und zudem sehr beschränkt. So ist es im Forum zum Beispiel nicht möglich einzelne Beiträge zu melden, sondern nur ganze Themen.

Daher wurde Anfang dieses Jahres begonnen ein allgemeingültiges System zu erstellen. Der größere Teil wird für normale Benutzer unsichtbar sein, daher gibt es hier einen Screenshot des internen Teils. Wichtig ist vor allem, dass mit dieser Funktion beliebige Elemente gemeldet werden können (z.B. einzelne Beiträge – zusätzlich zu Themen – sowie beispielsweise Blogbeiträge). Zudem kann dann auch direkt ein Grund ausgewählt werden, wodurch in vielen Fällen eine weitere Erklärung nicht mehr notwendig ist. Natürlich wird es auch weiterhin möglich sein, optional eine Erklärung anzugeben. Zusätzlich dazu wird ein Bearbeiter-Kommentar eingeführt, in dem es möglich ist, den internen Status festzuhalten, so dass z.B. für kleinere Sachen oder Statusinformationen (Wenn es mal länger dauert) kein Thema mehr im internen Moderatoren-Forum erstellt bzw. gesucht werden muss. Dazu kommen statistische Daten wie das Erstellungsdatum der Meldung, wann dieses von wem in Bearbeitung genommen wurde und wann es geschlossen wurde.

Aktuell ist geplant folgende Elemente melden zu können:

  • Forum: Themen und Beiträge

    • Beiträge: z.B. aufgrund von Rechtschreibefehlern oder gegen die Regeln verstoßendes Verhalten

    • Themen: z.B. bei falsch ausgesuchtem Forum oder falscher Ubuntu-Version

  • Planet: Blogposts

  • Ikhaya: Artikel und Kommentare

  • Wiki-Artikel: Einzelne Artikel (evtl. auch Revisionen)

GitHub-Statistiken

Zum Schluss wie immer ein paar Statistiken. Es wurden 40 Commits innerhalb von 6 Pull Requests gemergt. Diese haben in 40 Dateien 877 Zeilen hinzugefügt und 202 Zeilen gelöscht.


Vielen Dank an das Webteam für das Einreichen dieses Artikels!