6
\$\begingroup\$

I'm an EE for a growing company, and I'm looking for what's typical to manage components across multiple designs. When I say growing, I mean that there used to be one EE, as of last year I got added on, and we're looking to seriously expand the team.

Previously/ currently, we had an integrated library that was managed like any other file in SVN. Searching through similar questions, integrated libraries is essentially where the discussion stops. Even with two people it's not a real solution to just use an intlib, but it worked for a relatively small number of designs. We've had issues where a component needs to change across multiple designs, and using a single integrated library for multiple people is a really crappy way to manage these issues. For instance, I want to be able to update a component, and every person and every design using that component can pull the new parameters automatically.

When looking for a better way, it looks like Altium either points you to an SVN-based component library (https://techdocs.altium.com/display/ADOH/Working+with+Version-Controlled+Database+Libraries) or a vault-based library (https://techdocs.altium.com/display/DMAN/Component+Management). Naturally, the documentation online would leave you to believe using a Vault is the holy grail of component management - but I have concerns if people are working without VPN access, etc. Which route does your company use and is it ideal?

\$\endgroup\$
  • \$\begingroup\$ Does the "Version Control" solution ONLY work with SVN or would it support git,hg etc? \$\endgroup\$ – Brian Drummond Mar 8 '16 at 20:37
  • \$\begingroup\$ As far as I know, Altium has only SVN integrated :-( \$\endgroup\$ – Botnic Mar 8 '16 at 21:16
  • \$\begingroup\$ Yup, Altium exclusively refers to Subversion... but its subversion support is fantastic! \$\endgroup\$ – Drewster Mar 8 '16 at 21:58
  • \$\begingroup\$ We used integrated libraries and kept them in subversion. If you need to change the library, you must follow these steps: update, lock, modify, commit/release. The lock basically serves as a mutex. If everyone follows this process, nobody will have the sad experience of trying to commit and finding out that someone else committed changes while you were making yours. Occasionally people forget to release locks. You can pester them, or just break the lock if you are sure it is not a problem. Worked well enough. We did not use the built-in client. We used tortoiseSVN. \$\endgroup\$ – mkeith Mar 9 '16 at 7:28
  • \$\begingroup\$ Regarding of your concern "but I have concerns if people are working without VPN access, etc", actually there is a cloud hosting Vault service offered by Ciiva SmartParts Management. So you don't have to host your Vault server within your company's VPN. \$\endgroup\$ – adetelec Apr 8 '16 at 23:54
1
\$\begingroup\$

I've used SVN controlled libraries in Altium before. We had a separate library for each type of part (e.g. resistors, capacitors, optoelectronics, etc). The system worked pretty well, but we did run into issues when two people were trying to edit the same library concurrently. We explored changing to a database system (Altium also allows for database libraries). If you use an MS Access for the database (in the form of a .mdb file) then you can directly edit the database inside Altium, but if you use anything else you'll have to have some external method for managing the entries in the database.

\$\endgroup\$
  • \$\begingroup\$ This is what we did, too. A separate integrated library for each part type, and the library was kept in subversion. I used tortoiseSVN rather than the built-in client. We followed a process of update/lock/modify/commit. Tortoise SVN automatically releases the lock on commit. If you can't get the lock, you can check who has it and remind them to release it. This saves you from manually merging your changes with someone else's. \$\endgroup\$ – mkeith Mar 9 '16 at 7:22

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.