Tribal Altium Knowledge

Revision as of 20:54, 3 May 2022 by Flynnd (talk | contribs)

This page is for documenting strange recurring issues in Altium for the benefit of SSI and greater humankind.

Inability to Install .dblibs (or, How I Learned to Stop Worrying and Love the 2007 Office System Driver)

Many SSI users of Altium cannot install database libraries (used for resistors and capacitors) by default. Installing this driver typically resolves the issue. More documentation here. Make sure to get the 64-bit version if using Altium 18.0 or later. You may need to uninstall and then reinstall the dblibs after installing the driver before they work.

Migrating from SVN pre-October 2017 to post-October 2017

What's new?

  • The SVN is now served from Tabitha, a server in ES3.
  • All login credentials are now automatically produced on Tabitha and distributed to SSI SVN users via Slack.
  • You will only need to enter your password once.
  • The SVN repository formerly stored as a single large repository is now a larger number of independent repositories listed here.

How do I move?

 
Your root folder will look like this inside

Get credentials

A large number of people were automatically given SVN credentials. If you did not, message  @altium-admin  in  #altium  requesting them. You will need to enter your username and very long and complicated password the first time you try to download an SVN but it will then be saved on your computer. Thanks to HTTPS/SSL, your password is never transmitted or stored in plain form, including when its checked on the server or in Slack (which is encrypted).

 
Make sure you're right clicking on the folder you just created.

If you already have the Altium SVN on your computer

  1. If you have Altium open on your computer, close it.
  2. Find the root folder of your Altium SVN repo (see right).
  3. Take note of the root folder's name, and then rename that folder to something else (i.e. add "-backup" to the name).
  4. Create a new folder with the same name as the old root folder you just renamed. We will refer to this new folder as altium-core, the name of the repository you'll be syncing into it.
  5. Right click on altium-core and SVN Checkout... (see right) the new Altium repository, with the URL at   altium-core.
  6. Hit OK on the window that comes up and wait while the repository downloads. This should take a minute or less. Report unusually long download times to  #altium .
  7. When complete, open Altium, and recompile the SSI Altium Library.
  8. Verify that your capacitor and resistor database libraries are still installed, and reinstall them if necessary

You've successfully ported to the new Altium SVN! You can now also sync board files as described below.

If you did not have the Altium SVN on your computer

 
Don't do this
 
Do this instead

You don't actually need to do anything. Follow the instructions in the installation guide normally. They have been updated to reflect the change in SVN hosting.

Syncing board files

Board files (and other SVN-controlled files) are no longer stored in the same repository as the core Altium libraries, dramatically improving repository size. To sync a new repository, find its URL here, create a new folder on your computer, and right click --> SVN Checkout... the new folder and copy in the relevant URL. DO NOT make the new folder inside of your altium-core folder, and, generally, do not put any SVN repository inside any other (see right).

You can sync any number of individual repositories onto your computer by checking them out as described in the above paragraph. Each repository needs its own folder. For organization, you're encouraged to make a new ssi-svn folder next to your altium-core folder, and then to make a subfolder in ssi-svn for each new repository. This is shown below.


Recommended Directory Structure:


somewhere easy to access (Desktop, Documents, etc)
--> altium-core
    --> libraries
    --> README
--> ssi-svn
    --> satellites-altium
        --> project files
    --> balloons-altium
        --> project files
    ...

Why did this migration happen at all?

Assembla's sponsorship was nominally agreed to for 1 year, which has elapsed. While we still enjoy the benefits of sponsorship, they could be revoked at any time. In addition our sponsored plan only supports 100 users and we very immediately need more - while this could be addressed by purging currently inactive users, that's surprisingly labor intensive and would become an ongoing maintenance task. We're also in talks with others about sharing the Altium libraries around Stanford, which means granting a lot more users SVN access or otherwise needing more control over the repository than Assembla allows.

If you're reading the above and thinking "well, this sounds like it's still probably solvable within Assembla," you're not entirely wrong. However there was some negotiation involved when we first approached them and if they refused to expand the scope of our sponsorship and/or revoked it we would be stuck without an SVN hosting solution, as the service is prohibitively expensive. SVN hosting online is an underserved market (and Assembla is the market leader, and as such can price assertively), meaning that there are not good alternatives online. Hosting an SVN ourself is relatively easy (initial setup actually took about 20 minutes), replaces a service that is not truly commoditized, and offers opportunities for growth not available with Assembla.

Tabitha has also been measured as running at 10-20x faster than Assembla, possibly due to being on a gigabit ethernet network on campus.

The breakup of the SVN repository is intended to declutter and save disk space on people's computers. While as-is SVN and TortoiseSVN support selectively syncing specific parts of a repository, the procedure for doing so involves a significant amount of poking around in menus. Altium workshops were a strong motivator for this; it's easier to give people trying to learn Altium a quick download of just the files required to get it up and running than to require them to sync the entire SVN or to walk through how to sync specific parts of it. Breaking out individual team SVNs also means that it's easy to only follow or keep up to date with certain teams. However, authentication is set up such that anyone authorized to use the SVN can sync any project, giving the benefits of having separate repositories without the barrier to joining of needing to be manually added to the project.

Part Linkage Failure Triggering Fatal Error on SSI Library Compilation

 This Altium-related article is a stub. You can help SSI by expanding it.


Placeholder to Trigger the Creation of a Table of Contents

Unable to set the papersize property of the pagesetup class

This error may appear when exporting your BOM. Try opening the configuration menu for the BOM export and checking the "Open Exported" option.