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 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. This field is not applicable for a Git repository.
- 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 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 Commit to Version Control dialog. Select the files you wish to commit to the Design Repository and click Commit and Push (or Commit for a target SVN repository). 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. 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, 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 And Push (or Commit for an SVN repository).
- 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.
- Releases - presents every release of the project, with the latest release at the top of the list. Each entry on the left shows a snapshot of the date/time of release, along with what packages are included in the release. Use the Search field to quickly find a specific release (very useful if you have released the project many times).
As you click on a release entry on the left, the following sub-tabs on the right populate with information for that release:
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. Also included is the date and time of the release, by whom it was released, and the VCS revision.
A listing of parameters that have been defined at the project level, either within Altium NEXUS (through the Parameters tab of the Project Options dialog), or through the Server (not currently available). In addition, system-generated parameters specific to that release.
An interactive preview of the released design source - zoom, explore, and double-click entities in the main preview window to navigate around the released design source.
A simple listing of all managed components in the released design, in terms of the following information:
- Item ID
- Revision Status
Note that the list shows all parts used in the released design, irrespective of variant assembly packages generated. In other words, the list is not filtered by variant. This is not intended to be a replacement for a BOM - use the ActiveBOM for that as you normally would.
The currently selected release can be downloaded by clicking the control, to the far right of the tab. The Download Configuration pop-up will appear, with which to specify what data you wish to include in the download (e.g. source, fabrication and any assembly packages).
Configure the packages to be included in a download of the currently selected release of the managed project.
Once you have configured the download as required - using the available check boxes - click the button. A master zip file will be downloaded to your browser's default downloads folder (named according to the format: SRC-<ProjectName>-<ReleaseRevision>(<IncludedPackages>).zip, for example SRC-Bluetooth_Sentinel-A.2(fab,src,pcba).zip. This contains individual zip files of the packages selected for download.
- Working Files - the source design files, which can be downloaded in a single Zip file.
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 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 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 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.
To share a project with another NEXUS Server 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 a NEXUS Server 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 betwen Read access, or Read/Write access.
- Click the button once ready, to effect addition of the user(s) and return to the Manage Permissions window.
- Click the button in the Manage Permissions window.
You also have the ability to share with roles defined for your Altium NEXUS Server. To share a project with another role:
- Click the Add Role control in the Manage Permissions window.
- In the Add Roles window that appears, start typing the name of a role in the Select Roles 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(s) using the Permission field. Use the drop-down to choose betwen Read access, or Read/Write access.
- Click the button once ready, to effect addition of the role(s) and return to the Manage Permissions window.
- Click the button in the Manage Permissions window.
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, 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 (where applicable)
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 ().