All articles

Every version, one click: why we built Backup Sorcery

4 min read

Backup Sorcery is a free Windows app that backs up Autodesk Forma (formerly Autodesk Construction Cloud) and BIM 360 projects to a folder on your PC, with every published version of each file, not only the latest. The first public beta is out. This is the story of why we built it.

A policy change, and a question

It started with an Autodesk announcement about which Revit versions Autodesk Forma supports in the cloud. Nothing was going to be deleted. But it made one thing plain: when your projects live on a vendor's cloud, a policy change made by someone else can affect thousands of firms overnight.

The obvious next question was: do we have a backup of our own hub that we would trust? We did not. So we tried to make one.

A mountain view framed by the window of a dark concrete room
Photo by Patrick Robert Doyle on Unsplash

Three problems with backing up a hub by hand

You don't know how big it is. The web interface does not tell you how much space a project takes. Without that number you can't plan where the backup goes: a local disk can fill up halfway through, and a cloud bucket (Amazon S3, Google Drive, Dropbox) needs the right storage tier.

Long downloads fail quietly. Downloading a project from the web is easy: Project Files, Download, and a few hours later a zip is on your disk. If the connection drops, the browser download stalls and never finishes. Start it in the evening, and in the morning you may find nothing.

Versions come one at a time. Every published version of a file can be downloaded, but only by hand: open the version history, download one version, open the next, download again. Autodesk offers no way to download them all at once. Some of our models have more than a hundred versions.

Desktop Connector doesn't solve this either. It syncs the latest version of each file, not the history, and it is not always clear what it has transferred and what it has skipped. For a backup, that is not good enough.

Scattered paper numbers
Photo by Cooper Hofmann on Unsplash

What we found

The tools we looked at were paid, and some of them did not give you a backup at all: they copied your data from one cloud into their own. We wanted the files on our disk, in a folder we control.

From a script to a product

We had been using Autodesk Platform Services (APS), the APIs behind Autodesk Forma, for small tools for a couple of years. A Python script that downloads a hub through those APIs worked within a few days. Then the question changed: why not build something sturdy enough to give to other firms?

That meant C#, not Python, for three reasons:

  • No setup friction. A small firm should not have to install Python, manage dependencies or create a virtual environment to run a backup. Backup Sorcery is a normal Windows installer.
  • Control over everything around the download. Your connection sets the download speed. Everything else is ours: handling partial downloads, checking every file against its hash, keeping track of what is done.
  • A stable environment. A script that worked six months ago can break when Python or a library updates. A packaged desktop app does not depend on what else is installed on the machine.
The Backup Sorcery source code open in Visual Studio Code
Backup Sorcery is written in C# on .NET

What Backup Sorcery does

  • Backs up the projects of a hub to a folder on your PC, with every published version of each file. What took hours by hand is one checkbox.
  • Writes a manifest with each project: a JSON file listing every downloaded version with its SHA-256 hash. You can open it in any text editor and check a backup without Backup Sorcery.
  • Keeps its project inventory in an SQLite database on your PC: an open format, not a proprietary one.
  • Uses your own Autodesk sign-in and inherits your folder permissions: it reaches only what you can already open, and it only reads.

What it does not do with your data

The files go from Autodesk straight to your disk. Nothing passes through our servers.

The app makes one call to aec.codes: the update check, so you know when a new version is out or when a release has a problem that affects your backups. We collect nothing about your hubs, your projects, your files or how you use the app.

When you register for the download, we keep your email address, the version available that day, the date and a shortened IP address to prevent abuse of the form. We use the address to tell you about new versions and problems with a release, and for nothing else unless you ask. The details are in the privacy notice.

Try it

Backup Sorcery is a free public beta for Windows 10 and 11.

A technical article on how the tool works is next. Questions are welcome at backupsorcery [at] aec.codes.