17
\$\begingroup\$

I'm going through the process of starting a bunch of new design work in Altium at the moment at my company, and am trying to decide whether it's worth going through the effort of setting up the Altium Vault infrastructure, vs. just using traditional version control. Here are the pro's and con's as I see them:

Pros:

  • Very good design release and versioning process.
  • Easy way to create validated, trusted, versioned components.
  • Allows for concept of "items" and design reuse of validated blocks larger than the component level.
  • Makes it easy to share design data with vendors and verify that they're looking at the correct version of design data.

Cons:

  • Makes it very difficult for the individual designer to quickly make changes to schematic symbols and footprints for components, without going through vault release process.
  • Process to release components and "items" into the vaults is very complex and time-consuming.

In my brief research, it seems like it would take a full-time Altium librarian to keep the wheels greased on a vault and keep the release process of components and designs flowing smoothly. Do any of you out there have any thoughts and experience on the issue? Are there any other small companies or design teams (5-10 engineers working with Altium across design, manufacturing, procurement, etc.) who have found Vaults worth implementing?

\$\endgroup\$
22
\$\begingroup\$

I had to decide something similar years ago.

At that time, Altium were selling their Vault solution which can have several different configurations:

  • The Vault is in the Cloud: No internet access = no file access. If you don't continue with Altium and stop to pay the yearly subscription you don't have access to your data anymore. NOT ACCEPTABLE
  • The Vault is on a server in your company. The content is encrypted. In order to access the data, you have to identify yourself to the Altium web services which unlock the access to your own server. Drawback: If you don't continue with Altium and stop to pay the yearly subscription you don't have access to your own server data anymore. No internet access = no data access! NOT ACCEPTABLE
  • The Vault and the identification server are on a server in your company: your are 100% independent. That's good. This option was advertised, but during years Altium said that it's not available yet, or under test, but "soon" you will be able to have that.

Our conclusion was: If you want to be free, to be the only master of your data access, either you use the Vault on a custom server and you control everything, or you stick with SVN and forget all their stuff such as "unified design", "release management", etc...

If things have changed in between, feel free to update my answer with the latest conditions from Altium.

EDIT:

Things have changed in between!

  • None of the new options require internet access to use your Vault.
  • The data is never encrypted thus it is always possible to recover the data.
  • The license for the Vault is now perpetual and it is still working even in the case of stopping the "subscription program"
  • The authentication is not based on an Altium web server anymore.
  • The data is always stored inside your company and under your full control.
  • The release process in not fixed anymore and supports a lot of customization.
  • SVN or any version control system is used for the version control of your day to day work. The vault is only there to store your components and the released work.

Now there are two options:

  • The personal Vault solution: only one user, data is stored locally (in a local Vault), reduced functionality. But no additional licences are required.
  • The vault server. Several users, data is stored in the Vault server, all the functionalities.

In one word: It seems that they have heard the response of the market and fixed the major issues.

\$\endgroup\$
  • 4
    \$\begingroup\$ Fully agree. We've discussed that internally as well and came to about the same conclusions. Also, there are some "limitations" in the Vault system and what's more: if the Vault system doesn't match your company processes you are stuck, you cannot bend it the way you want to. So the conclusion was: We stick with GIT (SVN would have integrated nicer but it was a wish from our IT dept. and we can easily live with it. (Also a plus: You can easily take all the revisions with you on a laptop or similar). \$\endgroup\$ – Tom L. Oct 16 '13 at 7:08
  • \$\begingroup\$ I was going through altium stuff, and I realise the butt reference in my previous comment was because I had forgotten I had one of the many "Cloud to Butt" plugins installed. It's a great way to inject some reality into the cloud hype. \$\endgroup\$ – Connor Wolf Sep 19 '14 at 6:03
  • \$\begingroup\$ I work for Fujifilm and we do a lot of Altium design work. We have not purchased the Vault license, we just use our network drives to access files from different computers. The only downside is when two engineers are working on the same design at the same time, but when one saves it simply asks the other if they would like to reload. Using an external SVN client could certainly improve things. We reached the conclusion that having access to the vault really isn't necessary, and we are a fairly large company. \$\endgroup\$ – DerStrom8 Oct 9 '15 at 13:45
  • \$\begingroup\$ A third option by Ciiva's SmartParts Management, which offers a cloud hosted Altium Vault. Ciiva is an Altium Brand. \$\endgroup\$ – adetelec Apr 8 '16 at 23:35
3
\$\begingroup\$

I haven't used Altium Vault, but I have used a similar system for mechanical CAD. While it may not answer your question directly, the story may still have some relevance.

As a version control system, it was clunky because of its lock-modify-unlock way of doing things. Branching and merging weren't really part of the system either. Sure, those sorts of operations are a mess on CAD models, but why use a crippled VCS just because it's full of blobs?

As a product data / life cycle management system, it just got in the way because it wasn't our primary system. Mechanical used its system, electrical and software used other version control systems, and the official database of documents was yet another system. It was easy to get the release state of objects in the various systems out of sync. Even our full-time change management people routinely got snagged on the sharp corners of manually synchronizing data between 3 incompatible systems.

The systems were no help at all when exchanging unreleased developmental data with suppliers or even between our own electrical and mechanical engineers. "Versioning" meant "the attachment in the email dated blah". Hardly an ideal situation when getting the interfaces right between subsystems is already one of the biggest problems.

The open source (hardware) world got it right. CAD models go in version control, because you want to track versions. Version control works on files and doesn't care what program you use to edit. Release management is a separate process which makes use of the data in version control, but doesn't take it over completely.

There is nothing on your pros list that comes automatically with something like Altium Vault, and nothing that you can't do with a vanilla VCS and some business process rules that you need anyways. Take a look at how some major open source projects (Linux kernel, Mozilla) manage releases to get an idea for both what can be done without those integrated systems, and for how myopic a view of release engineering those integrated systems really have.

\$\endgroup\$
0
\$\begingroup\$

Small companies with 5 or less engineers do not need a vault. A spread sheet based library can easily meet their needs without any of the drawbacks. I specialize in taking companies out of their vault and "promote" them to a databased system. They then can spend their time designing instead of playing Altium make-work games.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.