Summary:
This video demonstrates the version control system in Altium 365. In this system, projects are available in the web interface in folders. Sharing rights are set up per folder or per project, and can be set by editor, or by viewer. A new project template is created in Altium Designer and saved to the Altium 365 Workspace, and the Altium 365 version control system is enabled to view the project history.
In Altium Designer, the project is created locally on the C Drive for quick access, and it is saved to Altium 365. A schematic is opened and two parts are placed with an annotation and saved to the server. The project history in the version control is opened, and the history of the project is discussed. A tag is created, and a comparison of the tag to a previous commit is made. Other options in the history are discussed as well, including reverting to a previous version. Likewise, a where used for components feature is demonstrated to trace parts across a project, and the process to prevent users from making duplicate conflicting changes is also shown. These history changes are also available on the web on Altium 365.
Next, the process to create a personal version control server via a template on an SVN server is demonstrated. The project is committed to the SVN locally and moved into Altium 365 to utilize the web viewer and Altium 365 capabilities. However, this disables web viewer history visibility. Finally, the local version control system is migrated to the Altium 365 git version control to once again view the full project history.
Transcript:
00:00:00:00 - 00:00:21:13
Altium 365 allows you to store, organize and manage your electronic design project data. These files need to be stored somewhere, and ideally in such a way that they are easy to find and identify and that you know who has access, who can edit, and it's clear what happened to them, what is changed and for what reason. Ideally, you don't want to go through any complex configuration set up.
00:00:21:13 - 00:00:44:07
And it should be easy to use. In Altium 365, we can see the projects in our web interface under projects. We can organize them in folders and per folder we could set sharing rights or per project we can set sharing rights to control who can edit and who can view them. So let's have a look at how the version control system works from Altium Designer side.
00:00:44:08 - 00:01:11:14
When I'm in Altium Designer, I'm connected to the same workspace. I can create a new project, and I can create a project in the Altium 365 Workspace. I can use a project template. I can give the project a name, and I will utilize the version control system that's built in in Altium 365. And this gives me maximum capabilities with the history and the view of history.
00:01:12:00 - 00:01:36:01
So the project is created on my local hard drive. So just on my C Drive project was created and the files are local to my machine, so Altium Designer has quick access to them and can work in a quick way. That makes Altium Designer snappy and work fast, and it puts, it links to a git repository that's linked with Altium 365 for the version control capabilities.
00:01:36:03 - 00:02:06:02
So you don't want this to be a shared networked drive, or any slow drive because you need a quick access to these files. And there's no need to share these files because you can link them with the version control system. So let's save this first version to the server. Call this initial, okay, and open the schematic, and place a part.
00:02:06:03 - 00:02:11:14
All right. Let's do a quick annotation.
00:02:12:00 - 00:02:39:11
And save my changes to the server. Say, what did I do, I added a chip, I could leave a command. I don't have to, of course, and I could add another part. Say I want a resistor. A very large one, and I'm going to wire it up. All right, and let's save this to the server to build a quick history.
00:02:39:12 - 00:03:01:14
How we can use that and a history of version control. I can use Show Project History and it shows me this project tree. I can see that the project started three minutes ago and there was a commit with these files. Then a minute ago, one component was added to one and a minute ago a resistor was added and a net was added.
00:03:02:00 - 00:03:24:12
Well, what can we do with this? We can say, we can create text saying, oh, this is perfection, right? Or we could say this is my proto build. Or you can kind of label items in the history saying, this is this version and this was approved, test it. We have other capabilities too. We can also do a comparison if I'm wondering.
00:03:24:12 - 00:03:49:13
Hey, what has exactly changed here? I can compare the schematics to the previous commit. All right. And the comparison engine, it jumps to the web interface and I can say oh this resistor was added and this net was added from perfection to this commit. All right. So let's have a look at the other options that we got right from the history.
00:03:49:13 - 00:04:13:04
We could compare the PCB, compare the Bill of Materials. Or we could refer to say, oh, this resistor was added. It was an error, we could take it as an error. I can just revert the version to this other one, and we're back at our former version. One other feature that this offers is where used for components.
00:04:13:05 - 00:04:38:08
So when I'm in the, amplifier category, looking at my chip, I could check the where used and I can see, hey, this chip that I just placed, it's used in the PCB project. So this is a Pro Functionality for the where used. The other Pro Functionality would be in the project options, where I can say I want conflict prevention notification.
00:04:38:08 - 00:04:59:13
So when I'm working with my team and I'm here looking at the schematic and another user decides to open a schematic, hey, I can see this notification from this other guy. He's making an edit, and I can see the other guy made an edit, and we should kind of work out. Hey, you're looking at it. I'm looking at it.
00:04:59:13 - 00:05:14:13
We're both changing the same file, which could lead to changes that we need to merge. It would be more convenient if I do my changes first. You do your changes later. So let's revert.
00:05:14:14 - 00:05:43:09
All right, so all these changes are also visible in the web. The project was created in the web. I can open it, I can see the latest version of the schematic. I didn't commit my revert action, and we have the history also available over here where you can see perfection, the last commit. And I can decide to view the latest version, download the sources, and have the same options available here.
00:05:43:13 - 00:06:02:07
So I could even look at an older version of the schematics on the PCB, add a bit of material without making any changes. This is the version of the project that I opened.
00:06:02:08 - 00:06:26:04
So all these capabilities, they require you to put your projects in the Altium 365 Version Control System, which means that the whole project history is on the Altium server on Altium 365. You do, of course, have your local copy. Your projects are where you opened them and all the history is contained in this git folder. You can also choose to use your own version control system.
00:06:26:05 - 00:06:34:12
So if I create a new project I could use my own version control, create a template, call it.
00:06:34:13 - 00:07:04:08
Local version control project and put it in my SVN Server that's created. And now I have my own version control server in my own infrastructure. I can commit this project to SVN. All local and even this project can be moved into Altium 365 to enable the web viewer, and the other Altium 365 capabilities. So let's make the project available online.
00:07:04:09 - 00:07:11:05
Local VCS will be the name.
00:07:11:06 - 00:07:38:09
All right, let's store it, and it was moved to Altium 365, and it allows me to open the project in the web viewer. Right, get web view capabilities, and I’ve got history version control, show project history. This is not available, right, because Altium 365 cannot look into my local version control system, and also if I want to share this project with other people, right.
00:07:38:09 - 00:07:58:00
I can set the sharing, for the project itself, for the web viewer: who can view, who can edit; but the access to the local version control system has to be managed by yourself. Right, and that version control system, and at any point in time when I decide, okay, this is not convenient, right.
00:07:58:00 - 00:08:10:08
To have it in the external version control, I can migrate it to Altium 365 version control system.
00:08:10:10 - 00:08:25:05
And this would convert the whole history from my old SVN System into the Altium 365 git version control and allow me to have full project history.
00:08:25:07 - 00:08:47:05
All right, the last option that you could have, right, you could also do a local project without version control, put it in Altium 365, but then Altium 365 is just a web viewer and not a tool for collaboration. The other thing you could do, say I don't want my project data in Altium 365. I just want local projects and only use Altium 365 as a component library.
00:08:47:05 - 00:09:01:12
That would be the last option. All right, I hope I gave some insights in Altium 365 and how the version control system works and wish you a nice day. Bye.