Cloudogu Logo

Hallo, wir sind Cloudogu!

Experten für Software-Lifecycle-Management und Prozess­auto­mati­sierung, Förderer von Open-Source-Soft­ware und Entwickler des Cloudogu EcoSystem.

featured image Überarbeitetes Git Wiki
23.11.2018 in EcoSystem

Überarbeitetes Git Wiki


Daniel Huchthausen
Daniel Huchthausen

IT Consultant


Vor Kurzem haben wir eine neue Version von unserem Wiki “Smeagol” veröffentlicht. Oberflächlich betrachtet scheint sich nicht sehr viel geändert zu haben, aber tatsächlich haben wir keinen Stein auf dem Anderen gelassen.

Das Wiki für Git Repositories

Nur für den Fall, dass du noch nie etwas von Smeagol gehört hast: Smeagol ist ein Wiki, das wir entwickelt und in das Cloudogu EcoSystem integriert haben. Unser Ziel war es die Dokumentation zu einem Projekt zusammen mit dem Code speichern zu können – also im Git Repository. Wir sind davon überzeugt, dass das der beste Weg ist um die Dokumentation von Projekten lebendig zu halten. Ursprünglich haben wir das Open-Source-Wiki “Gollum” benutzt und unser eigenes Frontend um dieses herum gebaut. Die erste Version von Smeagol mit allen seinen Hauptfunktionen haben wir bereits in diesem Post vorgestellt. Jetzt ist es aber an der Zeit ein Update zu geben, da wir so einiges verändert haben.

Direkt selber ausprobieren und in weniger als 30 Minuten eine komplette Toolchain installieren:
Cloudogu EcoSystem Quickstart Guide
Durchstarten mit dem EcoSystem

Gründe für die Änderungen

Wie bereits erwähnt, haben wir ursprünglich Gollum als Basis für Smeagol benutzt. Für den Anfang war das eine akzeptable Lösung. Allerdings hat sie auch einige Einschränkungen mit sich gebracht:

  • Lange Reaktionszeiten – Da Gollum nicht dafür gebaut ist mit mehreren Repositories, Authentfizierung, Usern, etc. zu arbeiten mussten wir viele Anpassungen vornehmen. Diese haben jedoch zu einer Verschlechterung der Performance geführt.
  • Keine große Flexibilität für Änderungen da wir keine individuellen Anpassungen am Core von Gollum vornehmen wollten.
  • Suche war nicht so ausgereift.
  • Die Vorschau des WYSIWYG Editors und die tatsächlich angezeigte Seite wichen voneinander ab, da Gollum und das Frontend unterschiedliche Renderer benutzt haben.

Deswegen haben wir uns dazu entschieden Smeagol komplett zu überarbeiten und damit eine neue Applikation zu entwickeln, welche unter Anderem diese Kritikpunkte behebt.

Die Änderungen am Wiki

Um die oben genannten Einschränkungen zu beheben haben wir diese Änderungen gemacht:

  • Wir haben eine hexagonale Architektur mit bounded contexts implementiert.
  • Smeagol hat nun ein modernes Java Backend und ein React Frontend mit Redux als Zustandsverwaltung. Gollum wird nicht mehr benutzt.
  • Wiki und WYSIWYG Editor benutzen nun den gleichen Renderer und das gleiche Design.
  • Für die Suche wird nun Lucene benutzt und ist damit eine gut funktionierende Volltextsuche.

Dank all dieser Änderungen ist Smeagol nun deutlich schneller, ressourceneffizienter und einfacher zu benutzen.

Ein paar Eindrücke des neuen Designs

Wie zuvor auch schon zeigt der Repository Browser alle Repositories auf die der User im SCM-Manager Zugriff hat.

Smeagol repository Browser

Hinweis: Um Repositories zu gruppieren muss man “gruppenname/repositoryName” als Namen im SCM-Manager benutzen.

Die Seitenansicht bietet alle wichtigen Funktionen wie Suche, Bearbeiten, Neue Seite, Umbenennen, Versionsübersicht, …

Wiki Funktionen

Und, zu guter Letzt, der neue WYSIWYG Editor, der den gleichen Renderer benutzt wie der, der für die Anzeige der Wiki- Seiten benutzt wird. Daher wird es nun keine bösen Überraschungen mehr geben wenn man auf den “Speichern” Button klickt.

What you see is what you get Editor

Probier das Wiki selbst aus

Wenn du schon dein eigenes Cloudogu EcoSystem hast, dann musst du lediglich deinen Smeagol Container aktualisieren. Wenn du noch kein EcoSystem hast, können wir es dir ganz einfach und unverbindlich vorstellen. Vereinbare jetzt einen Termin.

Cloudogu EcoSystem

Überzeugen Sie sich von den Vorteilen des Cloudogu Ecosystem. Nutzen Sie jetzt kostenlos die moderne DevOps Plattform.

Zur Plattform
Icon Cloudogu EcoSystem