VersionControl for proALPHA besteht im Wesentlichen aus zwei Installationskomponenten. Einer Oberflächenanwendung (UI), auf dem PC des Entwicklers und einem Windows Hintergrunddienst (VersionControl.Service).
Installation der Softwarekomponenten
Die Oberflächenanwendung wird ausschließlich auf dem PC/Server installiert, auf dem die proALPHA Kundenentwicklungsumgebung vorliegt. Der Hintergrunddienst wird zusätzlich auf dem MTC-Server (Maintenance-Server der proALPHA Core-Installation) und dem DEV-Server installiert.
Über die Konfiguration des Hintergrunddienstes (VersionControl.Service) werden die entsprechenden Aufgaben (Reconcile-, Package-, Update-Service, etc.) definiert.
Dev Client / Kundenentwicklungsrechner (Anwendung & Hintergrunddienst)
Auf jedem Entwickler-PC, auf dem die proALPHA Kundenentwicklungsumgebung installiert wurde, werden Oberflächenanwendung und Hintergrunddienst installiert.
VersionControl Server (Hintergrunddienst)
Der Server auf dem die Versionsverwaltungsdatenbank (Microsoft-SQL-Server Datenbank) liegt und die Snapshots der Projektdatenbanken (proALPHA Datenbanken), die durch die Versionsverwaltung bzw. dem Reconcile-Service abgelegt/generiert werden.
Reconcile Server (Hintergrunddienst)
Der Server auf dem der Repository-/Schema-Abgleich durchgeführt wird. Optimalerweise sollten Reconcile- und VersionControl Server auf demselben Windows Server installiert sein. Ist dies nicht möglich, muss lediglich sichergestellt sein, dass der Reconcile-Server über eine 64-Bit Progress Installation (Enterprise DB) verfügt, um die proALPHA-Datenbanken starten zu können.
proALPHA MTC-Server (Hintergrunddienst)
Der MTC (Maintenance) Server gehört zur proALPHA Core-Installation. Auf ihm befindet sich der proALPHA Auslieferungshelfer und die (X- und Y-) Auslieferungspakete.
Beispielkonfiguration:
Hinweis: Oft ist der MTC-Server kein separater/dedizierter Server. Bei den meisten proALPHA Kunden ist die MTC-Server-Rolle auf dem Test-File-Server installiert.
Je nach Größe und Anforderungen des Unternehmens unterscheidet sich die Servertopologie und proALPHA Core-Installation. Die oben skizzierte Darstellung wäre die optimale & empfohlene Variante. Es sind aber auch andere Variationen möglich:
- Gemeinsamer DEV-Server, für mehrere Entwickler
- DEV-VM auf dem PC des Entwicklers
- Ein Mix aus einem gemeinsamen DEV-Server und dedizierten Entwickler PCs/VMs
Möchten Sie eine individuelle Konfiguration? Oder haben Sie Rückfragen zu den möglichen Installationsvarianten auf Ihrem System? Gerne beantworten wir hierzu alle Rückfragen. Kontaktieren Sie uns einfach über das Kontaktformular, per E-Mail oder Telefon.
Standard Installationsverzeichnisse
Die VersionControl-Komponenten werden ins Verzeichnis C:\Program Files\FoxFramework\.. installiert.
- Oberflächenanwendung: C:\Program Files\FoxFramework\VersionControl
- Hintergrunddienst: C:\Program Files\FoxFramework\VersionControl.Service
- Update-Service: C:\Program Files\FoxFramework\VersionControl.Update
Hinweis: Der Update-Service wird von Oberflächenanwendung und Hintergrunddienst automatisch installiert.
Installation
Microsoft SQL Server (Express)
Hinweis: VersionControl arbeitet auch auf der kostenlos erhältlichen “Express Edition” des Microsoft SQL Servers. Die CPU- und Größenbeschränkungen der Datenbanken (10 GB) dieser Edition haben keine spürbaren negativen Auswirkungen.
Nach der Installation des SQL-Servers muss in der SQL Server-Netzwerkkonfiguration das Protokoll “TCP/IP” aktiviert werden, sowie der TCP-Port in den Eigenschaften des Protokolls gesetzt werden. (Default-Port: 1433)
Des Weiteren muss eine Firewall-Freigabe (Eingehend) für den Port 1433 eingerichtet werden.

Microsoft SQL Server Management Studio
Das Microsoft SQL Server Management Studio kann kostenlos bei Microsoft heruntergeladen werden.
Microsoft Edge WebView2 Runtime
Der interne Editor nutzt die WebView2-Engine von Microsoft. Auf Windows-Client-Betriebssystemen ist diese Runtime oft bereits vorliegend. Bei einem Windows-Server-Betriebssystem kann diese Komponente noch fehlen. In diesem Fall muss das Installationspaket von Microsoft heruntergeladen und im Anschluss installiert werden. (Evergreen Standalone Installer x64)
WinMerge / Araxis
Neben dem internen Editor, kann für den Abgleich von Konflikten ein Diff-/Merge -Tool eingesetzt werdsen. WinMerge kann als kostenlose Softwarelösung heruntergeladen werden. Die kostenpflichtige Premiumlösung Araxis Merge wird von VersionControl ebenfalls unterstützt. Sofern Sie ein anderes Abgleich-Werkzeug bevorzugen, das die für VersionControl notwendigen Funktionen unterstützt, bitten wir Sie um ein kurzes Feedback, damit wir das Werkzeug in die Liste mit aufnehmen.
Windows Desktop Anwendung (VersionControl Application)
Installationsverzeichnis: C:\Program Files\FoxFramework\Versioncontrol
Bei der Anwendung handelt es sich um eine Self-Contained Application (SCA). Das heißt, dass die Anwendung unabhängig von der auf dem Server/PC installierten .Net Version lauffähig ist. Wie bei jeder Komponente von VersionControl wird, über die automatisch Softwareaktualisierungsfunktion, neben der Anwendung selbst auch das verwendete .Net-Framework mit aktuellen Sicherheits-Patches stehts aktuell gehalten.
Hintergrunddienst (VersionControl Service)
Installationsverzeichnis: C:\Program Files\FoxFramework\Versioncontrol.Service
Dienstname: VersionControl.Service
Der VersionControl Dienst wird in Windows als Hintergrunddienst registriert. Nach der Registrierung müssen dem Hintergrunddienst in den Eigenschaften die Anmeldeinformationen angepasst werden. Das Konto zum Ausführen des Hintergrunddienstes (Services > services.msc) wird auf dem Reiter Anmelden hinterlegt (siehe Screenshot). Das Konto muss, neben lokalen Administratorrechten, berechtigt sein Netzwerkdienste auszuführen.

Hinweis: Die Domänen-Konten paAdmin bzw. paJobs, die bereits für proALPHA angelegt wurden erfüllen diese Voraussetzungen.
VersionControl Lizenzdatei
Die Lizenz-Datei (pAVersionControl.lic) muss in den Installationsverzeichnissen der Anwendungen und Hintergrunddienste abgelegt werden.
Konfiguration von VersionControl (Oberflächenanwendung)
Nach dem Start der Anwendung kommen Sie über das Zahnradsymbol, das sich rechtsbündig in der Titelleiste befindet, in die Einstellungen. Für die Ersteinrichtung sind folgende Angaben zu vervollständigen:
– Konto > Entwickler (Die Auswahl der Entwickler steht erst nach dem einlesen der Lizenz-Datei zur Verfügung)
– Dienste / Datenbank > VersionControl Service Port (Default: 3456)
– Dienste / Datenbank > Versionsverwaltungsserver (und ggf. SQL Server Instanz)
Für eine detaillierte Beschreibung der Konfigurationsmöglichkeiten siehe Konfiguration
Multi-Workspace Konfiguration (optional)
Bei einer Multi-Workspace Konfiguration (Mehrere Entwickler arbeiten auf der selben Kundenentwicklungsumgebung), muss die Konfigurationsdatei (appconfig.json) manuell angepasst werden:
– MultiWorkspaceMaster (Environment-ID des Masters)
– MultiWorkspaceSlaves (Liste der Environment-IDs der Slaves)

Hinweis: Diese Einstellungen müssen nur vorgenommen werden, wenn mehrere Entwickler auf der selben Kundenentwicklungsumgebung arbeiten. Andernfalls können die beiden Parameter leergelassen werden.
Vorarbeiten (proALPHA Umgebung)
Erstellen einer PDB-Datenbank
Es wird strengstens empfohlen eine “abgespeckte” PDB (Projektdatenbank) für die Nutzung der Kundenentwicklungsumgebung zu verwenden.
Eine PDB ist eine entschlackte Variante der Echtdatenbank, bei der alle unnötigen Nutzdaten (Statistiken, Belege, einen Großteil der Stammdaten, …) entfernt werden. Das angestrebte Ziel ist eine nur wenige Gigabyte große Datenbank, die neben der für die Entwicklung relevanten Repository-Datensätze nur die nötigsten Informationen beinhaltet, um den Speicherbedarf auf dem PC/Server des Entwicklers, sowie dem Versionsverwaltungsserver zu minimieren.
Des Weiteren minimiert eine PDB die Verarbeitungsdauer für das Klonen des Versionsverwaltungsprojektes auf den Entwickler-PC und die des Reconcile-Services erheblich!
Sofern nicht anders vereinbart wird seit Ende 2024 ausschließlich eine Kunden-Projektdatenbank für die Initialisierung verwendet. Die Kunden-PDB wird durch den Abgleich einer leeren Master-Datenbank und der Live-Datenbank erstellt. Sie beinhaltet zum Zeitpunkt der Initialisierung somit ausschließlich das Kundenschema (Physikalische Datenbankstruktur, sowie das Kunden proALPHA-Repository) und keinerlei Nutz-/Bewegungsdaten!
Hinweis: Bewegungsdaten müssen durch den Kunden im Nachgang angelegt werden.
CustomLevel Z Einträge löschen
Repository-Einträge des CustomLevels “Z” bzw. “Local” müssen vor der Anlage des Versionsverwaltungsprojektes gelöscht bzw. bereinigt werden. Die Bereinigung muss sehr gewissenhaft durchgeführt werden, um das proALPHA-Repository nicht zu kompromittieren. Sind beispielsweise Verschiebungen (Verschieben des Customized-Object-Datensatzes von Z nach Y) notwendig, müssen diese Änderungen auch in der Live-Datenbank durchgeführt werden! (Bitte vor jeglicher Änderung unbedingt mit uns Rücksprache halten)
Hinweis: Sie können über die proALPHA AB-Tools alle “Z”-Einträge per Knopfdruck löschen.
DBA – Datenbankadministrator Konto anlegen
VersionControl arbeitet über eine ODBC Verbindung mit der OpenEdge-Datenbank. Für die Einrichtung des Versionsverwaltungsprojektes muss ein DBA-Konto für jede relevante OpenEdge-Datenbank (pavar, patmp, ..) angelegt werden.
Hinweis: Dieses Konto muss dann im Dialog “Neues Versionsverwaltungsprojekt anlegen” angegeben werden (siehe nachfolgenden Abschnitt/Screenshot)
Anlage eines neuen Versionsverwaltungsprojekts
Ein neues Versionsverwaltungsprojekt kann über das Menü Einstellungen angelegt werden. (Letzter Eintrag, rot hinterlegt)

Nachdem die zu Importierende Umgebung über Projekt und Umgebung ausgewählt wurde, werden die meisten Feldwerte anhand der vorliegenden proALPHA Konfiguration automatisch ausgefüllt. Bitte tragen Sie bei Benutzer und Passwort das dba-Konto der proALPHA Datenbanken pavar und patmp ein. Bei ungültigen Anmeldeinformationen kann das Versionsverwaltungsprojekt nicht korrekt angelegt werden.
Wenn Sie keine bereits bestehenden Auslieferungspakete im Anlageprozess importieren möchten, lassen Sie das Feld Auslieferungspakete frei (Empfehlung. Bestehende Pakete können auch nach der Anlage automatisch eingelesen werden).
Hinweis: Der Anlageprozess eines neuen Versionsverwaltungsprojekts dauert je nach Hardware (CPU, SSD/HHD) mehrere Stunden.
Datenbanksicherheit (SQL Server)
Das verwendete Microsoft Konto (Windows-Authentifizierung) der Hintergrunddieste, sowie die Konten der Entwickler müssen im SQL Server berechtigt sein auf die Versionsverwaltungsdatenbank zuzugreifen (SQL Server > Datenbanken > proALPHA.VersionControl.Data.{Projektname}_{Projektversion} > Sicherheit > Benutzer).
Allgemein > Standardschema: dbo
Mitgliedschaft > db_owner
Microsoft Defender Antivirus – Viren- und Bedrohungsschutz
Microsoft Defender Antivirus bremst IO-Intensive Operationen (z.B.: Bei der Neuanlage eines Versionsverwaltungsprojektes, oder dem Klonen eines bestehenden Projektes) sehr stark aus. Um die Verarbeitungsgeschwindigkeit zu maximieren, sollte der Defender (zumindest Temporär) über folgende Ausschlüsse in Zaum gehalten werden:

Erste Schritte
- Starten der VersionControl-UI
- “Ohne Projekt fortfahren” im Projektauswahldialog auswählen
- Klonen des Versionsverwaltungsprojekts über die grüne Schaltfläche “Repository Klonen”. Die Schaltfläche ist in den Einstellungen (Zahnrad, rechts oben in der Titelleiste der Anwendung) zu finden.
- Nach dem Klonvorgang startet sich die UI neu. Im Anschluss im Projektauswahldialog das soeben geklonte Projekt auswählen.
- Als nächstes muss zwingend eine Softwareaktualisierung durchgeführt werden, damit das VersionControl.ABL-Paket installiert wird. Dieses Paket ist zwingend erforderlich um eine proALPHA Sitzung (99iger Sitzungen) ordnungsgemäß starten zu können!
- Starten des Developer Studios
- Importieren des Projektes:
Project Explorer > Import projects…> General > Existing Projects into WorkspaceIm nächsten Dialog wird das Hauptverzeichnis (E:\proalpha\pa-de-9\dev\workspace\dev01\demo\..) ausgewählt. Im Anschluss kann der Dialog direkt mit “Finish” quittiert werden.
- Aktualisierung der Developer Studio Plugins