featured image SCM-Manager 2 - Neues Update zum Entwicklungsstand

19.12.2018 von Daniel Huchthausen in Insides

SCM-Manager 2 - Neues Update zum Entwicklungsstand

Wir finden, dass es so kurz vor den Feiertagen mal wieder an der Zeit ist ein Update zum Stand der Entwicklung von SCM-Manager 2 zu geben. Denn seit dem letzten Post hat sich schon wieder einiges getan.

Neu implementierte Features - Changesets und Repository Konfiguration

Wie im letzten Post angekündigt, haben wir diese Benutzeroberflächen implementiert:

  • die Übersichts- und Detailseiten für Changesets mit Diff Ansichten,
  • den Repository Content und
  • die Ansicht des Quellcodes der Repositories inkl. Syntax-Highlighting für eine Vielzahl von Datei- und Sprachtypen.

Außerdem haben wir die Benutzeroberflächen für die globale Konfiguration der drei Repositorytypen (Git, Subversion und Mercurial) sowie die zum Ändern von Passwörtern benötigten Masken eingebaut. Damit ist nun ein weiterer großer und wichtiger Teil von SCM-Manager 2 fertig.

Neben der Implementierung von Benutzeroberflächen haben wir auch an der zugrundeliegenden Architektur von SCM-Manager 2 gearbeitet. So haben wir mittlerweile alle Voraussetzungen für die Plugin- Entwicklung geschaffen, indem wir Hot Reload des Java-Codes und Livereload der Benutzeroberfläche eingebaut haben. Diese haben wir auch gleich bei der Entwicklung des Gravatar-Plugins ausprobiert. Der Test war erfolgreich und als Nebenprodukt sind jetzt die Oberflächen auch gleich noch ein bisschen lebhafter geworden. Eine weitere Entwicklung am Backend ist ein geändertes System zum Speichern von Repository-Daten. In SCM-Manager 2 werden nun, anders als in SCM-Manager 1, alle Daten mit Bezug auf Repositories (LFS, Konfigurationen, Repository Daten, Metadaten, Plugin-Daten) zentral gespeichert. Der Speicherort der Repositories und aller für sie relevanter Daten kann zudem festgelegt werden.

Aktueller Fokus - Plugin-Entwicklung

Ein Plugin, das wir komplett neu entwickeln, ist das “Review- Plugin”. Durch dieses wird es möglich sein Pull Requests zu stellen. Dadurch wird SCM-Manager 2 nun diese schon lange erwartete Funktion bekommen. Mit der Architektur von SCM-Manager 1 war es leider nicht möglich dieses Feature umzusetzen. Das “Review- Plugin” wird diese Ansichten bzw. Funktionen haben:

  • eine Listenansicht mit allen bereits gestellten Pull Requests, die nach dem Status (offen - merged - abgelehnt) der PRs gefiltert werden kann
  • eine Detailansicht für den aktuell ausgewählten Pull Request, in der die im PR enthaltenen Commits angezeigt werden
  • einen Ansicht mit den Changesets der im Pull Request geänderten Dateien
  • die Möglichkeit Kommentare zu Pull Requests anzulegen, zu bearbeiten und zu löschen

Neben der Entwicklung des Pull Request Plugins sind wir weiter dabei die noch fehlenden Benutzeroberflächen und Funktionen zu entwickeln. Das sind z.B. die “File History” und die Autocomplete Funktion für Benutzer- und Gruppennamen.

Kommende Schritte - Default Branch und Health Check

Mittlerweile sind wir an einem Punkt, an dem die wesentlichen Funktionen bereits funktionieren, aber kleine und doch sehr hilfreiche Funktionen noch fehlen. Im nächsten Schritt werden wir deshalb Features wie die Konfiguration des Default-Branches von Repositories, die Anzeige von Fehlermeldung an der Oberfläche oder die Implementierung des Repository Health Checks angehen. An der Umsetzung dieser Features werden wir in den nächsten Wochen weiter arbeiten. Außerdem werden wir mit der Migration von Plugins hin zu SCM-Manager 2 fortfahren.

Also bleibt dran und seid gespannt, was da noch alles kommt.

Nun aber erstmal eine „Schöne Weihnachtszeit“.


Daniel Huchthausen
Daniel Huchthausen

- Consultant -

Wenn er nicht gerade die Wildnis erkundet, beschäftigt sich Daniel mit Themen wie Qualitätssicherung, Testen oder PM-Methoden.