The Altium Concord Pro installation provides localized (and centralized) version control, courtesy of its Version Control service. This service provides version control possibilities right there where you need them, locally, without searching, or paying for, external VCS management software.
By defining design repositories in this centralized fashion, an organization can fully control which repositories its designers can access and use.
A new installation of Altium Concord Pro provides a single Git-based design repository for accommodating all of your managed design projects – and that's it! This avoids any setup and complexity regarding Concord Pro's local Version Control service. You have a single design repository – Versioned Storage – for all your designers to access and release into. As such, the VCS page of Concord Pro's browser interface becomes purely informational – you cannot add a new repository, and the single Git repository cannot be modified in any way, nor deleted. The information on this page therefore does not apply to you.
If you have upgraded to Altium Concord Pro from Altium Vault 3.0, then the use of SVN repositories will also be enabled, so that you can continue to use your previous (and established) design flow. In this case, you can continue to create repositories through the local Version Control service (SVN-only), or connect to external repositories (SVN or Git). The information on this page is therefore still relevant to you.
Key Advantages
There are two key advantages to using this centralized Version Control service:
- You have common users and rights management for both Altium Concord Pro and SVN. When you sign in to Altium Concord Pro, the Version Control service works with your session/credentials.
- Repositories defined through Altium Concord Pro (through the VCS page (Admin – VCS) of Concord Pro's browser interface) are populated to the client automatically during login, so users do not have to worry about URLs, protocols, password etc. It is configured once, on the server, and shared with the intended users as required.
When a new user for Altium Concord Pro is created, the defined Password for that user is stored in both Concord Pro and the SVN service, since the latter cannot access the password from the former directly.
Repository Creation
Repositories can be created through the local Version Control service (SVN-only), or external repositories can be connected to (SVN or Git). Together, all repositories are centrally managed through the VCS page (Admin – VCS) of Concord Pro's browser interface, in terms of:
- Their displayed name, description and repository path.
- Their configured accessibility – which specific users can access them (or roles in the case of repositories defined through the local Version Control service).
- Their availability – add or remove them centrally, rather than individual designers having to create and connect to repositories independently.
When a user signs in to Altium Concord Pro, the Design Repositories available to them will automatically be added to the Data Management – Design Repositories page of the Preferences dialog.
Centrally define access to your organization's Design Repositories. Repositories can be internal to the Altium Concord Pro installation, defined using the local Version Control service, or external through use of Altium Designer's built-in SVN, or third party SVN or Git service. Access control is performed through the VCS page of Concord Pro's browser interface. When a user signs in to Altium Concord Pro, the Design Repositories available to them will automatically be added to the Data Management – Design Repositories page of the Preferences dialog.
Adding a Repository
To add a Design Repository, click the button, located at the top-right of the page. The Add Repository window will appear, use this to define the repository.
Only SVN-type repositories can be created through the local Version Control service. Existing (external) repositories can be linked to, and these can be either SVN or Git.
The properties required depend on whether you are creating a new repository using the local Version Control service, or linking to an existing, external repository:
- New – simply give the repository a name and a description.
- Existing – in addition to a name and description, you need to supply the URL to the repository, and your credentials (User Name, Password) to access that repository (if required).
When creating a repository that is internal to Altium Concord Pro, the name should start with, and can contain A-Z, a-z, or 0-9. Underscores, dashes, and spaces are allowed within the middle of the name. You can not use the following words: AUX, COM1-COM9, LPT1-LPT9, CON, NUL, and PRN. There are no naming restrictions for an external repository.
Create a new SVN-based Design Repository through Altium Concord Pro's local Version Control service, or link to an existing repository (SVN or Git) that has been created external to Altium Concord Pro.
A linked, external Design Repository is distinguished in the list of repositories by its External property being ticked ().
To edit the properties of a Design Repository at a later stage, click its associated Edit control (). To remove a Design Repository, click its associated Remove control ().
Remember that the default Git repository – Versioned Storage – cannot be modified in any way, nor deleted.
Sharing a Repository
Having centralized your Design Repositories, you need to ensure that those requiring access to a given repository – including the designers who will be working on board designs – have that access. This is achieved by sharing that repository, or rather managing its access permissions. To do this, click on the repository's associated Share control ().
The Manage Permissions window will appear, with all the controls necessary to share the repository with other users.
With Design Repositories centrally organized, sharing with others is simply a case of managing each repository's permissions.
Things to be aware of:
- For a local repository created through Altium Concord Pro's Version Control service (i.e. not external), that repository is shared, by default, with the user who created the repository, and the Administrators role. Both of these have full Read/Write access.
- For an external repository, it is shared with no-one by default – not even the user who added a connection to it through the interface.
- Only local repositories (not external) can be shared with defined roles for Altium Concord Pro, or with anyone (all users of that Concord Pro instance). Roles are listed after individual users.
- In terms of permissions, a user/role has Read/Write access when the Can Write option is enabled. If this option is disabled, they have Read access only.
Be Aware: The permission settings when sharing an internal design repository are not functioning exactly as one would expect. Even though an internal design repository itself could be shared for Read-only access with a server user, that user is still able to create NEW managed projects within that repository, and obtain full Read/Write permissions for the corresponding project folders that are created. Note that this erroneous functionality applies only to new managed projects and their folders, created by that user. The user will not have Write permissions to other folders in the repository.
- To remove an existing user/role from having shared access to a repository, click the associated Remove control ().
Sharing a Local Repository with an Altium Concord Pro User
To share a local (not external) repository with another Altium Concord Pro user:
- Click the Add User control in the Manage Permissions window.
- In the Add Users window that appears, start typing the full name, username, or email address of an Altium Concord Pro user in the Select Users to be added field, to pop-up a list of matching users. Select the required user from this list. Multiple users can be chosen. To remove a user, click the delete cross, to the far right of their name.
- Set the permission for the user(s) using the Permission field. Use the drop-down to choose between Read access, or Read/Write access.
- Click the button once ready, to effect the addition of the user(s) and return to the Manage Permissions window.
- Click the button in the Manage Permissions window.
To edit the permissions for an existing user, use the Can Write option in the Manage Permissions window, to toggle between Read/Write access (enabled) or Read-only access (disabled).
Sharing a Local Repository with a defined Role Group
If the repository has been created through the local Version Control service, rather than an external repository, then you also have the ability to share with roles (groups of users) defined for your Altium Concord Pro installation. To share a local (not external) repository with another role group:
- Click the Add Group control in the Manage Permissions window.
- In the Add Groups window that appears, start typing the name of a role group in the Select Groups to be added field, to pop-up a list of matching roles. Select the required role from this list. Multiple roles can be chosen. To remove a role, click the delete cross, to the far right of its name.
- Set the permission for the role group(s) using the Permission field. Use the drop-down to choose between Read access, or Read/Write access.
- Click the button once ready, to effect the addition of the role(s) and return to the Manage Permissions window.
- Click the button in the Manage Permissions window.
To edit the permissions for an existing role, use the Can Write option in the Manage Permissions window, to toggle between Read/Write access (enabled) or Read-only access (disabled).
Sharing a Local Repository with All Users
If the repository has been created through the local Version Control service, rather than an external repository, then you also have the ability to share that repository with anyone – allowing all Altium Concord Pro users to access and use it. To share a local (not external) repository with anyone that can sign in to the server:
- Click the Add Anyone control in the Manage Permissions window.
- The Anyone entry will be added directly to the list of shared entities, and automatically shared for Read/Write access.
- Click the button in the Manage Permissions window.
To edit the permissions for the Anyone entity, use the Can Write option in the Manage Permissions window, to toggle between Read/Write access (enabled) or Read-only access (disabled).
Sharing an External Repository with an Altium Concord Pro User
To share an external repository with an Altium Concord Pro user:
- Click the Add User control in the Manage Permissions window.
- In the Add Users window that appears, start typing the full name, username, or email address of an Altium Concord Pro user in the Select Users to be added field, to pop-up a list of matching users. Select the required user from this list. To remove the user, click the delete cross, to the far right of their name.
In the SVN User field, enter a name that is registered with the external repository (SVN or Git) and therefore has access. Typically, this would be a user's matching name registered with the repository.
- Click the button to confirm the user addition and return to the Manage Permissions window. Click Add User to add further users as outlined in step 2, above. Note that in the second example image below, user
Barry
has been set to use his matching repository name BarrySmith
, rather than the general ServerAdmin
name.
- Click the button in the Manage Permissions window.
Altium Concord Pro users can be mapped to any valid user name in the external SVN repository, and multiple Altium Concord Pro users may be mapped to a single user name in the external SVN repository.
See example
- Access itself (in Read-only, or Read/Write terms) is ultimately determined by the external repository installation. The Concord Pro server does not influence the external repository's user authorization, and so cannot manage these permissions from the server side.
- When accessing a server's external repository from Altium Designer, such as when creating a new project, repository connection credentials may be requested if this has not been done previously. These credentials will be used automatically for subsequent activity with this repository.
External Access to a Local SVN Design Repository
An SVN Design Repository that is created through the local Version Control Service can be accessed using an SVN client such as TortoiseSVN. Access is made using the regular network protocol (svn). The correct repository address path can be copied from two places:
- The VCS page of Altium Concord Pro's browser interface – within the Repository Path field for the target repository.
The address will depend on whether you are accessing the repository from the same machine on which Altium Concord Pro is installed (e.g. svn://127.0.0.1/<RepositoryName>, or svn://localhost/<RepositoryName>), or from a remote PC (e.g. svn://<ComputerName>/<RepositoryName>, where ComputerName is the name of the PC on which Altium Concord Pro resides).
Use the acquired address in your Subversion client's repository browsing facility. When a user is created in Altium Concord Pro, the credentials are used by both the Server itself, and the Version Control service. If the password is stored with the service – the authentication has been saved through the SVN client – then access to the repository will be immediate. If the password is not stored, an intermediate Authentication dialog will appear. Enter your user credentials and click OK to access the repository. See Server & VCS User Synchronization below for more information.
Browsing the content of a Design Repository created through the Altium Concord Pro installation's local SVN-based Version Control service.
A Design Repository that is created through the local Version Control service has its internal data stored in a corresponding sub-folder in the \ProgramData\Altium\ConcordProData\Repository folder (for a default installation of Altium Concord Pro). This folder should not be directly accessed in any way, other than by IT personnel for maintenance.
Server & VCS User Synchronization
When a new user for Altium Concord Pro is created, the defined credentials (User Name and Password) for that user are stored in both the Server's database and the Version Control service, since the latter cannot access the password from the former directly. The password is stored in the Version Control service in plain text format (in the \ProgramData\Altium\ConcordProData\Repository\passwd file).
The entries in this list provide access to the Concord Pro SVN repository when working with the service through Altium Designer. There may be occasions where a user's credentials are not included in the file, such as when Concord Pro users already exist when the first SVN repository is created (rather than the other way around). This can be addressed by manually adding those name/password combinations to the passwd
file, or by re-entering the password for each user profile in Concord Pro – the latter approach will populate the passwd
file accordingly, and without requiring direct access to the server PC.
In a default installation of Altium Concord Pro, user credentials are stored for the Version Control service in the associated passwd file.
Deleting a Repository
To delete a repository from Altium Concord Pro's Version Control service, click the Remove control () associated with that repository, on the VCS page of Concord Pro's browser interface.
Note that removing a repository from the
Data Management – Design Repositories page of the
Preferences dialog only removes that repository from being used by that instance of Altium Designer. It does not delete the repository from Altium Concord Pro's Version Control service. If you sign out of Altium Concord Pro and back in again, the repository will appear once more in the list of repositories available to that instance of Altium Designer.
External repositories can be deleted (disconnected), irrespective of whether or not they contain any projects. Local repositories on the other hand (those created internally through Altium Concord Pro's Version Control service) can not be deleted if they contain one or more projects. You will be alerted to this, and should remove the projects first before being able to proceed with the deletion.
Even then, if a local repository has no projects, it will not actually be deleted, but rather moved to an archive directory (\ProgramData\Altium\ConcordProData\RepositoryDumps, for a default Altium Concord Pro installation). The repository will be contained within a Dump file, in the format <UniqueID>_<ProjectName>.dump (e.g. 775f6c22-b9a1-468c-9f1f-4f217bb3be6b_Central Design Repository.dump).