Deutsch
Deutsch

DNUG News

NACHBERICHT – openDev – GIT MIT DEM DOMINO DESIGNER

Mit dem Domino Designer lässt sich bereits seit Version 8.5.3 Git direkt in den Entwicklungsprozess integrieren. Dadurch profitieren auch klassische Notes-/Domino-Projekte von modernen Entwicklungs-Workflows wie Versionierung, Branching und Collaboration. Im Rahmen eines DNUG openDev widmete sich die Fachgruppe Development am 20. Mai diesem Thema.


Einrichtung von Source Control im Domino Designer

Eine offizielle Anleitung zur Einrichtung von Source Control im Domino Designer stellt HCL Software bereit: https://help.hcl-software.com/dom_designer/14.5.1/xpageuser/wpd_srcecontrol_overview.html

Seit Domino/Designer Version 14 kann zusätzlich YAML als Export- bzw. Ablageformat für Design-Elemente verwendet werden. Das erleichtert insbesondere die Lesbarkeit und Nachvollziehbarkeit von Änderungen in einem Git-Repository.

Allerdings existieren aktuell noch einige bekannte Einschränkungen bzw. Bugs im Zusammenhang mit YAML und Source Control:

Gerade bei produktiven Projekten empfiehlt es sich daher, diese bekannten Probleme vor der Einführung von YAML-basierten Workflows zu prüfen.

Vorteile von Source Control

Der Einsatz von Git bzw. Source Control bietet auch im Domino-Umfeld zahlreiche Vorteile:

  • Versionierung und Historie
    Änderungen an Design-Elementen werden nachvollziehbar versioniert. Dadurch kann jederzeit ein früherer Stand wiederhergestellt werden, ohne separate Template-Versionen archivieren zu müssen.
  • sicheres Experimentieren und einfaches Rollback
    Änderungen können direkt im bestehenden Design getestet werden, ohne Backup-Kopien anzulegen oder Code auskommentieren zu müssen.
    Falls sich eine Änderung als ungeeignet erweist, lassen sich alle Änderungen komfortabel – bei Bedarf sogar zeilenweise – wieder verwerfen („discard changes“).
  • strukturierte Umsetzung komplexer Änderungen
    Zusammengehörige Änderungen können in einem gemeinsamen Commit oder in separaten Feature-Branches organisiert werden. Dadurch bleiben auch größere Anpassungen übersichtlich und nachvollziehbar.
  • Bessere Zusammenarbeit im Team
    Durch Pull-Requests und geregelte Review-Prozesse kann ein effektives Vier-Augen-Prinzip etabliert werden. Insbesondere bei zentral verwalteten Repositories erhöht dies die Qualität und Nachvollziehbarkeit von Änderungen.

Mögliche Nachteile und Herausforderungen

Trotz der vielen Vorteile bringt Source Control nicht in jedem Szenario ausschließlich Vorteile mit sich. Arbeiten mehrere Entwickler gleichzeitig und dauerhaft an derselben Datenbank, kann der zusätzliche Aufwand durch regelmäßiges Pullen, Mergen und Committen spürbar werden. Gerade bei kleineren Teams oder stark zentralisierten Entwicklungsmodellen kann deshalb ein klassischer Ansatz mit Design-Locking mit einem gemeinsamen Template weiterhin sinnvoll sein.

Wie stark dieser Overhead ins Gewicht fällt, hängt daher von der Teamgröße, dem Entwicklungsprozess und der Projektstruktur ab.

Git-Hosting-Plattformen

Die bekanntesten Plattformen für Git-Repositories sind:

  • GitHub (Microsoft)
  • GitLab (Open Source, als Cloud- und On-Premises-Lösung verfügbar)
  • Bitbucket (Atlassian)

Einen ausführlichen Vergleich inklusive Informationen zu Pricing und Support bietet dieser Artikel https://rewind.com/blog/github-vs-bitbucket-vs-gitlab-comparison/

Git-Clients und Werkzeuge

Git kann auf unterschiedliche Weise genutzt werden:

  • direkt über die Kommandozeile (Git Bash bzw. Git Command)
  • mit einfachen grafischen Oberflächen wie Git GUI
  • über spezialisierte Tools wie SourceTree, das beispielsweise Git-flow direkt unterstützt

Auch moderne Entwicklungsumgebungen wie Visual Studio Code verfügen bereits über integrierte Source-Control-Funktionen.

Git-flow und Branching-Strategien

Im Zusammenhang mit Git wird häufig das sogenannte Git-flow-Modell verwendet. Dabei handelt es sich um eine etablierte Branching-Strategie zur strukturierten Entwicklung von Features, Releases und Hotfixes.

Das Modell existiert bereits seit einigen Jahren, gilt jedoch weiterhin als bewährter Ansatz für viele Entwicklungsprojekte. Eine ausführliche Beschreibung inklusive der bekannten Branching-Grafik findet sich hier: https://nvie.com/posts/a-successful-git-branching-model/

Fazit

Gerade bei größeren Domino-Projekten mit mehreren Entwicklern kann eine klar definierte Branching-Strategie helfen, Entwicklungsstände sauber voneinander zu trennen und Releases kontrolliert auszurollen.

Immer informiert bleiben

Abonniere unseren E-Mail-Newsletter und wir halten Dich mit Infos rund um die DNUG und ihre Events auf dem Laufenden.

Mit Deiner Anmeldung bestätigst Du, dass Du unsere Datenschutzbestimmungen gelesen hast und mit ihnen einverstanden bist.

Probleme mit dem Newsletter-Empfang? Versuch es mit diesen Tipps.