Parent page: Argomenti avanzati
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 proprio dove servono, in locale, senza dover cercare o pagare software esterni per la gestione del VCS.
Definendo i repository di progettazione in questo modo centralizzato, un'organizzazione può controllare completamente a quali repository i propri progettisti possono accedere e che possono utilizzare.
Relevance of the information on this page:
Una nuova installazione di Enterprise Server fornisce un singolo repository di progettazione basato su Git per ospitare tutti i progetti di progettazione del Workspace – e basta! Questo evita qualsiasi configurazione e complessità relativa al servizio locale di Version Control di Enterprise Server. Hai un unico repository di progettazione – Versioned Storage – a cui tutti i tuoi progettisti possono accedere e in cui possono rilasciare. Di conseguenza, la pagina VCS dell'interfaccia browser del Workspace diventa puramente informativa: non è possibile aggiungere un nuovo repository e l'unico repository Git non può essere modificato in alcun modo, né eliminato. Le informazioni in questa pagina pertanto non si applicano al tuo caso.
Se hai aggiornato il tuo Enterprise Server da Altium Vault 3.0, allora sarà abilitato anche l'uso dei repository SVN, così da poter continuare a utilizzare il tuo precedente (e consolidato) flusso di progettazione. In questo caso, puoi continuare a creare repository tramite il servizio locale di Version Control (solo SVN), oppure collegarti a repository esterni (SVN o Git). Le informazioni in questa pagina sono quindi ancora rilevanti per te.
Important: Tieni presente che, in caso contrario, il pulsante
sarà disattivato e la possibilità di creare/aggiungere repository non sarà disponibile.
Vantaggi principali
Ci sono due vantaggi principali nell'utilizzare questo servizio centralizzato di Version Control:
- Hai una gestione comune di utenti e diritti 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à.
Quando viene creato un nuovo utente per Enterprise Server, la Password definita per quell'utente viene memorizzata sia in Enterprise Server sia nel servizio SVN, poiché quest'ultimo non può accedere direttamente alla password del primo.
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 sono gestiti centralmente tramite la pagina VCS (Admin – VCS) dell'interfaccia browser del Workspace, in termini di:
- Nome visualizzato, descrizione e percorso del repository.
- Accessibilità configurata – quali utenti specifici possono accedervi (o ruoli, nel caso di repository definiti tramite il servizio locale di Version Control).
- Disponibilità – aggiungerli o rimuoverli centralmente, invece di richiedere ai singoli progettisti di creare e collegarsi ai repository in modo indipendente.
Per impostazione predefinita sono disponibili due Design Repository, forniti dal servizio locale di Version Control e denominati rispettivamente DefaultRepository (un repository SVN) e Versioned Storage (un repository Git). Il repository DefaultRepository non può essere rinominato, ma puoi aggiungervi una descrizione, gestire l'accesso degli utenti o rimuoverlo, secondo necessità. Il repository Versioned Storage, che è destinato esclusivamente all'archiviazione integrata dei progetti del Workspace, non può essere rinominato, condiviso o rimosso.
Quando un utente di Altium Designer accede al Workspace, i Design Repository a lui disponibili verranno aggiunti automaticamente alla pagina Data Management – Design Repositories della finestra di dialogo Preferences. Tieni presente che l'elenco includerà anche eventuali repository "non gestiti" che sono stati aggiunti manualmente da questa pagina Preferences.
Definisci centralmente l'accesso ai Design Repository 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 servizi 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 Repository 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; usala per definire il repository.
Solo i repository di tipo SVN possono essere creati tramite il servizio locale di Version Control. È possibile collegarsi a repository esistenti (esterni), che possono essere sia SVN sia Git.
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 un nome e una descrizione, devi fornire il URL del repository e credenziali valide (User Name, Password) per accedere a quel repository (se richiesto).
Quando si crea un repository interno a Enterprise Server, il nome deve iniziare con e può contenere A-Z, a-z o 0-9. Underscore, trattini e spazi sono consentiti nella parte centrale del nome. Non è possibile utilizzare le seguenti parole: AUX, COM1-COM9, LPT1-LPT9, CON, NUL e PRN. Non ci sono restrizioni di denominazione per un repository esterno.
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 per la proprietà External selezionata (
).
Per modificare in un secondo momento le proprietà di un Design Repository, fai clic sul controllo Edit associato (
). Per rimuovere un Design Repository, fai clic sul controllo Remove associato (
).
L'elenco dei repository viene ordinato automaticamente in ordine alfabetico per Name, con i repository locali definiti tramite il servizio di Version Control elencati per primi, seguiti dai repository esterni. Il repository Versioned Storage basato su Git – che non può essere modificato né eliminato – appare sempre in cima all'elenco.
Condivisione di un repository
Dopo aver centralizzato i tuoi Design Repository, 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 Repository 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 ruolo Administrators. Entrambi dispongono di accesso completo in lettura/scrittura.
- Per un repository esterno, per impostazione predefinita non è 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 di ruoli definiti per Enterprise Server o pubblicamente. I ruoli sono elencati dopo i singoli utenti.
- In termini di permessi, un utente/ruolo ha accesso in lettura/scrittura quando l'opzione Can Write è abilitata (
). Se questa opzione è disabilitata, ha accesso in sola lettura.
Be Aware: Le impostazioni dei permessi durante la condivisione di un repository di progettazione interno non funzionano esattamente come ci si aspetterebbe. Anche se un repository di progettazione interno potrebbe essere condiviso in sola lettura con un utente del server, quell'utente è comunque in grado di creare NUOVI progetti Workspace all'interno di quel repository e ottenere permessi completi di lettura/scrittura per le corrispondenti cartelle di progetto create. Tieni presente che questo comportamento errato si applica solo ai nuovi progetti Workspace e alle relative cartelle creati da quell'utente. L'utente non avrà permessi di scrittura per le altre cartelle nel repository.
- Per rimuovere un utente/ruolo esistente dall'accesso condiviso a un repository, fai clic sul controllo Remove associato (
).
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.
Per modificare i permessi di un utente esistente, usa l'opzione Can Write nella finestra Manage Permissions, per passare dall'accesso in lettura/scrittura (abilitato) all'accesso in sola lettura (disabilitato).
Condivisione di un repository locale con un gruppo di ruoli definito
Se il repository è stato creato tramite il servizio locale di Version Control, anziché come repository esterno, è anche possibile condividerlo con i gruppi di ruoli definiti per il Workspace. Per condividere un repository locale (non esterno) con un altro gruppo di ruoli:
- Fare clic sul controllo Add Group nella finestra Manage Permissions.

- Nella finestra Add Groups visualizzata, iniziare a digitare il nome di un gruppo di ruoli nel campo Select Groups to be added per visualizzare un elenco di ruoli corrispondenti. Selezionare il ruolo richiesto da questo elenco. È possibile scegliere più ruoli. Per rimuovere un ruolo, fare clic sulla croce di eliminazione a destra del relativo nome.

- Impostare l'autorizzazione per il gruppo o i gruppi di ruoli utilizzando il campo Permission. Usare il menu a discesa per scegliere tra accesso Read oppure accesso Read/Write.

- Fare clic sul pulsante
per confermare l'aggiunta del ruolo o dei ruoli e tornare alla finestra Manage Permissions.

- Fare clic sul pulsante
nella finestra Manage Permissions.
Per modificare le autorizzazioni di un ruolo esistente, usare l'opzione Can Write nella finestra Manage Permissions per passare tra accesso in lettura/scrittura (abilitato) e accesso in sola lettura (disabilitato).
Condivisione di un repository locale con tutti gli utenti
Se il repository è stato creato tramite il servizio locale di Version Control, anziché come repository esterno, è anche possibile condividere tale repository con tutti gli utenti del Workspace. Per condividere un repository locale (non esterno) con chiunque possa accedere al Workspace:
- Fare 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.

- Fare clic sul pulsante
nella finestra Manage Permissions.
Per modificare le autorizzazioni per l'entità Anyone, usare l'opzione Can Write nella finestra Manage Permissions per passare tra accesso in lettura/scrittura (abilitato) e accesso in sola lettura (disabilitato).
Condivisione di un repository esterno con un utente del Workspace
Per condividere un repository esterno con un utente del Workspace:
- Fare clic sul controllo Add User nella finestra Manage Permissions.

- Nella finestra Add Users visualizzata, iniziare 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. Selezionare l'utente richiesto da questo elenco. Per rimuovere l'utente, fare clic sulla croce di eliminazione a destra del relativo nome.
Nel campo SVN User, immettere un nome registrato nel repository esterno (SVN o Git) e che quindi disponga dell'accesso. In genere, si tratterà del nome corrispondente dell'utente registrato nel repository

- Fare clic sul pulsante
per confermare l'aggiunta dell'utente e tornare alla finestra Manage Permissions. Fare clic su Add User per aggiungere altri utenti come descritto al passaggio 2 sopra. Si noti che, nella seconda immagine di esempio qui sotto, l'utente Barry è stato impostato per usare il nome del repository corrispondente BarrySmith, anziché il nome generale ServerAdmin.

- Fare clic sul pulsante
nella finestra Manage Permissions.
Gli utenti del Workspace possono essere mappati a qualsiasi nome utente valido nel repository SVN esterno e più utenti del Workspace possono essere mappati a un singolo nome utente nel repository SVN esterno.
- L'accesso stesso, in termini di sola lettura o lettura/scrittura, è in ultima analisi determinato dall'installazione del repository esterno. L'Enterprise Server non influisce sull'autorizzazione utenti del repository esterno e quindi non può gestire queste autorizzazioni dal lato Enterprise Server.
- Quando si accede a un repository esterno di un Enterprise Server da Altium Designer, ad esempio durante la creazione di un nuovo progetto, potrebbero essere richieste le credenziali di connessione al repository se ciò non è stato fatto in precedenza. Queste credenziali verranno usate automaticamente per le attività successive con questo repository.
Accesso esterno a un repository di progettazione SVN locale
Un Design Repository creato tramite il servizio locale di Version Control dell'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 consultato/copiato da due posizioni:
- La pagina VCS dell'interfaccia browser del Workspace – nel campo Repository Path del repository di destinazione.
Un repository "interno" creato dall'Enterprise Server mostrerà il proprio percorso di indirizzo relativo all'Enterprise Server, che corrisponde all'indirizzo localhost del PC host.
Dal punto di vista di Altium Designer, o di qualsiasi applicazione non eseguita sul PC host dell'Enterprise Server, i percorsi di indirizzo del repository si basano sul nome dei rispettivi PC host.
L'indirizzo mostrato dipenderà dal fatto che si stia accedendo al repository dalla stessa macchina su cui è installato l'Enterprise Server (svn://localhost/<RepositoryName>) oppure da un PC remoto (svn://<ComputerName>/<RepositoryName>, dove ComputerName è il nome del PC su cui risiede l'Enterprise Server).
Usare l'indirizzo ottenuto nella funzione di esplorazione repository del client Subversion. Al primo accesso si aprirà una finestra di dialogo intermedia Authentication che richiederà credenziali di connessione valide. Immettere 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 nell'Enterprise Server. Gli utenti applicati ai repository creati possono essere visualizzati nel file
passwd presente nella cartella \ProgramData\Altium\Altium365Data\Repository del PC dell'Enterprise Server – vedere 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
authz del repository, presente nella cartella \ProgramData\Altium\Altium365Data\Repository del PC dell'Enterprise Server.
Esplorazione del contenuto di un Design Repository creato tramite il servizio locale di Version Control basato su SVN dell'installazione di Enterprise Server.
Un Design Repository creato tramite il servizio locale di Version Control memorizza i propri dati interni in una sottocartella corrispondente nella cartella \ProgramData\Altium\Altium365Data\Repository (per un'installazione predefinita di Enterprise Server). Si consiglia di non modificare né alterare i file nella cartella, salvo da parte del personale IT per scopi di manutenzione.
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 dell'Enterprise Server sia nel servizio di Version Control, poiché quest'ultimo non può accedere direttamente alla password dal primo. La password viene memorizzata nel servizio di Version Control in formato testo semplice (nel file \ProgramData\Altium\Altium365Data\Repository\passwd).
Le voci in questo elenco forniscono accesso al repository SVN dell'Enterprise Server quando si lavora con 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à di conseguenza il file passwd, senza richiedere accesso diretto al PC dell'Enterprise Server.
In un'installazione predefinita di Enterprise Server, le credenziali utente per il servizio di Version Control sono memorizzate nel file associato Passwd.
Eliminazione di un repository
Per eliminare un repository dal servizio di Version Control dell'Enterprise Server, fare clic sul controllo Remove (
) associato a quel repository, nella pagina VCS dell'interfaccia browser del Workspace.
Si noti che la rimozione di un repository dalla pagina
Data Management – Design Repositories page della finestra di dialogo
Preferences in Altium Designer rimuove quel repository solo dall'uso in quella specifica istanza di Altium Designer. Non elimina il repository dal servizio di Version Control dell'Enterprise Server. Se si esce dall'Enterprise Server e si accede nuovamente, il repository comparirà di nuovo nell'elenco dei repository disponibili per quell'istanza di Altium Designer.
Le voci dei repository esterni possono essere eliminate indipendentemente dal fatto che il repository contenga o meno progetti. I repository locali, invece (quelli creati internamente tramite il servizio di Version Control dell'Enterprise Server), non possono essere eliminati se contengono uno o più progetti. Verrà visualizzato un avviso in merito e sarà necessario rimuovere prima i progetti per poter procedere con l'eliminazione.
Anche in tal 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 Unique ID (ad esempio 775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump).