Parent page: Altium NEXUS Server
The Altium NEXUS design client, 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.
- Advantages 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.
- Ability to share a read-only, browser-based interactive view of a project with other users, via the Web Viewer.
- A range of advanced version control features, such as an interactive Project History view.
Technically, a Managed Project is the combination of meta information stored on the server along with tight integration with the NEXUS Server's own Version Control service. The typical work flow is as follows:
- A user creates a new managed project via the NEXUS design client's Create Project dialog, from the NEXUS Server's browser-based interface, or by converting an existing project on the design client side. During creation, that user defines the project's name, description, and design repository.
- Access to the project is defined and managed in the NEXUS Server's browser-based interface, or directly within the NEXUS design client.
- All collaborators select the project for opening (either from within the design client or from the server's browser interface) after which it is automatically checked out as design files.
Creating a New Managed Project
There are three main ways in which a Managed Project can be created:
- Creation of a new project from the NEXUS Server's browser-based interface, or from within the NEXUS design client.
- Making an existing, non-managed project available on the Server from within the NEXUS client – that is, converting an unmanaged project to a managed project.
- Cloning an existing Managed Project through the NEXUS Server's browser-based interface, or by cloning a project from the NEXUS client Projects or Explorer panels.
The following sections take a closer look at these methods of creating a Managed Project.
Through the NEXUS Design Client
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 the server naming option.
- Enter a Project Name in the Create Project dialog and optionally, a project Description.
- The Project Type column allows you to select the type of project that is being created, and if an available Project Template will be used. The list of templates for each project type includes all compatible Project Templates that are available in the server.
- The Repository drop-down menu (if present) will list all Design Repositories managed through the NEXUS Server's 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. If a SVN type repository is selected, an additional Repository Folder option is available for specifying or browsing to an alternative target folder within the repository itself.
- 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 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 NEXUS design side. Both parameter types may be used as Special Strings in the design client.
Setting up to create a new Managed Project from within 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. When a Template with defined documents is used (under Project Type), as shown in the image above, the project documents will automatically be created, Committed to version control, and Pushed to the server. The synchronized Project is then opened in the Projects panel, where its fully synchronized state is indicated by the associated icons.
The project is fully synchronized with the server in one step.
Alternatively, if the new project has not been assigned a Template with constituent documents, the project file and therefore the structure of the project only will be created. The project is then opened in the Projects panel, which will show it as being Scheduled for addition, denoted by the associated icon. At this point you can add documents to the project, or simply save the structure to the server (Commit/Push) in its current shell state.
To do so, click the Save to Server control associated with the project entry in the Projects panel – also available from the right-click context menu, and from the main File menu. In the following Save <project> to Server dialog, select/deselect files for inclusion, add an optional Comment, and then confirm the save process with the button. Once the project is added to the server, the Projects panel will reflect the fully synchronized state that exists between the files in the server repository and the local working copy, as indicated by the icons.
Commit the newly created Managed Project to the target Design Repository.
Regardless of the type of project structure, an entry for the new project will appear on the Projects Management page (Projects) of the NEXUS Server's browser interface.
The newly-created Managed Project, evident on the Projects page of the server's browser interface.
Through the NEXUS Server Browser Interface
A Managed Project can be created directly through the Altium NEXUS Server's browser interface:
- Sign in to the interface and select the Projects menu option to access the Projects Management page. Any previously created projects will be listed here.
- Click the button at the top of the page and then the Create Project menu option to open the Create Project window.
- The window will initially present in a simplified view. Enter the desired name for the project, a description (if needed), and choose a suitable Managed Project Template from the Templates drop-down menu.
- To access more controls click the button. The following fields will present:
- Parent Folder – use this field to specify where the folder for the project is to be created within the 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.
- 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.
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. The Projects Management page listing will now show an additional entry for your newly-created project.
An additional Managed Project, created through the browser interface. Click the Projects entry in the nav tree to access the Projects Management view listing.
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 the NEXUS design client, then right-click on its entry in the Projects panel and use the Make Project Available on Server command from the context menu.
The Make Project Available on Server command opens the Make Available on Server 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 settings are available by opening the Advanced options:
- The target design Repository in the NEXUS Server that you are currently signed into. Choose from all managed repositories shared with you, and that are defined through the server's Version Control service (on the VCS page (Admin – VCS) of the server's browser interface). This option is not shown when the default Git-based repository (Versioned Storage) is the only one available.
- The Repository Folder within an SVN repository when this type is selected. This option is not available when the default Versioned Storage (Git-based) repository is used.
- 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 NEXUS client Project Releaser.
Convert an existing project to a Managed Project.
With the properties for the Managed Project defined as required in the Make Available on Server 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 – as indicated by the icons in the Projects panel.
The newly converted Managed Project will subsequently be available in the Projects Management page listing of the NEXUS Server's browser interface.
The converted project is added to the list of centrally-managed projects.
Browsing Managed Projects
Managed Projects are available to browse from the Projects Management page of the NEXUS Server's browser interface, accessed from the Projects option in the main menu. Use the upper and buttons to change the view between its Preview and List modes, respectively.
The Projects Management page of the NEXUS Server's browser interface. Hover over the image to see the alternative List view.
The view's project entries are automatically sorted by Last modified date, with the most recently modified project appearing first in the list. Click the button to change to sorting by project Name, and click again to toggle between ascending and descending order.
The Projects Management view provides Properties and Activities data that relate to the selected project, available in the view's right-hand sidebar pane.
The sidebar pane information includes:
- Properties tab:
- Project – a high-level summary of the project's state, including the 3D view of the board (where a PCB is available for the project).
- Shared With – the users and/or roles who have access to the project. Hover over an entry to see the full name of the user/role.
- Parameters – detailed metadata extracted or computed from the project design itself. Click the Show More control to expand the full list.
- Releases – a list of project releases in chronological order. Click on an entry to open that release in the server's Manufacturing Portal.
- Activity tab – a chronological list of project events, such as a Commit, Release, or a completed process workflow associated with the project.
For each project, the following operations also are provided by the buttons at the top of the view (and detailed in the linked sections that follow):
- Share – access controls with which to configure project access permissions.
- Activities – menu access to the process activities available to the project.
- Functions – menu access to project functions. Also available from the button of a selected project when in Preview mode:
- Open – open the project in its detailed CAD-centric view. Equivalent to clicking (Preview mode) or double-clicking (List mode) on a project name entry.
- Move – relocate the project to another parent folder within the server's folder structure.
- Edit – edit the project in terms of its Name, Description and server Parameters.
- Clone – create a renamed identical copy of the project.
- Watch/UnWatch – follow/unfollow a project's activity by receiving related notifications (updated, released, etc) in the project's Activitiy tab, and also via email if Email Notifications are enabled.
- Delete – remove the project entry by moving its structure and data to the server Trash, where it can be permanently deleted from the server or restored to its previous state.
Working with Server Folders
The NEXUS server also provides the ability to create and manage project folders within the server's structure. Projects may then be created in or moved to any folder in the resulting folder hierarchy.
To create a new folder under the (default) top-level
Project folder, choose the Create Folder option from the button menu. In the following Create Folder window, specify the name of the new folder, its parent folder, and an optional description. A new folder is always created under the currently selected folder, which becomes its parent folder.
Open a created folder by selecting its title, and navigate back up the hierarchy using the breadcrumbs above.
Use the menu options to modify a folder's details (Edit), relocate the folder under a different parent folder (Move), or remove the folder from the server's folder structure (Delete). When moving a folder, select a new parent folder from the hierarchy tree in the Move folder <folder> to window.
Upload a Project
In the Altium NEXUS design client the Make Available on Server command will upload an unmanaged project to the NEXUS server, where it becomes a fully managed project under version control. An equivalent process can be performed within the NEXUS Server from the Upload Project option available from the button menu. Browse to and select a local project's host folder to upload that project to the currently selected server folder by default, or use the Change option in the Upload Project windows's Parent Folder field to select an alternative location in the folder hierarchy.
Any existing version control links in the local project are ignored, and the uploaded project becomes a fully managed, version-controlled, server-based project -- the local source project is not altered in any way.
Move a Project
To relocate a project to a different server folder, select the Move option from the menu drop-down options and select a new location from the folder hierarchy in the Move project <project> to window. When confirmed with the button, the selected project will then be hosted under the newly specified parent folder.
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. A managed project – newly created or converted – is shared, by default, with the following:
- The Owner of the project, which is usually the designer who created it (or made it available on the server): full (Read/Write) access permissions.
- The Administrators role group: full (Read/Write) access permissions.
- All server Users – indicated by the enabled Everyone in the team option which is set to Can View (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, select the project entry on the Projects Management page (Projects on the main menu) and click the button to access the Share:<project> window. This offers all the controls necessary to share the project with other users or groups of users (Roles).
With projects centrally managed in a NEXUS Server, sharing with others is simply a case of managing each project's permissions.
Within the Share <project> window:
- A user/role has Read/Write access when the Can Edit 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 Remove option in the associated drop-down menu.
Things to be aware of:
- By default, all users of the NEXUS Server will be able to see the project. If you want to lock access down to a specific set of users and/or groups, you must first uncheck the Everyone in the team option.
- The Everyone in the team option, which applies to all server users, can be set for read-only or read/write access.
- The owner of a project has permanent Read/Write access.
- The signed in user must have full Write access to a project in order to access and change its permissions. The exception is Administrators, who have full access to project permission settings.
From within Altium NEXUS
Access for a project can be configured directly from within the Altium NEXUS design client by using the Share command. This command can be accessed by:
- Clicking the button in the top margin.
- Selecting Project » Share on the main menu,
- Right clicking on the project name in the Projects panel and choosing the Share option from the context menu.
The Share <ProjectName> dialog will open in which you can configure sharing as required.
Configure access to your Managed Project directly from within the NEXUS design client.
Managed Project Activities
The Altium NEXUS Server offers the unique capability of applying configurable Process Workflows to Managed Projects in order to perform tailored tasks such as performing design reviews and creating new projects. Processes and their underlying Workflows are created and configured by a server administrator, and when enabled, become available to users of both the NEXUS design client and the NEXUS server browser interface.
► See Creating & Managing Processes for more information.
► See Performing Design Reviews for information on these processes in the NEXUS design client.
From a user perspective, Process Workflows and their inherent steps are considered as Activities. Available Activities can be invoked by users, and their workflow steps completed by assigned users as a sequence of tasks – available through the Tasks page.
Select the menu on the Projects Management page (Projects) and choose from the available Processes to initiate an activity for the currently selected project. Complete the required fields and options in the following process form windows, and then start the process (). Depending on the Process Workflow that has been invoked, a following step may need to be submitted () to prepare the data for review.
Workflow Tasks are then created for the user, or users, assigned to the Activity. A task that applies to a signed in user will appear in their Tasks page, where it can be acted upon to progress the Workflow to its next stage.
Note that when an Activity has been assigned to a Role Group –
Engineers for example – a related Task becomes available to all members of that group, and also any individual users that have been assigned to the Activity – here, user
Kylie is a member of the
Engineers role). In such cases any of these users can complete the review step and submit the result ().
Managed Project Functions
Functional operations associated with projects are available from the menu on the Projects Management page, and include the ability to open, edit, clone, watch and remove a managed project. The menu also is available from the button of a selected project entry:
Open a Project
Select the Open option from a project entry's menu or from the upper menu to open a project into its manufacturing orientated CAD-centric view. The view provides access to several sub-views available from the navigation pane:
- Design – navigate and interact with the project's design documents, inspect object properties and place review comments. The view applies to the current (latest) project revision, and uses the Web Viewer interface.
- Supply – Interactively examine work-in-progress (WIP) BOM data extracted from the design documents, including entries for Manufacturer and Supplier parts data derived from a project's populated ActiveBOM document.
- Manufacturing – view and open a specific project Release in the Manufacturing Portal view, which in turn provides sub-views for Fabrication, Assembly and BOM data, and also the ability to download release data into a manufacturing Build Package.
- Activities – view active or closed Process workflow Activities that apply to the current project.
- History – Browse a progressive timeline of major events relating to the project, including its creation, commits, releases, and clones. Each time a supported event happens in association with the project, that event is added to the timeline as a dedicated tile with various actions supported where applicable.
► See Management of a Specific Project for more information.
Edit a Project
To edit the properties of an existing project in the NEXUS Server, select its entry on the Projects Management page (Projects) and then the Edit option from its menu or the upper menu. In the following Project Editing window you can change the project's Name, Description and manage server Parameters entries.
Click the button in the Project Editing window to expose additional property data derived from and stored with the project. Select the Parameters control to access and add (), edit, or remove () parameter Name/Value pairs. These are saved in the server with the project, and may be used as Special Strings in the NEXUS design client – access from the Properties panel with a placed Text String selected in the design workspace.
Clone a Project
To clone (duplicate) an existing managed project, select its entry on the Projects Management page (Projects) and then the Clone option from its menu or the upper menu. Use the Project Cloning window to set the name and description for the cloned project – by default, the original project name will be used with a –
Click the button to expose additional property fields, which include the target parent folder and Repository information. The target folder setting will automatically match the project name unless manually specified, or assigned to a different existing parent folder via the Change option.
Watch a Project
To 'watch' – receive notifications regarding – project in the NEXUS Server, select its entry on the Projects Management page (Projects) and then the Watch option from its menu or the upper menu.
When you follow (watch) a project, you will receive notifications related to the project (such as commit, release and property change messages) under the Activities tab in the interface's right hand pane. The creator of the project will automatically be set to watch that project. When enabled, the command will change to UnWatch – select to stop following the project and cease reception of notifications for events relating to that project.
Delete a Project
To delete (remove) an existing managed project, select its entry on the Projects Management page (Projects) and then the Delete option from its menu or the upper menu. The action is effectively a 'soft delete', where the project repository is moved into the server's Trash area.
From within that view (select Trash from the main menu), the project entry can be completely removed (Permanently Delete) or the action reverted (Restore). Note that the button will remove all entries (where possible) that are stored in the server's Trash.