Not being able to easily access a historical view of a projects' development journey is quite often a pet peeve for designers and product managers. Too often, a designer has to get to grips with external VCS management tools which can require a fair level of expertise to drive them – quite time consuming when wanting to perform basic project management tasks. Even if you are competent with external VCS tools, they only ever deal with certain aspects of the project – VCS-related actions like opening, cloning and reverting. But what about the wider scope of project management, including releases and MCAD exchanges? Also, let's not forget to factor in that most of this would typically require being shackled to the desktop.
Providing an elegant solution to the desire to see such information and interact with it from a single location, the Altium 365 Workspace facilitates the notion of Project History. Accessible through the Workspace's browser interface (a constituent part of the parent Altium 365 Platform Interface) or from within Altium Designer, a dedicated History view provides a progressive timeline of major events relating to the project – its creation, commits, releases, clones and MCAD exchanges – with various actions supported where applicable.
To get the most out of this feature requires your project to be fully managed, by adding the project under the Workspace's own built-in VCS (Git). From the Workspace's browser interface, a new project is always created under this native VCS. From within Altium Designer, this is done using the Version Control option – when creating a new managed project, or making an existing unmanaged project available online (and where that project is not already under external version control). By doing so you will have access to the maximum functionality offered through, and by, the Workspace and the Altium 365 platform.
If your project is under external version control, you can migrate it to be a fully-managed project in the Workspace that hosts the design files in the server's own Git repository (effectively switching to the Workspace's native VCS). Altium Designer's Make Available Online dialog offers a Migrate to <server> Versioned Storage option that enables the VCS migration process in place of simply mirroring the project structure in the Workspace. If the external VCS project is already managed in the Workspace as a mirrored project (Simple Sync), its VCS files can be migrated to the Workspace's native Git repository using the Migrate to Versioned Storage command available from the Project History view, the General tab of the Project Options dialog, and the Projects panel's Version Control right-click context menu. For detailed information on how to do this, see Moving from External VCS to Workspace Native VCS.
This document takes a look at working with the History view for a project through the Web UI. For information on working with the view in Altium Designer (version 20.2 or later) – where it appears as a distinct tabbed document (<ProjectName>.PrjPcb History) – see Viewing the Project History in Altium Designer.
Accessing the Project History
Access to the History view for a project is gained from the detailed management page for that project. Click the History entry in the left-hand pane.
The detailed management page itself is opened by selecting the required project (on the Projects page of the interface), clicking the control above the listing of projects, and choosing the Open entry on the associated menu. Alternatively, double-click directly on the required project entry in the list. The page will open in a new browser tab. For more information see Management of a Specific Project.
Access the history for a project from that project's detailed management page.
For a project in your Workspace that already existed prior to the arrival of the Project History feature, its history will initially not be complete. Re-indexing of the event data for that project will be performed automatically when the History view is first accessed for that project. Notification will appear at the bottom of the view once the re-indexing has completed – click the control to update the timeline with the full historical event data.
History Timeline – Overview
The History view presents a timeline of basic events that have occurred during the project's evolution. It can essentially be broken down into three key sections, as shown in the following image and detailed thereafter.
Identifying the three key components of the History view.
Main trunk of the timeline. The direction of event chronology is from the bottom up. The first event – the creation of the project – will appear at the bottom of the timeline. Subsequent events appear above, with the latest (the most current event) appearing at the top of the timeline.
Events. Each time a supported event (see below) happens in association with the project, that event is added to the timeline as a dedicated tile. Each type of event will have a different colored tile and will either be linked directly to the main trunk of the timeline, or have some additional icon next to it (as is the case for MCAD Exchange events).
Search. Click the control at the top-right of the view to access a search field that facilitates basic searching of the project history. As you type your search string, filtering will be applied to the timeline to present only the events relevant to that search. For more information, see Filtered Searching.
Supported Events
The timeline shows a progression of events that happen during the life of a project. Each of these events appears along the timeline as a dedicated 'event tile'. The following sections take a look at the range of events currently supported and presentable as part of a project's historical timeline.
When a project is created, the Project Created event tile will be added to the timeline. This event marks the beginning of the historical timeline for the project. As such, it can always be found as the entry at the bottom of the timeline. The tile for this event can appear in two distinct variations:
When the project is newly created within the Workspace. The creator of the project is presented by name (and picture), along with the date and time of the project's creation. The description for the project is also displayed within the tile, if one was entered at the time of creation.
When the project is a clone of an existing project. The person who created the cloned project is presented by name (and picture), along with the date and time of the project's creation. The description for the project is also displayed within the tile, if one was entered at the time of cloning. A link is provided to the original project – clicking this will access the detailed management page for that project, which opens on a separate tab of the browser.
The Project Created event tile is physically connected to the main trunk of the timeline with a solid blue connection line and node: .
Project Commit
This type of event is only supported for a project that is fully managed and stored under the Workspace's native VCS (within its Versioned Storage Git repository). For an unmanaged project that has been made available to the Workspace but is not under formal version control – thereby using the Simple Sync methodology – you will not see any VCS-related commit events on the history timeline. To get this information, you can switch the style of online availability by enabling the Version Control option, on the General tab of the Project Options dialog. This brings the project under the Workspace's native VCS.
For a project that has been made available to the Workspace but is already under external version control, you will also not see any VCS-related commit events on the history timeline. Use your external version control client to examine the project's version control history. Alternatively, you can effectively switch to the Workspace's native VCS. Altium Designer's Make Available Online dialog offers a Migrate to <server> Versioned Storage option that enables the VCS migration process in place of simply mirroring the project structure in the Workspace. If the external VCS project is already managed in the Workspace as a mirrored project (Simple Sync), its VCS files can be migrated to the Workspace's native Git repository using the Migrate to Versioned Storage command available from the Project History view, the General tab of the Project Options dialog, and the Projects panel's Version Control right-click context menu. For detailed information on how to do this, see Moving from External VCS to Workspace Native VCS.
Each time you perform a Commit & Push of the project to the Workspace (where the project is managed under the Workspace's internal Versioned Storage Git repository), a Project Committed event tile will be added to the timeline. The person who performed the commit and push is presented by name (and picture), along with the date and time. If a comment was added at the time of the commit and push – through the Commit to Version Control dialog – then that will also be displayed within the tile.
If the project was a local, unmanaged project that was subsequently made available online, then the description that was entered in the Make Available Online dialog will be used in both the Project Created event tile and the initial Project Committed event tile, since the commit and push of the project are performed as part of making the project available online – provided of course that the Version Control option was enabled.
Example initial Project Committed event tile.
The tile also supports and presents design diffing information, showing more detailed information on what has changed between the current and previous commits. Elements supported include files, components, nets, variants, and PCB structure. The diffing section of the tile summarizes the various elements affected by the commit event, grouped by the following states:
– element added.
– element removed.
– element modified.
Clicking on the control in the tile will expand this diffing section to present the affected elements by name.
Use the available Show More and Show Less controls to interrogate the full listing for each element type. Click on the control in the tile to return to the summary display.
Click the control at the tile's top-right corner to access a menu with the following commands:
Clone – use this command to create a clone from that specific revision of the project. The Clone Project window will appear with which to determine the project Name, Description, and the Parent Folder (within the Workspace). Note that the window's banner text reflects from which revision of the project the clone is being created. With the information defined as required, click the button. The project will be created and a Project Cloned event tile will be added to the timeline.
By default, the Parent Folder will be set to that of the original project. Click the Change link at the right of the field to access the server folder structure for the Workspace, from which to select an alternate folder in which to store the cloned project. You can organize projects into a hierarchy of sub-folders should you wish. For more information, see Creating a Hierarchy of Project Folders.
You can make a clone from any specific revision of the active project – directly from the corresponding Project Committed event tile for that revision.
Download Snapshot – use this command to download the project source for that specific revision of the project, in a Zip archive. The name of the Zip file and the PCB project file will include the date and time (in UTC time) at which that revision of the project was committed and pushed to the Workspace.
A Project Committed event tile is physically connected to the main trunk of the timeline with a solid blue connection line and node: . The latest revision of the project (i.e. the last commit) is distinguished by having a white fill for its node: .
Each time you perform a release of the project – using Altium Designer's Project Releaser – a Project Released event tile will be added to the timeline. The person who performed the release is presented by name (and picture), along with the date and time. If a release note was added at the time of releasing the generated data to the Workspace – through the Confirm Release dialog – then that will also be displayed within the tile. Each of the data sets included in the release will also be listed, with indication of lifecycle state.
Lifecycle management is not available with the Standard Subscription Plan. Lifecycle states for the data sets included in the release will therefore not be displayed when connecting to an Altium 365 Workspace with this level of access.
Example Project Released event tile.
Click the control at the tile's top-right corner to access a menu with the following commands:
View – opens a dedicated manufacturing portal (on a separate browser tab) with which to more closely inspect the released data. From this portal you can view and navigate the released file data, inspect the BOM, and view and comment on the snapshot of the design itself; the source for that released data. You'll also have access to controls for downloading manufacturing data at various levels of granularity (from full data set(s) to individual generated output file(s)). A chosen release can also be sent – as a Manufacturing Package – directly to your manufacturer. For more information, see Browsing a Release Package through the Manufacturing Portal.
Accessing the dedicated Manufacturing Portal tab, with which to more closely inspect the release of the project.
Schematic to – allows you to compare the Schematic data in this release against that of another release or commit event. You also can compare schematics between a commit and a release or another commit. Use the sub-menu to compare against the previous release's source data, or select from all possible releases and commits. Once the comparison release/commit has been chosen, the results of the comparison are presented in the Compare view, which opens as a new tab in your default web browser. For more information, see Schematic Comparison.
Comparison of Schematic data between two releases of the design project.
Gerber to – allows you to compare the generated Gerber data for this release against another set of Gerber data. Use the associated sub-menu to compare against the previous release's fabrication data, select from all releases that have been made for the project (the timeline will be filtered to just show Project Released event tiles), or compare with a chosen locally-generated (and uploaded) file set. Once the target of the comparison has been chosen, the results are presented in the Gerber Compare view, which opens in a separate browser tab. For more information, see Gerber Comparison.
Comparison of generated Gerber data between two releases of the design project.
BOM to – allows you to compare the BOM data in this release against that of another release event. Use the associated sub-menu to compare against the previous release's BOM data, or select from all releases that have been made for the project. Once the release target of the comparison has been chosen, a summary of any BOM changes between the releases will be generated in a standard CSV format and then available for download in a ZIP archive. For more information, see BOM Comparison.
Download a comparison of generated BOM data between two releases of the design project.
Download – allows you to choose, through a subsequent window, which of the data sets in the release package to download. With choices made, click the button. A single Zip archive will be downloaded, containing folders for each of the chosen data sets.
Download Snapshot – allows you to download the snapshot of the version of the design that was used to create that release package, as a Zip archive.
As a release of a project is a very significant event, the Project Released event tile is made more prominent – rather than just a 'connected' event, it straddles the timeline as a 'major' event.
Each time you clone the project – either through the Workspace's browser interface, or from within Altium Designer – a Project Cloned event tile will be added to the timeline. The person who performed the clone is presented by name (and picture), along with the date and time. If a description was added at the time of cloning – through the Clone Project window (browser-based) or Clone Project dialog (Altium Designer) – then that will also be displayed within the tile. A link is provided to the cloned project – clicking this will access the detailed management page for that project, which opens on a separate tab of the browser.
Example Project Cloned event tile.
The main Clone commands are available from the Projects page of the Workspace's browser interface, or from within Altium Designer (right-click on the entry for the project in the Projects panel, or click the button at the top-right of the Explorer panel when browsing the project) act on the latest (or Head) revision of the project. From within the History view, you have the ability to clone a specific revision of a project. To do so, locate the Project Committed event tile for the required revision of the project, then click the control at the tile's top-right corner. From the subsequent menu, choose the Clone command.
The Project Cloned event tile is physically connected to the main trunk of the timeline with a dotted green connection line and unfilled node: .
When working between the electronic and mechanical design domains, the Workspace acts as the bridge between the two – facilitating direct ECAD-MCAD codesign. Whenever changes are made to the project's PCB design and those changes are pushed to the Workspace through the relevant CoDesigner panel, an MCAD Changes Suggested event tile will be added to the timeline. The person who performed the push is presented by name (and picture), along with the date and time. If a message was posted at the time of pushing – through the MCAD CoDesigner panel (Altium Designer), or Altium CoDesigner panel (in the supported MCAD software) – then that will also be displayed within the tile.
Only Push events are currently supported.
Example MCAD Changes Suggested event tile.
When the MCAD engineer makes changes to the PCB in their supported MCAD software and pushes those changes to the Workspace, the corresponding push event will automatically be displayed on the project's history timeline. Note that you may need to perform a refresh on the History page for the latest change to be displayed.
Example showing two MCAD-related events. On the left of the timeline's trunk the push event from the ECAD side, while on the right the push event from the MCAD side.
The MCAD Changes Suggested event tile is not physically connected to the main trunk of the timeline. Instead, a directional arrow symbol is used, which points towards the trunk: .
Filtered Search
Click the control at the top-right of the view to access a search field with which to quickly find events of interest along the timeline. The search facility supports basic searching of the project history, with dynamic filtering applied as you type your search string – leaving only the events relevant to that search displayed on the page. The matching text within an event tile is highlighted.
The search facility is not case-sensitive.
Example search of a project's history. The timeline is dynamically filtered as you type your (case insensitive) search term, with matching entries highlighted within each relevant event tile.
A box is provided above the filtered selection that summarizes how many events are currently being shown, along with controls to quickly remove the filter/search string.
The search facility works with the following information:
Event tile title.
Person's name who performed the event.
Descriptive text (the text sourced from a comment/note/description when the relevant event occurred).
Diffing data text – in a Project Committed event tile.
Data set name – in a Project Released event tile.
Project name – in a Project Cloned event tile and Project Created event tile (when created through cloning).
To clear the current filtering and return to the full timeline, clear the search field – either by selecting the current text and pressing the Backspace key, or by clicking the control at the far right of the field. Alternatively, click on the Clear Filter control in the box summarizing how many events are being shown (at the top of the view).
Updating with New Events
Whenever a supported event happens in relation to the project, that event will be detected and made available to the History view automatically. Notification will appear at the bottom of the view shortly after the event takes place – click the control to update the timeline with the new event.
A manual refresh is also provided, performed by clicking the control at the top-right of the view.