Lokaler Versionskontrolldienst
Die Installation des Enterprise Server stellt dank seines Version-Control-Dienstes eine lokalisierte (und zentralisierte) Versionsverwaltung bereit. Dieser Dienst bietet Versionsverwaltungsfunktionen genau dort, wo Sie sie benötigen – lokal, ohne nach externer VCS-Verwaltungssoftware suchen oder dafür bezahlen zu müssen.
Durch die zentrale Definition von Design-Repositories kann ein Unternehmen vollständig steuern, auf welche Repositories seine Entwickler zugreifen und welche sie verwenden können.
Wesentliche Vorteile
Es gibt zwei wesentliche Vorteile bei der Verwendung dieses zentralisierten Version-Control-Dienstes:
- Für Altium Designer und SVN stehen gemeinsame Benutzer- und Rechteverwaltung zur Verfügung. Wenn Sie sich beim Enterprise Server anmelden, arbeitet der Version-Control-Dienst mit Ihrer Sitzung/Ihren Anmeldedaten.
- Repositories, die über den Enterprise Server definiert werden (über die Seite VCS (Admin – VCS) in der browserbasierten Oberfläche des Enterprise Server Workspace), werden bei der Anmeldung automatisch in Altium Designer übernommen, sodass sich Benutzer nicht um URLs, Protokolle, Kennwörter usw. kümmern müssen. Es wird einfach einmal auf dem Enterprise Server konfiguriert und bei Bedarf mit den vorgesehenen Benutzern geteilt.
Erstellen von Repositories
Repositories können über den lokalen Version-Control-Dienst erstellt werden (nur SVN), oder es kann eine Verbindung zu externen Repositories hergestellt werden (SVN oder Git). Zusammen werden alle Repositories zentral über die Seite VCS (Admin – VCS) in der browserbasierten Oberfläche des Workspace verwaltet, und zwar hinsichtlich:
- Ihres angezeigten Namens, ihrer Beschreibung und ihres Repository-Pfads.
- Ihrer konfigurierten Zugänglichkeit – welche bestimmten Benutzer darauf zugreifen können (oder Gruppen im Fall von Repositories, die über den lokalen Version-Control-Dienst definiert wurden).
- Ihrer Verfügbarkeit – sie werden zentral hinzugefügt oder entfernt, anstatt dass einzelne Entwickler Repositories unabhängig voneinander erstellen und verbinden müssen.
Wenn sich ein Altium Designer-Benutzer beim Workspace anmeldet, werden die für ihn verfügbaren Design-Repositories automatisch zur Seite Data Management – Design Repositories des Dialogs Preferences hinzugefügt. Beachten Sie, dass die Liste auch alle „nicht verwalteten“ Repositories enthält, die manuell über diese Seite Preferences hinzugefügt wurden.
Definieren Sie den Zugriff auf die Design-Repositories Ihres Unternehmens zentral. Repositories können intern in der Enterprise Server-Installation sein, mithilfe des lokalen Version-Control-Dienstes definiert werden oder extern über das integrierte SVN von Altium Designer oder einen SVN- oder Git-Dienst eines Drittanbieters. Die Zugriffskontrolle erfolgt über die Seite VCS in der browserbasierten Oberfläche des Workspace. Wenn sich ein Benutzer beim Workspace anmeldet, werden die für ihn verfügbaren Design-Repositories automatisch zur Seite Data Management – Design Repositories des Dialogs Preferences hinzugefügt.
Hinzufügen eines Repositorys
Um ein Design-Repository hinzuzufügen, klicken Sie auf die Schaltfläche
oben rechts auf der Seite. Das Fenster Add Repository wird angezeigt; verwenden Sie dieses, um das Repository zu definieren.
Die erforderlichen Eigenschaften hängen davon ab, ob Sie ein neues Repository über den lokalen Version-Control-Dienst erstellen oder eine Verknüpfung zu einem vorhandenen externen Repository herstellen:
- New – Geben Sie dem Repository einen Namen und eine Beschreibung.
- Existing – Zusätzlich zu Name und Beschreibung müssen Sie den URL zum Repository sowie gültige Anmeldedaten (User Name, Password) für den Zugriff auf dieses Repository angeben (falls erforderlich).
Erstellen Sie ein neues SVN-basiertes Design-Repository über den lokalen Version-Control-Dienst des Enterprise Server oder verknüpfen Sie es mit einem vorhandenen Repository (SVN oder Git), das außerhalb des Enterprise Server erstellt wurde.
Ein verknüpftes externes Design-Repository wird in der Repository-Liste dadurch gekennzeichnet, dass seine Eigenschaft External aktiviert ist
Um die Eigenschaften eines Design-Repositorys zu einem späteren Zeitpunkt zu bearbeiten, klicken Sie auf das zugehörige Steuerelement Edit Um ein Design-Repository zu entfernen, klicken Sie auf das zugehörige Steuerelement Remove
Freigeben eines Repositorys
Nachdem Sie Ihre Design-Repositories zentralisiert haben, müssen Sie sicherstellen, dass diejenigen, die Zugriff auf ein bestimmtes Repository benötigen – einschließlich der Entwickler, die an Leiterplattendesigns arbeiten werden – diesen Zugriff auch haben. Dies wird erreicht, indem dieses Repository freigegeben bzw. seine Zugriffsberechtigungen verwaltet werden. Klicken Sie dazu auf das dem Repository zugeordnete Steuerelement Share
Das Fenster Manage Permissions wird angezeigt und enthält alle erforderlichen Steuerelemente, um das Repository mit anderen Benutzern zu teilen.
Wenn Design-Repositories zentral organisiert sind, besteht das Teilen mit anderen einfach darin, die Berechtigungen der einzelnen Repositories zu verwalten.
Dinge, die Sie beachten sollten:
- Für ein lokales Repository, das über den Version-Control-Dienst des Enterprise Server erstellt wurde (d. h. nicht extern), geben die Standardberechtigungen dieses Repository für den Benutzer frei, der das Repository erstellt hat, sowie für die Gruppe Administrators. Beide haben vollständigen Lese-/Schreibzugriff.
- Für ein externes Repository ist standardmäßig keine Freigabe für irgendjemanden eingerichtet – nicht einmal für den Benutzer, der über die Oberfläche eine Verbindung dazu hinzugefügt hat.
- Nur lokale Repositories (nicht externe) können mit definierten Gruppen für den Enterprise Server oder öffentlich geteilt werden. Gruppen werden nach einzelnen Benutzern aufgeführt.
- In Bezug auf Berechtigungen hat ein Benutzer/eine Gruppe Lese-/Schreibzugriff, wenn die Option Can Write aktiviert ist Wenn diese Option deaktiviert ist, besteht nur Lesezugriff.
- Um einem vorhandenen Benutzer/einer vorhandenen Gruppe den freigegebenen Zugriff auf ein Repository zu entziehen, klicken Sie auf das zugehörige Steuerelement Remove
Sharing a Local Repository with a Workspace User
So geben Sie ein lokales (nicht externes) Repository für einen anderen Workspace-Benutzer frei:
- Klicken Sie im Fenster Manage Permissions auf das Steuerelement Add User .
- Geben Sie im angezeigten Fenster Add Users im Feld Select Users to be added den vollständigen Namen, den Benutzernamen oder die E-Mail-Adresse eines Workspace-Benutzers ein, damit eine Popup-Liste mit passenden Benutzern angezeigt wird. Wählen Sie den gewünschten Benutzer aus dieser Liste aus. Es können mehrere Benutzer ausgewählt werden. Um einen Benutzer zu entfernen, klicken Sie rechts neben seinem Namen auf das Löschkreuz.
- Legen Sie die Berechtigung für den/die Benutzer über das Feld Permission fest. Verwenden Sie die Dropdown-Liste, um zwischen Zugriff Read und Zugriff Read/Write zu wählen.
-
Klicken Sie auf die Schaltfläche
, um das Hinzufügen des Benutzers/der Benutzer zu bestätigen und zum Fenster Manage Permissions zurückzukehren.
-
Klicken Sie im Fenster Manage Permissions auf die Schaltfläche
.
Freigeben eines lokalen Repositorys für eine definierte Gruppe
Wenn das Repository über den lokalen Versionsverwaltungsdienst und nicht über ein externes Repository erstellt wurde, können Sie es auch für in Ihrem Workspace definierte Gruppen freigeben. So geben Sie ein lokales (nicht externes) Repository für eine andere Gruppe frei:
- Klicken Sie im Fenster Manage Permissions auf das Steuerelement Add Group .
- Geben Sie im daraufhin angezeigten Fenster Add Groups im Feld Select Groups to be added den Namen einer Gruppe ein, damit eine Liste passender Gruppen eingeblendet wird. Wählen Sie die gewünschte Gruppe aus dieser Liste aus. Es können mehrere Gruppen ausgewählt werden. Um eine Gruppe zu entfernen, klicken Sie rechts neben ihrem Namen auf das Löschkreuz.
- Legen Sie die Berechtigung für die Gruppe(n) über das Feld Permission fest. Verwenden Sie die Dropdown-Liste, um zwischen Zugriff Read und Zugriff Read/Write zu wählen.
-
Klicken Sie auf die Schaltfläche
, um das Hinzufügen der Gruppe(n) zu bestätigen und zum Fenster Manage Permissions zurückzukehren.
-
Klicken Sie im Fenster Manage Permissions auf die Schaltfläche
.
Freigeben eines lokalen Repositorys für alle Benutzer
Wenn das Repository über den lokalen Versionsverwaltungsdienst und nicht über ein externes Repository erstellt wurde, können Sie dieses Repository auch für alle Workspace-Benutzer freigeben. So geben Sie ein lokales (nicht externes) Repository für jeden frei, der sich am Workspace anmelden kann:
- Klicken Sie im Fenster Manage Permissions auf das Steuerelement Add Anyone .
- Der Eintrag Anyone wird direkt zur Liste der freigegebenen Entitäten hinzugefügt und automatisch mit Lese-/Schreibzugriff freigegeben.
-
Klicken Sie im Fenster Manage Permissions auf die Schaltfläche
.
Freigeben eines externen Repositorys für einen Workspace-Benutzer
So geben Sie ein externes Repository für einen Workspace-Benutzer frei:
- Klicken Sie im Fenster Manage Permissions auf das Steuerelement Add User .
-
Geben Sie im daraufhin angezeigten Fenster Add Users im Feld Select Users to be added den vollständigen Namen, Benutzernamen oder die E-Mail-Adresse eines Workspace-Benutzers ein, damit eine Liste passender Benutzer eingeblendet wird. Wählen Sie den gewünschten Benutzer aus dieser Liste aus. Um den Benutzer zu entfernen, klicken Sie rechts neben seinem Namen auf das Löschkreuz.
Geben Sie im Feld SVN User einen Namen ein, der beim externen Repository (SVN oder Git) registriert ist und daher Zugriff hat. In der Regel ist dies der entsprechende Name eines Benutzers, der beim Repository registriert ist.
-
Klicken Sie auf die Schaltfläche
, um das Hinzufügen des Benutzers zu bestätigen und zum Fenster Manage Permissions zurückzukehren. Klicken Sie auf Add User, um weitere Benutzer hinzuzufügen, wie oben in Schritt 2 beschrieben. Beachten Sie, dass im zweiten Beispielbild unten der Benutzer Barryso eingestellt wurde, dass sein entsprechender Repository-NameBarrySmithverwendet wird, anstelle des allgemeinen NamensServerAdmin.
-
Klicken Sie im Fenster Manage Permissions auf die Schaltfläche
.
Externer Zugriff auf ein lokales SVN-Design-Repository
Auf ein Design-Repository, das über den lokalen Versionsverwaltungsdienst des Enterprise Server erstellt wurde, kann mit einem SVN-Client wie TortoiseSVN zugegriffen werden. Der Zugriff erfolgt über das reguläre Netzwerkprotokoll (derzeit wird svn:// unterstützt). Die korrekte Repository-Adresse kann an zwei Stellen aufgerufen/kopiert werden:
- Auf der Seite VCS der Browseroberfläche des Workspace – im Feld Repository Path für das Ziel-Repository.
Ein „internes“ Repository, das vom Enterprise Server erstellt wurde, zeigt seinen Adresspfad relativ zum Enterprise Server an; dies ist die Adresse localhost des Host-PCs.
- In Altium Designer auf der Seite Data Management – Design Repositories des Dialogs Preferences – im Feld Repository für das Ziel-Repository.
Aus Sicht von Altium Designer – oder jeder Anwendung, die nicht auf dem Host-PC des Enterprise Server ausgeführt wird – basieren die Repository-Adresspfade auf dem Namen ihrer Host-PCs.
Verwenden Sie die ermittelte Adresse in der Repository-Browsing-Funktion Ihres Subversion-Clients. Beim ersten Zugriff wird ein zwischengeschalteter Dialog Authentication geöffnet, in dem gültige Verbindungsanmeldedaten angefordert werden. Geben Sie den Namen und das Passwort eines Workspace-Benutzerkontos ein, um fortzufahren. Diese Anmeldedaten sind gültig, wenn:
-
Das Benutzerkonto hinzugefügt wurde, after das Repository im Enterprise Server erstellt wurde. Die Benutzer, die für erstellte Repositorys gelten, sind in der Datei
passwdzu sehen, die sich im Ordner\ProgramData\Altium\Altium365Data\Repositoryauf dem Enterprise-Server-PC befindet – siehe unten. -
Das Repository für das Benutzerkonto freigegeben wurde, indem dieser Benutzername über den Befehl Add User im Fenster Manage Permissions for <repository name> des Servers hinzugefügt wurde. Dies ist in der Datei
authzdes Repositorys ersichtlich, die sich im Ordner\ProgramData\Altium\Altium365Data\Repositoryauf dem Enterprise-Server-PC befindet.
Durchsuchen des Inhalts eines Design-Repositorys, das über den lokalen SVN-basierten Versionsverwaltungsdienst der Enterprise-Server-Installation erstellt wurde.
Enterprise Server & VCS-Benutzersynchronisierung
Wenn ein neuer Benutzer für den Workspace erstellt wird, werden die definierten Anmeldedaten (User Name und Password) für diesen Benutzer sowohl in der Datenbank des Enterprise Server als auch im Versionsverwaltungsdienst gespeichert, da Letzterer nicht direkt auf das Passwort des Ersteren zugreifen kann. Das Passwort wird beim Versionsverwaltungsdienst im Klartextformat gespeichert (in der Datei \ProgramData\Altium\Altium365Data\Repository\passwd).
Die Einträge in dieser Liste ermöglichen den Zugriff auf das SVN-Repository des Enterprise Server, wenn mit dem Dienst über Altium Designer gearbeitet wird. Es kann vorkommen, dass die Anmeldedaten eines Benutzers nicht in der Datei enthalten sind, etwa wenn Workspace-Benutzer bereits vorhanden sind, wenn das erste SVN-Repository erstellt wird (und nicht umgekehrt). Dies kann behoben werden, indem diese Namens-/Passwort-Kombinationen manuell zur Datei passwd hinzugefügt werden oder indem das Passwort für jedes Benutzerprofil im Workspace erneut eingegeben wird – der letztere Ansatz füllt die Datei passwd entsprechend auf, ohne dass ein direkter Zugriff auf den Enterprise-Server-PC erforderlich ist.
Bei einer Standardinstallation des Enterprise Server werden Benutzeranmeldedaten für den Versionsverwaltungsdienst in der zugehörigen Datei Passwd gespeichert.
Löschen eines Repositorys
Um ein Repository aus dem Versionsverwaltungsdienst des Enterprise Server zu löschen, klicken Sie auf das Steuerelement Remove , das diesem Repository auf der Seite VCS der browserbasierten Oberfläche des Workspace zugeordnet ist.
Einträge externer Repositorys können gelöscht werden, unabhängig davon, ob das Repository Projekte enthält oder nicht. Lokale Repositorys hingegen (die intern über den Versionsverwaltungsdienst des Enterprise Server erstellt wurden) können nicht gelöscht werden, wenn sie ein oder mehrere Projekte enthalten. Sie werden darauf hingewiesen und sollten zuerst die Projekte entfernen, bevor Sie mit dem Löschen fortfahren können.
Selbst dann wird ein lokales Repository, wenn es keine Projekte enthält, nicht tatsächlich gelöscht, sondern in ein Archivverzeichnis verschoben (\ProgramData\Altium\Altium365Data\RepositoryDumps, bei einer Standardinstallation des Enterprise Server). Das Repository befindet sich dann in einer Dump-Datei mit einer eindeutigen ID als Präfix (z. B. 775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump).