Parent page: Altium NEXUS Server
Altium NEXUS, in conjunction with the Altium NEXUS Server, brings support for Managed Projects. Managed Projects target the development stage of the project lifecycle, simplifying the creation and ongoing workflow for version controlled projects. Centralized storage under the control of the Altium NEXUS Server also enables this feature to be a foundation for other collaborative services.
Some key benefits to using Managed Projects are:
- Simplified storage. No need to make decisions about storage locations. Backup and other basic services are taken care of.
- Foundation for collaborative features.
- Enforced version control.
- Beneficiary of a dedicated commenting system.
- Notifications and status. Document status including local modifications is visible to entire design teams.
- Concurrent PCB design works without any complex setup.
Technically a Managed Project is the combination of meta information stored on the server, along with tight integration with the NEXUS Server's local SVN-based Version Control service. The typical work flow is as follows:
- A user creates a new managed project (via the New Project dialog in Altium NEXUS, from the NEXUS Server's browser-based interface, or by converting an existing project (in Altium NEXUS)). During creation, that user defines the project's name, description, and design repository.
- In the NEXUS Server's browser-based interface, or directly within Altium NEXUS, access to the project is defined and managed.
- All collaborators select the project for opening (either from within Altium NEXUS, or from the NEXUS Server's browser interface) after which it is automatically checked out.
Creating a New Managed Project
There are three ways in which a Managed Project can be created:
- Creation of a new project within Altium NEXUS.
- Creation of a new project within the NEXUS Server's browser-based interface.
- Conversion of an existing, non-managed project from within Altium NEXUS.
The following sections take a closer look at these three avenues of creation.
Through Altium NEXUS
From within Altium NEXUS, a new Managed Project can be created using the New Project dialog (File » New » Project):
- Select the project type, choosing from the applicable templates available as required.
- Give the project the desired name.
- Use the Location field to determine where, on your local drive, to initially store the project, prior to its commital to the centralized Design Repository.
- Use the Project Kind field to choose the Managed option.
- The Repository field will list all Design Repositories managed through the Altium NEXUS Server's local Version Control service, and which have been shared with you to use. Choose the repository in which to store the new project and its files.
- Use the Repository Folder field to specify the name of the folder within the repository in which to accommodate the project and its associated files. By default, this will take the project's name.
- Use the Server Folder field to specify where the folder for the project - within the NEXUS Server's folder structure - is to be created. By default, this will be Projects\<ProjectName>.
Setting up to create a new Managed Project from within Altium NEXUS, courtesy of the New Project dialog. Note that only those central Design Repositories
that are shared with you will be available for selection from the Repository field.
After clicking OK, the new project will be created locally, in accordance with the defined Location. The project will be opened in the Projects panel, which will show the project and files as being Scheduled for addition, denoted by a blue cross icon ().
Right-click on the project in the Projects panel and choose the Version Control » Commit Whole Project command or Save Managed Project command. You will be presented with the Add to Version Control dialog. Simply select the files you wish to commit to the Design Repository and click Commit. Once added, the Projects panel will reflect the fully synchronized state that exists between the files in the repository and the local working copy.
Commit the newly created Managed Project to the target Design Repository.
In addition, an entry for the project will appear on the Projects page of the NEXUS Server's browser-based interface.
The newly-created Managed Project, evident on the Projects page of the NEXUS Server's browser interface.
Through the NEXUS Server's Browser Interface
A Managed Project can be created directly through the Altium NEXUS Server's browser interface:
- Sign in to the interface and access the Projects page. Any previously created projects will be listed here.
- Click the button at the top-right of the page. The Add Project pop-up window will appear.
- The window will initially present in simplified view. Simply enter the desired name for the project, a description (if required), and, if available, choose from any Managed Project Templates that exist in the NEXUS Server.
- To access more controls - putting the window in advanced view - click on the Show additional fields control. The following fields will present:
- Server Folder - use this field to specify where the folder for the project - within the NEXUS Server's folder structure - is to be created. By default, this will be Projects\<ProjectName>. The default path for new projects - within the NEXUS Server's folder structure - is specified on the Admin - Settings - Projects page of the NEXUS Server's browser interface.
- Project Type - use this field to specify the type of project, from a list of all project types supported by Altium NEXUS. If you have selected a managed project template to use, this field will not be presented.
- Repository - this field will list all Design Repositories managed through the Altium NEXUS Server's local Version Control service, and which have been shared with you to use. Choose the repository in which to store the new project and its files. By default, the Versioned Storage (Git-based) repository will be selected.
- Repository Folder - use this field to specify the name of the folder within the repository in which to accommodate the project and its associated files. By default, this will take the project's name. If the Versioned Storage (Git-based) repository is chosen, this field will not be presented.
Defining a new Managed Project directly through the NEXUS Server's browser interface.
After defining the new project as required, click - the new project will be created. You will initially be taken to the detailed view for the project - more on this later. Click the Projects entry in the navigation tree to come back to the summary-level listing of managed projects, where you will now see an entry for your newly-created project has been added to the list.
Additional Managed Project, created through the browser interface. Click the Projects entry in the nav tree to switch back from the detailed project view, to the summary-level view.
Conversion of an Existing Non-Managed Project
You can also create a Managed Project from an existing non-managed one, simply by converting the latter to the former. To do this, open the existing non-managed project as normal in Altium NEXUS, then right-click on its entry in the Projects panel, and use the Convert to Managed Project command from the context menu.
The Convert to Managed Project command opens the Convert to Managed Project dialog, which operates in two modes - Simple and Advanced. Click the button at the bottom-left to switch between these two modes accordingly.
- Simple Mode - requires you to determine the project's name, and a description. By default, the name will be that of the original project.
- Advanced Mode - provides the ability to specify:
- The target Design Repository, managed through the Altium NEXUS Server that you are currently signed into. Choose from all managed repositories shared with you, and that are defined through the NEXUS Server's Version Control service (on the VCS page (Admin - VCS) of the NEXUS Server's browser interface). By default, the Versioned Storage (Git-based) repository will be selected. Note that if you are converting a VCS-type project, and that project already exists in an SVN design repository provided by the Server, then that same repository will be used - you will not be able to choose a different one.
- The repository path and directory therein are shown, the latter of which can be modified as required (by default a folder of the same name as the project will be created within the repository). If the Versioned Storage (Git-based) repository is chosen, this field will not be editable.
- The path to the local working copy of the project is also reflected. You also have the ability to define a Server Folder, in which data for the project will be released when using Altium NEXUS's Project Releaser. By default, this will be Projects\<ProjectName>.
Convert an existing project to a Managed Project.
The conversion process involves the following steps:
- With the properties for the Managed Project defined as required in the Convert to Managed Project dialog, click OK.
- The Add to Version Control dialog will subsequently open with all pertinent files selected for addition. Check all is as required and click Commit.
- The project and files will be committed to the target Design Repository, with the Projects panel reflecting the fully synchronized state that exists between the files in the repository and the local working copy.
The newly-converted Managed Project will subsequently be available from the Projects page of the NEXUS Server's browser interface.
The converted project is added to the list of centrally-managed projects.
Browsing Managed Projects
As mentioned already, Managed Projects are available to browse from the Projects page of the NEXUS Server's browser interface.
The Projects page of the NEXUS Server's browser interface - command central for managing your managed projects.
Each project is listed in terms of the following information:
- Name - the name of the project, along with its description (if defined).
- Author - the user who created the project.
- Last modified - the date on which the project was last modified.
For each project, the following controls are provided (and detailed in the linked sections that follow):
Open - open the project, via its detailed view.
Edit - edit the project, in terms of its Name and/or Description.
Share - access controls with which to configure project access permissions.
Remove - remove the project.
Detailed Project View
Clicking the Open control () associated with a managed project - or clicking on its name - will give you access to a detailed view of the Project.
Accessing the detailed view for a managed project.
The following tabs are available within the view:
- Stream - detailing recent activity for the project.
- Parameters - a listing of parameters that have been defined at the project level.
- Releases - what has been released, presented in terms of the assembled packages (including assembly data, fabrication data for the linked/parent bare board, and source files from which both have been generated).
- Working Files - the source design files, which can be downloaded in a single Zip file.
- Structure - a graphical representation of how the generated data links together, all under the umbrella of the parent design project. Click a link to access that Item-Revision within the NEXUS Server, on the Explorer page of the browser interface.
A number of additional controls are also available for the presented project:
- VCS Location - the URL to the project inside its parent design repository. For a project stored in an SVN-based design repository, click this link to open that design repository, in which the project resides, in your external SVN client browser.
- - click this button to open the project within Altium NEXUS (by opening the X2.exe file). If Altium NEXUS is already running, the project will be opened in that instance.
- - click this button to access the Edit Project window. From here, you can change the project's Name and/or Description. All other fields are non-editable, providing information only.
- - click this button to access the Manage Permissions window, with all the controls necessary to share the project with other users. See Sharing a Managed Project for more information.
- - click this button to essentially follow the project. You will receive applicable notifications related to the project (e.g. updated, released, permission changes) on the project's Stream tab, as well as the main Home and Stream pages of the browser interface. The creator of the project will automatically be set to watch that project.
- - click this button to essentially stop following the project. No further notifications relating to that particular project will be received on the project's Stream tab, nor the main Home and Stream pages of the browser interface.
- - click this button to access the Clone Project window, providing the controls to make an identical copy of the project. See Cloning a Managed Project for more information.
- - click this button to remove the project from the repository, rendering it no longer managed. If you have checked out the project locally, you will still have this local working copy.
Sharing a Managed Project
Once a project is managed, you'll want to determine which users can actually access that project. This is done by sharing the project, or rather, by configuring its access permissions. Remember that a managed project - newly created or converted - is shared, by default, with the following:
- The designer who created (converted) the project - full (Read/Write) access permissions.
- The Administrators role - full (Read/Write) access permissions.
- Publicly - denoted by the presence of the Public entity - with Read-only access permissions.
Configuration of access permissions can be performed through the NEXUS Server's browser interface, and also directly from within Altium NEXUS.
From within the NEXUS Server's Browser Interface
To configure access for a project from the NEXUS Server's browser interface, from the Projects page of the interface simply click on the project's associated Share control ().
The Manage Permissions window will appear, with all the controls necessary to share the project with other users.
With projects centrally managed in a NEXUS Server, sharing with others is simply a case of managing each project's permissions.
Things to be aware of:
- 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.
- To remove an existing user/role from having shared access to a project, click the associated Remove control ().
- All users of the NEXUS Server will by default be able to see the project. If you want to lock access down to a specific set of users and/or roles, you must remove the Public entity.
- If you remove the Public entity, it can be added back again using the Add Public control. Be aware that doing so will, by default, grant Read/Write access of the project to all NEXUS Server users.
From within Altium NEXUS
Access for a project can be configured directly from within Altium NEXUS by using the Project Permissions command. This command can be accessed for the active project, or a focused project:
- Active project - with a source document for the project open as the active document, choose the Project » Project Permissions command, from the main menus.
- Focused project - access is made from the Projects panel by right-clicking on the entry for the required project and choosing the Project Permissions command, from the context menu.
The Permissions For - <ProjectName> dialog will open in which you can configure sharing as required.
Configure access to your Managed Project directly from within Altium NEXUS.
Opening a Managed Project
To work on a managed project, you check it out as a local working copy. This can be performed in two ways:
- Directly from within Altium NEXUS - use the File » Open Managed Project command. The Open Managed Project dialog will appear, from where you can choose which managed project to open. Only those Managed Projects that have been shared with you (you have permission to access) will be listed, and from across all managed Design Repositories shared with you.
Choose which managed project to open, from within Altium NEXUS, from those currently shared with you.
- From the Projects page of the NEXUS Server's browser interface - click the Open control () associated with the project. From the detailed view for the project that is presented, click the button.
Access the control to open a managed project from its detailed view within the NEXUS Server's browser interface.
Editing a Managed Project
To edit the properties of a Managed Project at a later stage, simply click its associated Edit control ().
The Edit Project window will appear. From here, you can change the project's Name and/or Description. All other fields are non-editable, providing information only.
You can edit the Name and Description for a Managed Project at any stage.
Cloning a Managed Project
To clone an existing managed project, access its detailed Project view, then click the button. The Clone Project window will appear.
You can clone a managed project - creating an identical copy of it, along with its working files.
Use the window to set the following for the clone project:
- Server Folder
- Repository Folder
By default, the original project name will be used, simply adding the suffix ' - Copy'.
After setting the fields as required, click the button - the original project will be cloned, and the clone opened within the interface at the Stream tab of its detailed Project view.
Removing a Managed Project
To remove a Managed Project, click its associated Remove control ().