Projects

 

The Projects button opens the Projects panel, which displays all projects that are currently open along with their constituent documents. The command can be accessed from any editor by choosing View | System | Projects.

Projects or documents opened from the File menu or generated during the design process are accessible in the panel.

Project Documents Tree

When you open an existing project or create a new one, its entry will appear in the panel. Any existing documents that are part of a project (and any new ones that have been added) will appear under sub-folders according to their purpose and/or type. For example, the following common folders and content document types can appear under a project:

  • Source Documents – core design documents such as schematics, PCBs, etc.
  • Settings – provides various files used within the project, such as Harness Definitions Files.
  • Documentation – additional documents that have been added to the project (e.g., text, PDF, etc.).
  • Other Documents – additional documents that have been added to the project. These can be opened by CircuitMaker if the application is known by Windows (e.g., Word documents, Excel spreadsheets, etc.).
  • Generated – documents generated as output, such as ERC and DRC reports.
  • Components – lists each component grouped by the first letter in the designator and the number of components whose designator starts with that letter in the project. Validate the project if this folder does not appear.
  • Nets – lists each net used in the project. Validate the project if this folder does not appear.

Along with allowing multiple documents to be open for editing, multiple projects can be open at the same time. These could be related or unrelated projects.

Documents in the Projects panel are automatically arranged in logical groups or 'folders', such as Source Documents and Settings documents. The documents within each folder group are displayed by default in the order they were added but can be dragged and dropped to a new order position within the group.

In the case of a new hierarchical design, the parent-child relationship between documents will be displayed in the panel. Note that the connectivity relationships cannot be defined by dragging and dropping schematic documents since the inter-sheet connections and design hierarchy are in fact defined by sheet symbols and port definitions.

The project document sub-folders, whether expanded or closed, share right-click menu commands that allow you to open, close, remove, and refresh documents.

Direct Editing of Components

When a community component is being edited in the Projects panel, it will be listed under the My Personal Space entry. Right-click on the component to access the following options.

  • Save to Server – releases the current component being edited and store it as the next revision of that component. This closes the temporary editor and destroys the temporary file.
  • Discard Local Changes – cancel the direct editing of the component and discard any local changes made. This closes the editor and destroys the temporary file without releasing any changes made since the original editing session was launched.

Working with Projects in the Panel

Projects are listed in the Projects panel the My Personal Space entry with the   next to it.

Opening a Shared Project

A project shared with a CircuitMaker user is accessed from the Shared With Me location option in the Open Project dialog. Such a project can be saved and committed back if editing rights have been granted for it. To open the project the Web Viewer, select the Show in Web Browser option from the project entry's right-click context menu in the Projects panel.

Active Versus Focused

In the panel's main tree, the active project is highlighted using the Windows Active Title Bar color for your system. When there are no documents open in the design space, a project is made active by selecting it from a list of all currently open (loaded) projects in the panel. As soon as a project document is opened (in an editor/viewer), the parent project of that document automatically becomes the active project.

The active document in the design space will also be highlighted in the panel and accompanied by the file open icon as shown below.

With no project documents open in the design space, opening an additional project will automatically make it the active project in the panel.

With numerous documents open in the design space, changing the active document using the editor's document tabs will cause the Projects panel to update accordingly to reflect both the active document and the active project (if the document made active does not reside in the same project as the previously active document). Conversely, clicking on the entry for a document that is already open (and which belongs to a non-active project) will make the parent project of that document the active project.

Only one project and document may be active at any given time, however, the panel allows you to focus and perform actions on any project or document. Right-clicking on the entry for a non-active project or a non-active document will bring up an associated menu with commands targeting the focused project or focused document. See the Right-click Menus section below.

In the case of focusing a document, the document will only become focused if it is closed, otherwise, it will become the active document and its parent project will become the active project. For example, in the image below the active project is GSM Logger.PrjPcb, the active document is [7] MG323-B.SchDoc and the focused document is [4] 2x16 LCD Module.SchDoc (distinguished in the panel by a blue outline box).

A project document can be removed from a project.

Save to Server

When a file that belongs to a project has been modified and saved locally, you can save that file to the Personal Space from the Projects panel. Save the selected files by right-clicking on a project and selecting Save to Server or by selecting the Save to Server link next to the project file (.PrjPcb).

Clicking the link and selecting the command opens the Save to Server dialog in which you can select the documents to be saved. After clicking OK, the documents are saved to the Personal Space and the Save to Server link disappears from the Projects panel.

Document Display Icons

Document entries in the panel are accompanied by document icons that indicate their open/modified status. This provides a quick visual summary of which documents are modified or saved.

The document icons and meanings are listed below.

Open/Modified Status Icons

[blank] The document is closed.
Open – The document is open as a tabbed document in the design editor window.
Open/Modified – The document is open and has been modified but has not been saved.
A modified document or project that has not been saved is also distinguished by an asterisk next to its entry in the panel. Modified documents also have an asterisk inside their tab in the design space.

Version Control Status Icons

No modification The local copy of the file matches the file in the Personal Space and is up to date.
Scheduled for Addition A file has been added to version control but not yet saved to the Personal Space.
Modified The local copy of the file has been modified and saved to the local cache.
Out of date The local copy of the file (in the local cache) is older than its counterpart in the Personal Space and is therefore out of date. Use the Update Project command to retrieve the latest file from the Personal Space.
Modified and locked by someone else (a conflict) The same file has been saved to the Personal Space by someone else before your attempt to save your modified version of this file to the Personal Space.
Scheduled for Deletion The file has been locally deleted from the project, and will be removed from the Personal Space during the project save to the Personal Space process.
* Only appears in the Save to Server dialog.

See the sections below for more information on version control functionality and how different project file situations are reflected in the Projects panel.

Project File Management

The essential concept to keep in mind when working with CircuitMaker is how the centralized version control system continuously monitors the relative difference between the local cached project files and their counterparts in the Personal Space.

In response to information exchanged with the version control system, CircuitMaker will take appropriate action and change its available options based on these differences. From a practical user’s perspective, this manifests itself in CircuitMaker through a range of alerts and Projects panel file icons, and changes in the available file management commands.

The Projects panel showing a schematic that has been modified and a schematic that has been newly added to the project.
The Projects panel showing a schematic that has been modified and a schematic that has been newly added to the project.

The version control functionality and its responses can be summarized through the following project file situations.

A project is opened:

  • The project files are checked out of the Personal Space and opened in CircuitMaker, thereby populating the local cache.
  • Since the cache and Personal Space files match, the Projects panel shows all files as Not modified – the icon.

A project is re-opened:

  • The project files already exist in the cache, and are opened by CircuitMaker.
  • The version control system checks if those files match their counterparts in the Personal Space:
    • if a file in the cache matches its equivalent in the Personal Space, it is flagged as Not modified – the icon.
    • if a file in the cache is newer than the file in the Personal Space, it is flagged as Modified – the icon.
    • if a file in the cache is older than the Personal Space version, the project flagged as Out of date – the icon.

A file is edited and saved:

  • The local cache is updated with the edited version of the file when it is saved.
  • Since the cache file is now a newer version than its Personal Space equivalent, it is marked as Modified – the  icon.

A new file is added to the project:

  • When the new file is saved, it is added to the local cache.
  • The version control notes that the file is not present in the Personal Space, and marks the file as Scheduled for addition – the  icon.

A project is saved to Personal Space:

  • The locally cached project and files are added to the Personal Space as a new version of the project.
    • Differences between the local version of the project (in the cache) and the previous Personal Space version of the project will be resolved in the new version, through file updates and additions.
  • The local and Personal Space file versions are now synchronized (they match) and marked as Not modified – the  icon.
Hover the mouse cursor over a version control icon to see its meaning.

Collaborative Design Management

When multiple CircuitMaker designers are working on a single project in collaboration, the interaction between each user's version of the project and its source version in the Personal Space becomes a little more complex. Fortunately, the automated version control and its relationship with CircuitMaker makes these potentially calamitous design interactions run smoothly, without the need for manual intervention.

When working collaboratively with other CircuitMaker designers, the version control functionality and its responses can be summarized through the following project file situations, in addition to the ones outlined above:

Another user has updated the project:

  • The project in the Personal Space has been edited and saved back to the Personal Space by another user. The Personal Space version is newer than your local version in the cache.
  • Your local version of the project will be marked as Out of date – the  icon. If you attempt to save the project to the Personal Space, you will be asked to update the project instead.
  • Use the Update command to change your local version of the project to the new version in the Personal Space, or to keep the version held in the local cache. Right-click on the project name and select Update Project from the context menu, or select Home | Project » Update Project.
    • The Update command opens the Merge Project dialog, which offers the choice of retaining the local project version (Keep working copy version), or adopting the version in the Personal Space (Keep revision version) – choose the appropriate option from the dialog’s User Action drop-down menu, or select the option from the Apply for all menu so that it applies to all file entries.
    Updating the project by retaining your local version will change it to a Modified status, because while now up to date, it still does not match the version in the Personal Space. The project can then be saved to the Personal Space to synchronize the Personal Space version with yours, however the other user’s local version will now be out of date.

When your local version of the project is older than the version in the Personal Space, it can be updated to match using the Merge project dialog.
When your local version of the project is older than the version in the Personal Space, it can be updated to match using the Merge project dialog.

Another user has edited, but not saved to the Personal Space, the project:

  • The project has been edited and saved locally by another user, but that user has not saved the changed project back in to the Personal Space.
  • This project state is a pending file conflict situation, since an uncommitted edit exists between users. The situation is detected by the centralized version control, which causes CircuitMaker on your machine to flag the project file(s) as Modified and locked by someone else – the  icon.
  • In this situation you are not able to save or update the project – it has been 'locked' by the version control. When the other user does save the changes to the Personal Space, thereby creating a new version, you can update to that version. This is indicated by the associated project icon subsequently changing to Out of date – the  icon. Select the Update Project command, and choose the Personal Space revision option in the Merge Project dialog.

Here, the local view shows that the schematic has been edited and saved by another CircuitMaker user, but the user has not yet saved it to the Personal Space.
Here, the local view shows that the schematic has been edited and saved by another CircuitMaker user, but the user has not yet saved it to the Personal Space.

Notes:

  • When updating, if you choose the option to keep the local version of the changed file(s), rather than adopting the new version in the Personal Space, the user-to-user situation will be reversed. In other words, since you now have a modified file (relative to the version in the Personal Space) that has not been saved to the Personal Space, the other user’s version of the file will be marked as Modified and locked by someone else – .
  • Rather than updating the project, if you choose to open a file of contention (marked as ), a dialog will open to warn that the file has been modified by another user. You will be warned of the conflict again if you then attempt to edit and save that file. If you continue, the file will then change to a Modified and locked status for the other user – they will also see the  icon.
  • In this case, neither user’s version of the file has been saved to the Personal Space, or corresponds to the version in the Personal Space. Whoever saved their version to the Personal Space first will dominate, forcing the other user(s) to update to the new version in the Personal Space or continue editing to create and save their own new version to the Personal Space.

Hover the mouse cursor over the project name, files and icons to see the status and any instruction hints.

Right-click Menus

Project File

Right-clicking on a project file in the panel provides access to additional options and commands. The commands available and required are dependent upon the child documents that have been added to the project.

Right-click selections include:

  • Validate PCB Project – the validation process detects electrical and drafting violations and is integral to producing a valid netlist for a project.
  • Add New to Project – add a new, blank Schematic or PCB document to the current project.
  • Add Existing to Project – add an existing, locally stored Schematic or PCB document to the current project. Other file types (text, etc.,) are also supported.
  • Update Project – enabled when the local version of the project does not match that in the Personal Space. Provides the choice of retrieving the Personal Space version of the project or retaining the local version. Learn more.
  • Save Project to Server – opens the Save to Server dialog, from where you can save files modified and saved locally.
  • Revert Project – opens the Revert project dialog with which you can revert the current project document back to a selected revision. Select a revision in the Revision list at the top of the dialog. The list of modified files for the selected revision will be shown in the Modified file list at the bottom of the dialog.

  • Save – save the current project document to the local design cache. Locally saved documents (if available) are retrieved from the cache when the project is reopened.
  • Clone – use to open the Clone Project dialog, which you can use to copy a project. By default, the original project name will be used with the suffix '- Copy'.
  • Close Project Documents – used to close all currently open documents associated with the focused project.
  • Close Project – closes the project and any active project documents. If the project contains a document that has been modified but not saved locally, you will receive a prompt to save it. If the project contains at least two documents that have been modified, the Confirm Save Locally for Modified Documents dialog will open. Use the drop-down in the Decision column to choose specific documents to save or use the Save All / Save None buttons at the bottom-left of the dialog to select an action for all listed documents.

  • Generate Outputs – use to generate outputs of the project and to release the project to the Personal Space.
  • Variants – opens the Variants Management dialog in which you can define variations of the base design.
  • Show in Web Browser – use to open the project in Altium 365's Web Viewer in your default web browser.
  • Share – use to open the Share dialog, which allows you to share your design projects with a specific user by email.
  • Project Options – opens the Project Options dialog for this project in which you can set configurations for error and differences warnings, ECO generation, file paths, etc., that override the installation defaults.

Document File

Right-clicking on a document file in the panel provides access to additional options and commands.

Right-click selections include:

  • Close – a closed document will no longer be open in the design editor. If the document has been modified but not saved locally, you will receive a prompt to save it.
  • Save – save the document locally.
  • Rename – rename the document.
  • Delete – use to exclude the document from the parent project.
  • Revert – opens the Revert project dialog with which you can revert the current project document back to a selected revision. Select a revision in the Revision list.

  • Page Setup / Print Preview / Print – manage document printing. See Print for more information.
  • Show Differences – detect and resolve the inconsistencies in the design structure or the difference between two design files. See Show Differences for more information.

Notes

  • Documents can be transferred between projects in the panel by clicking and dragging. The document does not have to be dragged into the correct sub-folder. It will be placed correctly within the project structure automatically.
  • The keyboard shortcuts Up Arrow, Home, End, and Down Arrow can be used to display the previous, first, last, and next entry in the panel. Use the Right Arrow and Left Arrow keys to expand and collapse a top-level entry or its sub-folder respectively.
Content