Parent page: Tópicos Avançados
A instalação do Enterprise Server disponibiliza controlo de versões localizado (e centralizado), através do seu serviço de Version Control. Este serviço oferece capacidades de controlo de versões exatamente onde delas precisa, localmente, sem ter de procurar ou pagar por software externo de gestão de VCS.
Ao definir repositórios de design de forma centralizada, uma organização pode controlar totalmente a que repositórios os seus designers podem aceder e utilizar.
Relevance of the information on this page:
Uma nova instalação do Enterprise Server disponibiliza um único repositório de design baseado em Git para alojar todos os projetos de design do seu Workspace – e só isso! Isto evita qualquer configuração e complexidade relacionadas com o serviço local de Version Control do Enterprise Server. Tem um único repositório de design – Versioned Storage – ao qual todos os seus designers podem aceder e para o qual podem publicar versões. Assim, a página VCS da interface do browser do Workspace passa a ser meramente informativa – não pode adicionar um novo repositório, e o único repositório Git não pode ser modificado de forma alguma, nem eliminado. Por isso, a informação nesta página não se aplica a si.
Se tiver atualizado o seu Enterprise Server a partir do Altium Vault 3.0, a utilização de repositórios SVN também ficará ativada, para que possa continuar a usar o seu fluxo de design anterior (e já estabelecido). Neste caso, pode continuar a criar repositórios através do serviço local de Version Control (apenas SVN), ou ligar-se a repositórios externos (SVN ou Git). Assim, a informação nesta página continua a ser relevante para si.
Important: Note que, caso contrário, o botão
aparecerá a cinzento, e a capacidade de criar/adicionar repositórios não estará disponível.
Para mais informações sobre Design Repositories, e sobre como trabalhar com os mesmos através do Altium Designer, consulte
Using External Version Control.
Principais Vantagens
Existem duas vantagens principais na utilização deste serviço centralizado de Version Control:
- Dispõe de utilizadores e gestão de permissões comuns tanto para o Altium Designer como para o SVN. Quando inicia sessão no Enterprise Server, o serviço de Version Control funciona com a sua sessão/credenciais.
- Os repositórios definidos através do Enterprise Server (através da página VCS (Admin – VCS) da interface baseada em browser do Workspace do Enterprise Server) são automaticamente disponibilizados no Altium Designer durante o início de sessão, pelo que os utilizadores não têm de se preocupar com URLs, protocolos, palavra-passe, etc. É simplesmente configurado uma vez no Enterprise Server e partilhado com os utilizadores pretendidos, conforme necessário.
Quando é criado um novo utilizador para o Enterprise Server, a Password definida para esse utilizador é armazenada tanto no Enterprise Server como no serviço SVN, uma vez que este último não consegue aceder diretamente à palavra-passe do primeiro.
Criação de Repositórios
Os repositórios podem ser criados através do serviço local de Version Control (apenas SVN), ou podem ser ligadas fontes externas de repositórios (SVN ou Git). Em conjunto, todos os repositórios são geridos centralmente através da página VCS (Admin – VCS) da interface baseada em browser do Workspace, em termos de:
- O nome apresentado, a descrição e o caminho do repositório.
- A acessibilidade configurada – que utilizadores específicos lhes podem aceder (ou funções, no caso de repositórios definidos através do serviço local de Version Control).
- A sua disponibilidade – adicioná-los ou removê-los centralmente, em vez de cada designer ter de criar e ligar-se a repositórios de forma independente.
Estão disponíveis por predefinição dois Design Repositories, fornecidos pelo serviço local de Version Control e designados DefaultRepository (um repositório SVN) e Versioned Storage (um repositório Git), respetivamente. O repositório DefaultRepository não pode ser renomeado, mas pode adicionar-lhe uma descrição, gerir o acesso dos utilizadores ao mesmo, ou removê-lo, conforme necessário. O repositório Versioned Storage, que se destina exclusivamente ao armazenamento integrado de projetos do Workspace, não pode ser renomeado, partilhado nem removido.
Quando um utilizador do Altium Designer inicia sessão no Workspace, os Design Repositories disponíveis para esse utilizador serão automaticamente adicionados à página Data Management – Design Repositories da caixa de diálogo Preferences. Note que a lista também incluirá quaisquer repositórios “não geridos” que tenham sido adicionados manualmente a partir desta página Preferences.
Defina centralmente o acesso aos Design Repositories da sua organização. Os repositórios podem ser internos à instalação do Enterprise Server, definidos utilizando o serviço local de Version Control, ou externos através do SVN incorporado no Altium Designer, ou de um serviço SVN ou Git de terceiros. O controlo de acesso é realizado através da página VCS da interface baseada em browser do Workspace. Quando um utilizador inicia sessão no Workspace, os Design Repositories disponíveis para esse utilizador serão automaticamente adicionados à página Data Management – Design Repositories da caixa de diálogo Preferences .
Adicionar um Repositório
Para adicionar um Design Repository, clique no botão
, localizado no canto superior direito da página. Surgirá a janela Add Repository; utilize-a para definir o repositório.
Apenas repositórios do tipo SVN podem ser criados através do serviço local de Version Control. Repositórios existentes (externos) podem ser associados, e estes podem ser SVN ou Git.
As propriedades necessárias dependem de estar a criar um novo repositório utilizando o serviço local de Version Control, ou de estar a associar um repositório externo existente:
- New – atribua um nome e uma descrição ao repositório.
- Existing – para além de um nome e descrição, tem de fornecer o URL para o repositório, e credenciais válidas (User Name, Password) para aceder a esse repositório (se necessário).
Ao criar um repositório interno ao Enterprise Server, o nome deve começar por, e pode conter, A-Z, a-z ou 0-9. São permitidos underscores, hífenes e espaços no meio do nome. Não pode utilizar as seguintes palavras: AUX, COM1-COM9, LPT1-LPT9, CON, NUL e PRN. Não existem restrições de nomenclatura para um repositório externo.
Crie um novo Design Repository baseado em SVN através do serviço local de Version Control do Enterprise Server, ou associe um repositório existente (SVN ou Git) que tenha sido criado externamente ao Enterprise Server.
Um Design Repository externo associado distingue-se na lista de repositórios pela propriedade External assinalada (
).
Para editar as propriedades de um Design Repository numa fase posterior, clique no respetivo controlo Edit (
). Para remover um Design Repository, clique no respetivo controlo Remove (
).
A lista de repositórios é automaticamente ordenada alfabeticamente por Name, com os repositórios locais definidos através do serviço de Version Control listados primeiro, e os repositórios externos a seguir. O repositório Versioned Storage baseado em Git – que não pode ser modificado nem eliminado – aparece sempre no topo da lista.
Partilhar um Repositório
Tendo centralizado os seus Design Repositories, precisa de garantir que aqueles que necessitam de acesso a um determinado repositório – incluindo os designers que irão trabalhar nos designs de placas – dispõem desse acesso. Isto é conseguido através da partilha desse repositório, ou melhor, da gestão das respetivas permissões de acesso. Para o fazer, clique no controlo Share associado ao repositório (
).
Surgirá a janela Manage Permissions, com todos os controlos necessários para partilhar o repositório com outros utilizadores.
Com os Design Repositories organizados centralmente, partilhá-los com outras pessoas resume-se simplesmente a gerir as permissões de cada repositório.
Aspetos a ter em conta:
- Para um repositório local criado através do serviço de Version Control do Enterprise Server (isto é, não externo), as permissões predefinidas partilham esse repositório com o utilizador que o criou, e com a função Administrators. Ambos têm acesso total de Leitura/Escrita.
- Para um repositório externo, este não é partilhado com ninguém por predefinição – nem sequer com o utilizador que adicionou a ligação ao mesmo através da interface.
- Apenas os repositórios locais (não externos) podem ser partilhados com grupos de funções definidos para o Enterprise Server, ou publicamente. As funções são listadas a seguir aos utilizadores individuais.
- Em termos de permissões, um utilizador/função tem acesso de Leitura/Escrita quando a opção Can Write está ativada (
). Se esta opção estiver desativada, terá apenas acesso de Leitura.
Be Aware: As definições de permissões ao partilhar um repositório de design interno não estão a funcionar exatamente como seria de esperar. Embora um repositório de design interno em si possa ser partilhado em modo Só de leitura com um utilizador do servidor, esse utilizador continua a conseguir criar NOVOS projetos do Workspace dentro desse repositório e obter permissões totais de Leitura/Escrita para as pastas de projeto correspondentes que forem criadas. Note que esta funcionalidade incorreta se aplica apenas a novos projetos do Workspace e respetivas pastas, criados por esse utilizador. O utilizador não terá permissões de Escrita para outras pastas no repositório.
- Para remover um utilizador/função existente do acesso partilhado a um repositório, clique no controlo Remove associado (
).
Sharing a Local Repository with a Workspace User
Para partilhar um repositório local (não externo) com outro utilizador do Workspace:
- Clique no controlo Add User na janela Manage Permissions.

- Na janela Add Users que surgir, comece a escrever o nome completo, nome de utilizador ou endereço de email de um utilizador do Workspace no campo Select Users to be added, para fazer aparecer uma lista de utilizadores correspondentes. Selecione o utilizador pretendido nessa lista. Podem ser escolhidos vários utilizadores. Para remover um utilizador, clique na cruz de eliminação, à direita do respetivo nome.

- Defina a permissão para o(s) utilizador(es) utilizando o campo Permission. Utilize a lista pendente para escolher entre acesso Read ou acesso Read/Write.

- Clique no botão
para confirmar a adição do(s) utilizador(es) e regressar à janela Manage Permissions.

- Clique no botão
na janela Manage Permissions.
Para editar as permissões de um utilizador existente, utilize a opção Can Write na janela Manage Permissions, para alternar entre acesso de Leitura/Escrita (ativado) ou acesso Só de leitura (desativado).
Sharing a Local Repository with a defined Role Group
Se o repositório tiver sido criado através do serviço local de Controlo de Versões, em vez de um repositório externo, então também tem a possibilidade de o partilhar com grupos de Funções definidos para o seu Workspace. Para partilhar um repositório local (não externo) com outro grupo de funções:
- Clique no controlo Add Group na janela Manage Permissions.

- Na janela Add Groups que aparece, comece a escrever o nome de um grupo de funções no campo Select Groups to be added, para fazer surgir uma lista de funções correspondentes. Selecione a função pretendida a partir desta lista. Podem ser escolhidas várias funções. Para remover uma função, clique na cruz de eliminação, à direita do respetivo nome.

- Defina a permissão para o(s) grupo(s) de funções através do campo Permission. Utilize a lista pendente para escolher entre acesso Read ou acesso Read/Write.

- Clique no botão
para confirmar a(s) adição(ões) da(s) função(ões) e regressar à janela Manage Permissions.

- Clique no botão
na janela Manage Permissions.
Para editar as permissões de uma função existente, utilize a opção Can Write na janela Manage Permissions, para alternar entre acesso de Leitura/Escrita (ativado) ou acesso Só de Leitura (desativado).
Sharing a Local Repository with All Users
Se o repositório tiver sido criado através do serviço local de Controlo de Versões, em vez de um repositório externo, então também tem a possibilidade de partilhar esse repositório com todos os utilizadores do Workspace. Para partilhar um repositório local (não externo) com qualquer pessoa que possa iniciar sessão no Workspace:
- Clique no controlo Add Anyone na janela Manage Permissions.

- A entrada Anyone será adicionada diretamente à lista de entidades partilhadas e ficará automaticamente partilhada com acesso de Leitura/Escrita.

- Clique no botão
na janela Manage Permissions.
Para editar as permissões da entidade Anyone, utilize a opção Can Write na janela Manage Permissions, para alternar entre acesso de Leitura/Escrita (ativado) ou acesso Só de Leitura (desativado).
Sharing an External Repository with a Workspace User
Para partilhar um repositório externo com um utilizador do Workspace:
- Clique no controlo Add User na janela Manage Permissions.

- Na janela Add Users que aparece, comece a escrever o nome completo, nome de utilizador ou endereço de email de um utilizador do Workspace no campo Select Users to be added, para fazer surgir uma lista de utilizadores correspondentes. Selecione o utilizador pretendido a partir desta lista. Para remover o utilizador, clique na cruz de eliminação, à direita do respetivo nome.
No campo SVN User, introduza um nome que esteja registado no repositório externo (SVN ou Git) e que, por isso, tenha acesso. Normalmente, este será o nome correspondente de um utilizador registado no repositório

- Clique no botão
para confirmar a adição do utilizador e regressar à janela Manage Permissions. Clique em Add User para adicionar mais utilizadores, conforme descrito no passo 2 acima. Note que, na segunda imagem de exemplo abaixo, o utilizador Barry foi definido para utilizar o seu nome correspondente no repositório BarrySmith, em vez do nome geral ServerAdmin.

- Clique no botão
na janela Manage Permissions.
Os utilizadores do Workspace podem ser mapeados para qualquer nome de utilizador válido no repositório SVN externo, e vários utilizadores do Workspace podem ser mapeados para um único nome de utilizador no repositório SVN externo.
- O próprio acesso (em termos de Só de Leitura ou Leitura/Escrita) é, em última análise, determinado pela instalação do repositório externo. O Enterprise Server não influencia a autorização de utilizadores do repositório externo e, por isso, não pode gerir estas permissões do lado do Enterprise Server.
- Ao aceder a um repositório externo de um Enterprise Server a partir do Altium Designer, por exemplo ao criar um novo projeto, poderão ser pedidas credenciais de ligação ao repositório, caso isso não tenha sido feito anteriormente. Essas credenciais serão utilizadas automaticamente em atividades subsequentes com este repositório.
Acesso Externo a um Repositório de Design SVN Local
Um Repositório de Design criado através do serviço local de Controlo de Versões do Enterprise Server pode ser acedido utilizando um cliente SVN, como o TortoiseSVN. O acesso é feito utilizando o protocolo de rede normal (o svn:// é atualmente suportado). O endereço correto do repositório pode ser acedido/copiado a partir de dois locais:
- A página VCS da interface do browser do Workspace – no campo Repository Path do repositório de destino.
Um repositório “interno” criado a partir do Enterprise Server mostrará o seu caminho de endereço relativo ao Enterprise Server, que é o endereço localhost do PC anfitrião.
Na perspetiva do Altium Designer – ou de qualquer aplicação que não esteja no PC anfitrião do Enterprise Server – os caminhos de endereço do repositório baseiam-se no nome dos respetivos PCs anfitriões.
O endereço apresentado dependerá de estar a aceder ao repositório a partir da mesma máquina onde o Enterprise Server está instalado (svn://localhost/<RepositoryName>) ou a partir de um PC remoto (svn://<ComputerName>/<RepositoryName>, em que ComputerName é o nome do PC onde o Enterprise Server reside).
Utilize o endereço obtido na funcionalidade de navegação do repositório do seu cliente Subversion. No primeiro acesso, abrir-se-á uma caixa de diálogo intermédia Authentication a solicitar credenciais de ligação válidas. Introduza o nome e a palavra-passe de uma conta de utilizador do Workspace para prosseguir. Estas credenciais são válidas se:
- A conta de utilizador tiver sido adicionada after de o repositório ser criado no Enterprise Server. Os utilizadores aplicáveis aos repositórios criados podem ser vistos no ficheiro
passwd, encontrado na pasta \ProgramData\Altium\Altium365Data\Repository do PC do Enterprise Server – ver abaixo.
- O repositório tiver sido partilhado com a conta de utilizador, adicionando esse nome de utilizador através do comando Add User na janela Manage Permissions for <repository name> do servidor. Isto é visível no ficheiro
authz do repositório, localizado na pasta \ProgramData\Altium\Altium365Data\Repository do PC do Enterprise Server.
Navegação no conteúdo de um Repositório de Design criado através do serviço local de Controlo de Versões baseado em SVN da instalação do Enterprise Server.
Um Repositório de Design criado através do serviço local de Controlo de Versões tem os seus dados internos armazenados numa subpasta correspondente na pasta \ProgramData\Altium\Altium365Data\Repository (numa instalação predefinida do Enterprise Server). Recomenda-se que os ficheiros da pasta não sejam alterados nem editados, exceto por pessoal de TI para fins de manutenção.
Sincronização de Utilizadores do Enterprise Server & VCS
Quando é criado um novo utilizador para o Workspace, as credenciais definidas (User Name e Password) para esse utilizador são armazenadas tanto na base de dados do Enterprise Server como no serviço de Controlo de Versões, uma vez que este último não consegue aceder diretamente à palavra-passe do primeiro. A palavra-passe é armazenada no serviço de Controlo de Versões em formato de texto simples (no ficheiro \ProgramData\Altium\Altium365Data\Repository\passwd).
As entradas desta lista fornecem acesso ao repositório SVN do Enterprise Server quando se trabalha com o serviço através do Altium Designer. Pode haver situações em que as credenciais de um utilizador não estejam incluídas no ficheiro, por exemplo quando já existem utilizadores do Workspace no momento em que o primeiro repositório SVN é criado (em vez do contrário). Isto pode ser resolvido adicionando manualmente essas combinações de nome/palavra-passe ao ficheiro passwd, ou voltando a introduzir a palavra-passe de cada perfil de utilizador no Workspace – esta última abordagem preencherá o ficheiro passwd em conformidade, sem exigir acesso direto ao PC do Enterprise Server.
Numa instalação predefinida do Enterprise Server, as credenciais de utilizador são armazenadas para o serviço de Controlo de Versões no ficheiro Passwd associado.
Eliminar um Repositório
Para eliminar um repositório do serviço de Controlo de Versões do Enterprise Server, clique no controlo Remove (
) associado a esse repositório, na página VCS da interface baseada em browser do Workspace.
Note que remover um repositório da página
Data Management – Design Repositories page da caixa de diálogo
Preferences no Altium Designer apenas remove esse repositório de ser utilizado por essa instância do Altium Designer. Não elimina o repositório do serviço de Controlo de Versões do Enterprise Server. Se terminar sessão no Enterprise Server e voltar a iniciá-la, o repositório voltará a aparecer na lista de repositórios disponíveis para essa instância do Altium Designer.
As entradas de repositórios externos podem ser eliminadas, independentemente de o repositório conter ou não projetos. Por outro lado, os repositórios locais (os criados internamente através do serviço de Controlo de Versões do Enterprise Server) não podem ser eliminados se contiverem um ou mais projetos. Será alertado para esse facto e deverá remover primeiro os projetos antes de poder prosseguir com a eliminação.
Mesmo assim, se um repositório local não tiver projetos, na realidade não será eliminado, mas sim movido para um diretório de arquivo (\ProgramData\Altium\Altium365Data\RepositoryDumps, para uma instalação predefinida do Enterprise Server). O repositório ficará contido num ficheiro Dump, com um prefixo de ID Único (por exemplo 775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump).