featured image SCM-Manager 2 Entwicklung - UI und Plugins

09.04.2019 von Daniel Huchthausen in Insides

SCM-Manager 2 Entwicklung - UI und Plugins

Seit unserem letzten Update über die Entwicklung von SCM-Manager 2 haben sich viele Dinge getan. Die meiste Zeit haben wir damit verbracht die Plugins und die Hauptfunktionen von SCM-Manager zu migrieren, wobei wir große Fortschritte gemacht haben. Zusätzlich haben wir auch neue Features wie die Unterstützung von Readme-Dateien und Namespace Strategien eingebaut. Darüber hinaus haben wir eine Analyse mit Sonatype Lifecycle durchgeführt um potentielle Sicherheitsrisiken durch die verwendeten Artefakte zu identifizieren. Anhand der Ergebnisse haben wir dann entsprechende Maßnahmen durchgeführt.

SCM-Manager 2 Features

Wie bereits erwähnt, haben wir bisher nicht nur die Funktionen von SCM-Manager 1 zur neuen Version migriert, sondern auch neue Funktionen eingebaut. Im Folgenden wollen wir euch einen detaillierten Einblick dazu geben:

Userinterface

Bevor wir uns sämtliche Details anschauen - Das Wichtigste zuerst: Wir freuen uns sehr, euch die neue Benutzeroberfläche von SCM-Manager vorstellen zu können!

Repository uebersicht

Unser Ziel war es, die Oberfläche „cleaner“ und einfacher für das Navigieren zu gestalten. Wie bereits in einem der vorhergehenden Beiträge erwähnt, basiert das Frontend auf React und Redux. Wir hoffen das es euch gefällt!

Readme Dateien

Eine neue Funktion von SCM-Manager 2 wird die Unterstützung von Readme Dateien sein. Das bedeutet, dass der Inhalt einer readme Datei, die im Root-Verzeichnis eines Repositories liegt, in der Benutzeroberfläche angezeigt wird. Dateinamen die berücksichtigt werden sind README, README.md und README.markdown, wobei die Namen nicht Case-Sensitiv sind.

Anzeige von Readme Dateien

Durch dieses Feature ist es leichter Informationen über ein Repository zu teilen und damit die Zusammenarbeit zu verbessern. Das kann daher besonders für größere Organisationen mit vielen Repositories hilfreich sein, denn dank des Features wird es viel einfacher sich über ein Projekt zu informieren ohne sich dessen Sources anschauen zu müssen.

Namespaces

Ein weiteres neues Feature ist die Festlegung von „Namespace Strategien“. Durch diese kann der Pfad von Repositories beeinflusst werden. Der Namespace steht für die erste Ebene des Repository-Pfades, also „/namespace/name“. Neben dem Pfad hat der Namespace auch Einfluss auf die Ordnung der Repositories in der Übersicht. Wichtig ist, dass Änderungen an der Namespacestrategie lediglich Einfluss auf zukünftige Repositories haben; Namespaces von existierenden Repositories werden nicht geändert und können auch grundsätzlich nicht nachträglich geändert werden.

Namespacestrategie Optionen

Man kann zwischen „Repository Typ”, “Benutzername”, “Aktuelles Jahr” und “Benutzerdefiniert“ wählen. Wenn „Benutzerdefiniert“ auswählt wird, kann für jedes Repository ein eigener Namespace angegeben werden.

Plugins

Mittlerweile sind die meisten der Plugins migriert. Ab sofort stehen z.B. die Plugins zur Anbindung der Issue Tracker Jira und Redmine, die Plugins zur Authentifizierung LDAP und CAS und andere Plugins wie DirectFileLink, Notify, BranchWP, Mail, Jenkins und Script zur Verfügung. Die meisten Plugins werden die gleichen Funktionen bieten wie die Versionen für SCM-Manager 1, aber wir haben in diesem Zuge auch einige der Plugins weiterentwickelt. Das Script Plugin zum Beispiel wird es zukünftig ermöglichen, Skripte eventgesteuert direkt in SCM-Manager auszuführen. In der bisherigen Version konnten Skripte nur manuell oder mittels Cron Jobs ausgeführt werden. Zusätzlich zu den migrierten Plugins wird es auch neue Plugins, wie zum Beispiel das bereits in vorherigen Posts angekündigte Review Plugin geben. Dank des Plugins wird es in Zukunft möglich sein Pull Requests zu stellen, zu kommentieren, zu mergen oder abzulehnen.

Review plugin 1

Review plugin 2

Ein weiteres neues Plugin ist das gitSSH Plugin, das es ermöglichen wird über SSH mit KeyAuth auf Git Repositories zuzugreifen.

Ausblick

Wie ihr sehen könnt hat sich in der letzten Zeit viel getan. Trotzdem gibt es noch eine Menge zu tun bis SCM-Manager 2 fertig sein wird. Neben „infrastrukturellen“ Themen wie dem noch fehlenden Plugin Backend und dem Abschluss der Migration der REST API stehen noch Erweiterungen zur verbesserten Kollaboration auf dem Zettel. Für das Review Plugin sollen noch unterschiedliche Kommentarfunktionen eingefügt werden, es soll ein Continuous Integration Plugin geben, dass den Buildstatus in SCM-Manager anzeigt und wir wollen klären wie eine automatisierte Migration von SCM-Manager v1 zu v2 ermöglicht werden kann, so dass z.B. auch UI- Links beibehalten werden können.

Wir werden euch auf dem Laufenden halten!


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.