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 Create 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.
- Cloning an existing Managed Project through the NEXUS Server's browser-based interface.
The following sections take a closer look at these three avenues of creation.
Through Altium NEXUS
From within the Altium NEXUS design-side client, a new Managed Project can be created using the Create Project dialog (File » New » Project):
- Select the entry for your NEXUS Server from the dialog's LOCATIONS options (it will appear with the name you have specified for it, on the Admin - General page of the server's browser interface) – you must be signed in to the NEXUS Server with administrator privileges to access this option.
- Enter a Project Name and optionally, a project Description.
- The Repository field will list all Design Repositories managed through the 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 – there is a single Git-based repository (
Versioned Storage) available by default.
- Use the Folder field to specify where the folder for the project – within the server's folder structure – is to be created. The default path for new NEXUS Server projects is specified on the Admin - Settings - Projects page of the server's browser interface.
- Use the Local Storage field to specify where the project will be stored on your hard drive, prior to its committal to the centralized Design Repository. The default location is defined in the System - Default Locations page of the Preferences dialog.
- Use the button to add parameter Name-Value pairs to the Parameters list. These Managed Project parameters are saved in the NEXUS Server with the new project, and can be edited within the server. By contrast, Project type parameters are saved in the project file (
*.PrjPcb), and can be edited on the design side in Altium NEXUS. Both parameter types may be used as Special Strings in Altium NEXUS.
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 , 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 Commit Project command or the Version Control » Commit Whole 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 (Vault) Folder – use this field to specify where the folder for the project is to be created within the NEXUS Server's folder structure. By default, this will be Projects\<ProjectName>. The default path for new projects 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 below) Click the Projects entry in the navigation tree to come back to the summary-level listing of managed projects, where you will now see that an entry for your newly-created project has been added to the list.
An 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 allows you to determine the project's name and its description. By default, the name will be that of the original (source) project.
Further setting are available by opening the Advanced options:
- 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 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 are shown, where the latter is not editable when the Versioned Storage (Git-based) repository is chosen. By default a folder of the same name as the project will be created within the repository.
- The path to the local working VCS copy of the project is also shown (Working Copy Path), as defined by the project's source location.
- The Server Folder entry represents the target path for the new project entry within the server's folder structure. By default this will be Projects\<ProjectName> but may be edited to suit, where the Server Folder setting will also define the location in which data for the project will be released when using the Altium NEXUS Project Releaser.
Convert an existing project to a Managed Project.
With the properties for the Managed Project defined as required in the Convert to Managed Project dialog, click OK. 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 above, 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 from the server.
Detailed Project View
Clicking the Open control () associated with a managed project or its 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 project detail view:
- Parameters – a listing of parameters (as Name/Value pairs) associated with the Managed Project that are grouped under three parameter type headings:
- Project file – parameters stored in the project file (
*.PrjPCB) that can be added/modified through the Project Options dialog in Altium NEXUS.
- Managed project – parameters stored in the server with the Managed Project that can be added in the Create Project dialog in Altium NEXUS, or added/modified by editing the project in the server's browser interface.
- Analytics – parameter data automatically extracted by the NEXUS Server from the Managed Project.
- Preview – an interactive graphical preview of the design source. Zoom, pan and double-click entities in the main preview window to navigate around the design.
- Part List – a simple listing of all managed components in the design, as automatically extracted from the design source by the server. This includes the
Item ID and revision status for each server component used in the design.
- Working files – the source design files of the project, which can be downloaded in a single Zip file.
- 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 summary entry on the left, the following sub-tabs on the right populate with information that applies to that specific release:
A graphical representation of how the generated data links together, all under the umbrella of the parent design project for the selected release. 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 parameter data that apply to the selected release, including system-generated parameters and any Project or Server parameters that have been defined.
An interactive graphic preview of the released design source, where all design files are available for selection in the Navigator tree.
A simple listing of all managed components in the released design, including the server item identifier (ItemID) and revision status for each of the components hosted in the NEXUS Server.
Note that the list shows all parts used in the released design, irrespective of variant assembly packages generated in the release. 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).
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-WiFi_miniPCIe-2(pcba,fab,src).zip. This contains individual zip files of the packages selected for download.
You can also initiate a Web Review for the currently selected release of the project (highlighted in blue). Click the control to open a Web Review instance in a new browser tab.
- Stream - detailing recent activity for the project.
- Activities – a listing of activities associated to the project. A designer can start a dedicated activity for a managed project using predefined Project Activity process workflows that have been defined for the company. Available Process Workflows can be initiated from the Altium NEXUS design client, the server Process Management page (Admin » Processes), or from the button menu available on the opened project page – as shown above.
Under the Activities tab, select the Active option to see processes that are currently running or the Closed option for those that have been previously run (not active) – or search for a specific activity of interest. Click on a listed entry to view a diagram of its underlying process workflow (on the Diagram tab below the list), showing what needs to happen for the activity to be completed, and where the activity is at along that flow, in terms of who now has a task to perform to move the activity along. Tabs are also available for seeing the data attached to the activity (Data tab), and also a history of actions taken along the activity's process workflow (History tab).
A number of additional controls are also available for (and apply to the latest revision of) the open 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 the design software is already running, the project will be opened in that instance.
- – click to initiate a project Web Review, which will open in a new browser tab.
- – click to choose from and start any available process workflow from the drop down menu.
- menu – select this menu to expose the additional functions for a released project, which include:
- Edit – select to access the Edit Project window. From here, you can change the project's Name, Description and any applied server Parameters. All other fields are non-editable, providing information only.
- Share – select 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.
- Clone – select 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.
- Watch – select 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. Select the option again to stop following the project and receiving notifications.
- Remove –select 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.
Project Data Update
When a project has been externally updated, say after being edited in Altium design software and the changes committed back to the NEXUS Server, the server will automatically re-process the project data to update detailed information such as Parameter Analytics and the extracted Part List.
After a substantial project update has been committed to the server, the project's detailed view may include a progress warning as the data is updated. Once complete, the message will request a page refresh to display the new data – click the offered refresh link or press F5 to update the page.
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 group: 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/group 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/group 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 groups, 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 effectively check it out as a local working copy. This can be performed in two ways:
- Directly from within Altium NEXUS – use the File » Open Project command. The Open Project dialog will appear, from where you can choose which managed project to open from the NEXUS Server. 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 then 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, Description and server Parameters. All other fields are non-editable, providing information only.
You can edit the Name, Description and Parameters for a Managed Project at any stage.
Cloning a Managed Project
To clone an existing managed project, access its detailed Project view and then select the Clone option from the menu. 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 Clone Project window to set the naming, description and storage paths for the cloned project. By default, the original project name will be used with 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 Parameters tab of its detailed Project view.
Removing a Managed Project
To remove a Managed Project, click its associated Remove control () in the Projects page listing.