Servizio locale di controllo versione
L'installazione di Enterprise Server fornisce un controllo di versione localizzato (e centralizzato), grazie al suo servizio di Version Control. Questo servizio offre funzionalità di controllo di versione esattamente dove servono, in locale, senza dover cercare o pagare software esterni di gestione VCS.
Definendo i repository di progettazione in questo modo centralizzato, un'organizzazione può controllare completamente a quali repository i propri progettisti possono accedere e quali possono utilizzare.
Vantaggi principali
Ci sono due vantaggi principali nell'utilizzare questo servizio centralizzato di Version Control:
- Hai utenti e gestione dei diritti comuni sia per Altium Designer sia per SVN. Quando accedi a Enterprise Server, il servizio di Version Control funziona con la tua sessione/le tue credenziali.
- I repository definiti tramite Enterprise Server (attraverso la pagina VCS (Admin – VCS) dell'interfaccia browser del Workspace di Enterprise Server) vengono popolati automaticamente in Altium Designer durante l'accesso, quindi gli utenti non devono preoccuparsi di URL, protocolli, password, ecc. Viene semplicemente configurato una volta su Enterprise Server e condiviso con gli utenti previsti secondo necessità.
Creazione di repository
I repository possono essere creati tramite il servizio locale di Version Control (solo SVN), oppure è possibile collegarsi a repository esterni (SVN o Git). Insieme, tutti i repository vengono gestiti centralmente tramite la pagina VCS (Admin – VCS) dell'interfaccia browser del Workspace, in termini di:
- Il nome visualizzato, la descrizione e il percorso del repository.
- L'accessibilità configurata: quali utenti specifici possono accedervi (o gruppi, nel caso di repository definiti tramite il servizio locale di Version Control).
- La loro disponibilità: aggiungerli o rimuoverli centralmente, invece di richiedere ai singoli progettisti di creare e collegarsi ai repository in modo indipendente.
Quando un utente di Altium Designer accede al Workspace, i Design Repositories a lui disponibili verranno aggiunti automaticamente alla pagina Data Management – Design Repositories page della finestra di dialogo Preferences. Tieni presente che l'elenco includerà anche eventuali repository "non gestiti" aggiunti manualmente da questa pagina Preferences.
Definisci centralmente l'accesso ai Design Repositories della tua organizzazione. I repository possono essere interni all'installazione di Enterprise Server, definiti utilizzando il servizio locale di Version Control, oppure esterni tramite l'SVN integrato di Altium Designer o un servizio SVN o Git di terze parti. Il controllo degli accessi viene eseguito tramite la pagina VCS dell'interfaccia browser del Workspace. Quando un utente accede al Workspace, i Design Repositories a lui disponibili verranno aggiunti automaticamente alla pagina Data Management – Design Repositories della finestra di dialogo Preferences .
Aggiunta di un repository
Per aggiungere un Design Repository, fai clic sul pulsante
, situato in alto a destra nella pagina. Verrà visualizzata la finestra Add Repository, da utilizzare per definire il repository.
Le proprietà richieste dipendono dal fatto che tu stia creando un nuovo repository utilizzando il servizio locale di Version Control oppure collegandoti a un repository esterno esistente:
- New – assegna al repository un nome e una descrizione.
- Existing – oltre a nome e descrizione, devi fornire il URL del repository e credenziali valide (User Name, Password) per accedere a quel repository, se richiesto.
Crea un nuovo Design Repository basato su SVN tramite il servizio locale di Version Control di Enterprise Server, oppure collegati a un repository esistente (SVN o Git) creato esternamente a Enterprise Server.
Un Design Repository esterno collegato si distingue nell'elenco dei repository perché la sua proprietà External è selezionata
Per modificare in un secondo momento le proprietà di un Design Repository, fai clic sul relativo controllo Edit Per rimuovere un Design Repository, fai clic sul relativo controllo Remove
Condivisione di un repository
Dopo aver centralizzato i tuoi Design Repositories, devi assicurarti che chi necessita di accedere a un determinato repository, inclusi i progettisti che lavoreranno ai progetti di schede, disponga di tale accesso. Questo si ottiene condividendo quel repository, o più precisamente gestendone i permessi di accesso. Per farlo, fai clic sul controllo Share associato al repository
Verrà visualizzata la finestra Manage Permissions, con tutti i controlli necessari per condividere il repository con altri utenti.
Con i Design Repositories organizzati centralmente, la condivisione con altri consiste semplicemente nella gestione dei permessi di ciascun repository.
Aspetti da tenere presenti:
- Per un repository locale creato tramite il servizio di Version Control di Enterprise Server (cioè non esterno), i permessi predefiniti condividono quel repository con l'utente che lo ha creato e con il gruppo Administrators. Entrambi dispongono di accesso completo in lettura/scrittura.
- Per un repository esterno, per impostazione predefinita non viene condiviso con nessuno, nemmeno con l'utente che ha aggiunto la connessione tramite l'interfaccia.
- Solo i repository locali (non esterni) possono essere condivisi con gruppi definiti per Enterprise Server o pubblicamente. I gruppi sono elencati dopo i singoli utenti.
- In termini di permessi, un utente/gruppo ha accesso in lettura/scrittura quando l'opzione Can Write è abilitata Se questa opzione è disabilitata, ha accesso in sola lettura.
- Per rimuovere l'accesso condiviso a un repository per un utente/gruppo esistente, fai clic sul relativo controllo Remove
Sharing a Local Repository with a Workspace User
Per condividere un repository locale (non esterno) con un altro utente del Workspace:
- Fai clic sul controllo Add User nella finestra Manage Permissions.
- Nella finestra Add Users visualizzata, inizia a digitare il nome completo, il nome utente o l'indirizzo email di un utente del Workspace nel campo Select Users to be added, per visualizzare un elenco a comparsa degli utenti corrispondenti. Seleziona l'utente richiesto da questo elenco. È possibile scegliere più utenti. Per rimuovere un utente, fai clic sulla croce di eliminazione a destra del suo nome.
- Imposta il permesso per l'utente/gli utenti utilizzando il campo Permission. Usa il menu a discesa per scegliere tra accesso Read o accesso Read/Write.
-
Fai clic sul pulsante
per confermare l'aggiunta dell'utente/degli utenti e tornare alla finestra Manage Permissions.
-
Fai clic sul pulsante
nella finestra Manage Permissions.
Condivisione di un repository locale con un gruppo definito
Se il repository è stato creato tramite il servizio di controllo versione locale, anziché come repository esterno, hai anche la possibilità di condividerlo con i gruppi definiti per il tuo Workspace. Per condividere un repository locale (non esterno) con un altro gruppo:
- Fai clic sul controllo Add Group nella finestra Manage Permissions.
- Nella finestra Add Groups visualizzata, inizia a digitare il nome di un gruppo nel campo Select Groups to be added per visualizzare un elenco di gruppi corrispondenti. Seleziona il gruppo richiesto da questo elenco. È possibile scegliere più gruppi. Per rimuovere un gruppo, fai clic sulla x di eliminazione a destra del suo nome.
- Imposta l'autorizzazione per il gruppo o i gruppi usando il campo Permission. Usa il menu a discesa per scegliere tra accesso Read o accesso Read/Write.
-
Fai clic sul pulsante
per confermare l'aggiunta del gruppo o dei gruppi e tornare alla finestra Manage Permissions.
-
Fai clic sul pulsante
nella finestra Manage Permissions.
Condivisione di un repository locale con tutti gli utenti
Se il repository è stato creato tramite il servizio di controllo versione locale, anziché come repository esterno, hai anche la possibilità di condividere tale repository con tutti gli utenti del Workspace. Per condividere un repository locale (non esterno) con chiunque possa accedere al Workspace:
- Fai clic sul controllo Add Anyone nella finestra Manage Permissions.
- La voce Anyone verrà aggiunta direttamente all'elenco delle entità condivise e condivisa automaticamente con accesso in lettura/scrittura.
-
Fai clic sul pulsante
nella finestra Manage Permissions.
Condivisione di un repository esterno con un utente del Workspace
Per condividere un repository esterno con un utente del Workspace:
- Fai clic sul controllo Add User nella finestra Manage Permissions.
-
Nella finestra Add Users visualizzata, inizia a digitare il nome completo, il nome utente o l'indirizzo email di un utente del Workspace nel campo Select Users to be added, per visualizzare un elenco di utenti corrispondenti. Seleziona l'utente richiesto da questo elenco. Per rimuovere l'utente, fai clic sulla x di eliminazione a destra del suo nome.
Nel campo SVN User, inserisci un nome registrato nel repository esterno (SVN o Git) e che quindi dispone dell'accesso. In genere, si tratterà del nome corrispondente dell'utente registrato nel repository
-
Fai clic sul pulsante
per confermare l'aggiunta dell'utente e tornare alla finestra Manage Permissions. Fai clic su Add User per aggiungere altri utenti come descritto al passaggio 2 sopra. Nota che, nella seconda immagine di esempio qui sotto, all'utente Barryè stato impostato l'uso del nome del repository corrispondenteBarrySmith, anziché del nome generaleServerAdmin.
-
Fai clic sul pulsante
nella finestra Manage Permissions.
Accesso esterno a un repository di progettazione SVN locale
Un Design Repository creato tramite il servizio di controllo versione locale di Enterprise Server può essere accessibile usando un client SVN come TortoiseSVN. L'accesso avviene usando il normale protocollo di rete (attualmente è supportato svn://). L'indirizzo corretto del repository può essere visualizzato/copiato da due posizioni:
- La pagina VCS dell'interfaccia browser del Workspace, nel campo Repository Path del repository di destinazione.
Un repository "interno" creato da Enterprise Server mostrerà il proprio percorso di indirizzo relativo a Enterprise Server, che corrisponde all'indirizzo localhost del PC host.
- Da Altium Designer, nella pagina Data Management – Design Repositories page della finestra di dialogo Preferences, nel campo Repository del repository di destinazione.
Dal punto di vista di Altium Designer, o di qualsiasi applicazione non presente sul PC host di Enterprise Server, i percorsi degli indirizzi del repository si basano sul nome dei rispettivi PC host.
Usa l'indirizzo ottenuto nella funzione di esplorazione del repository del tuo client Subversion. Al primo accesso si aprirà una finestra di dialogo intermedia Authentication che richiederà credenziali di connessione valide. Inserisci il nome e la password di un account utente del Workspace per procedere. Queste credenziali sono valide se:
-
L'account utente è stato aggiunto after il repository è stato creato in Enterprise Server. Gli utenti applicati ai repository creati possono essere visualizzati nel file
passwdpresente nella cartella\ProgramData\Altium\Altium365Data\Repositorydel PC Enterprise Server – vedi sotto. -
Il repository è stato condiviso con l'account utente, aggiungendo quel nome utente tramite il comando Add User nella finestra Manage Permissions for <repository name> del server. Ciò è evidente nel file
authzdel repository, presente nella cartella\ProgramData\Altium\Altium365Data\Repositorydel PC Enterprise Server.
Esplorazione del contenuto di un Design Repository creato tramite il servizio di controllo versione locale basato su SVN dell'installazione di Enterprise Server.
Sincronizzazione utenti Enterprise Server & VCS
Quando viene creato un nuovo utente per il Workspace, le credenziali definite (User Name e Password) per tale utente vengono memorizzate sia nel database di Enterprise Server sia nel servizio di controllo versione, poiché quest'ultimo non può accedere direttamente alla password dal primo. La password viene memorizzata nel servizio di controllo versione in formato testo semplice (nel file \ProgramData\Altium\Altium365Data\Repository\passwd).
Le voci in questo elenco forniscono accesso al repository SVN di Enterprise Server quando si utilizza il servizio tramite Altium Designer. Possono verificarsi casi in cui le credenziali di un utente non siano incluse nel file, ad esempio quando gli utenti del Workspace esistono già al momento della creazione del primo repository SVN (anziché il contrario). Questo problema può essere risolto aggiungendo manualmente tali combinazioni nome/password al file passwd, oppure reinserendo la password per ciascun profilo utente nel Workspace: quest'ultimo approccio popolerà il file passwd di conseguenza, senza richiedere accesso diretto al PC Enterprise Server.
In un'installazione predefinita di Enterprise Server, le credenziali utente per il servizio di controllo versione sono memorizzate nel file associato Passwd.
Eliminazione di un repository
Per eliminare un repository dal servizio di controllo versione di Enterprise Server, fai clic sul controllo Remove associato a quel repository, nella pagina VCS dell'interfaccia browser del Workspace.
Le voci dei repository esterni possono essere eliminate indipendentemente dal fatto che il repository contenga o meno progetti. I repository locali, invece, cioè quelli creati internamente tramite il servizio di controllo versione di Enterprise Server, non possono essere eliminati se contengono uno o più progetti. Verrai avvisato di ciò e dovrai prima rimuovere i progetti per poter procedere con l'eliminazione.
Anche in quel caso, se un repository locale non contiene progetti, non verrà effettivamente eliminato, ma spostato in una directory di archivio (\ProgramData\Altium\Altium365Data\RepositoryDumps, per un'installazione predefinita di Enterprise Server). Il repository sarà contenuto in un file Dump, con un prefisso ID univoco (ad esempio 775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump).