Electronic – What’s the typical way to manage components for a team in Altium? Component libraries in a vault? SVN Database? Other

altiumcomponent-selectioncomponents

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?

Best Answer

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.