The Vault Autoloader is the usual tool used for the initial bulk import of data into Vault. Simple, efficient, but not flexible. Her we present an alternative. Welcome the bcpMaker.
Since Vault 2011, the VaultBCP (aka Data Transfer Utility, short DTU) let’s you import (and export) data from and to Vault. VaultBCP is a command line tool developed by the Autodesk Vault team, which exports the Vault data base to a set of XML files and permits to reimport such XML files into another Vault. We use a lot this technique for migrating from potentially any other system to Vault. We also use it for “cleaning up” Vaults or merging Vaults together. Unfortunately, there is no documentation and the tool is not officially supported, although widely used, so we had to figure out our self how this works. Over the past years we developed the bcpToolkit, which contains the bcpDevkit, necessary for creating custom VaultBCP packages, and the bcpChecker, which let you preview, check and manipulate VaultBCP packages.
The bcpDevkit is a .Net assembly developed for developers that makes it simple to create custom VaultBCP packages. We use this our self for custom migration projects from SmarTeam, TeamCenter, Enovia, Meridian, BlueCielo, and the like. Migrating from all these systems is possible with a reasonable effort, including all the history and without data loss! The documentation of the bcpDevkit is on our wiki.
Over the past year, we have been asked for a simple alternative to the Vault Autoloader. Something that let’s you pick a folder and import everything into Vault, with some custom logic. The requirements are to set the file in the appropriate category, lifecycle, state and properties. Also the folder structure should get some more content and details. And maybe combine the files from the source folder with some metadata from the ERP, Excel file or the like.
With the bcpDevkit anyone with some development skills could create such an import tool. Actually, the result is a VaulBCP package which can be previewed with the bcpChecker and then imported into Vault. However, it requires some .Net development skills.
Based on the recent basic requirements, we’ve created the bcpMaker. It’s a simple .Net command line application, which takes all content from a given folder and transforms it into a VaultBCP package, that can be imported into Vault. For the basic configuration, there is a small XML config file that allows you to define file types you like to exclude (.bak, .tmp, etc.), folder that should be ignored (OldVersions, _V, etc.), which category shall be applied for which file extension, and more. The bcpMaker starts by collecting all files, adding them to a VaultBCP package and for all the Inventor files, the references will be recreated. So, the resulting package can be imported into Vault and all the Inventor references will be fine. In case where the Inventor references could not be resolved during the creation of the package, a log file reports the problems and you can fix them or not. Yes, you can also ignore the problems and just import the files in the given quality, according to the motto “shit in, shit out”. In other words, if an assembly has some references that can be resolved and some references that could not be resolved, then the good references will be in Vault after the import and the bad references will be reported in the log file. When you open the assembly from within Vault, you will be prompted to fix the problems, but at least you have the good part imported.
With the bcpMaker we also deliver the source code, which is just a sample implementation of the bcpDevkit. So, you are free to tweak the code, smarten the logic and also extend the capabilities. If you don’t feel comfortable doing that, then reach out to us, and we can create a custom version for you, based on your specific requirements. However, if you prepare a folder with all the content you like to import, and structure the content the way you think is appropriate, then just run the bcpMaker, check the outcome with the bcpChecker and then run the import against you Vault.
We strongly recommend to prepare the Vault before with all the given behaviors and let the VaultBCP package import against a configured Vault. This way, if the VaultBCP package contains some unpredicted settings, it will fail and not create the behaviors. You know, that once behaviors, such as categories, lifecycle, properties, etc., are created in Vault and used, it’s not possible to remove them. In order to prevent misconfigurations due to an import, we suggest to configure the Vault first, disable the automatic behavior creation and run the import.
Anyway, we hope that with the bcpMaker, importing even huge amount of data (1.000.000+ records) becomes simple and smart. And in case you need something custom, just reach out to us. If you like to try the bcpMaker, here is the download, and its source code. For the VaultBCP, you need to contact Autodesk.