Details:
In earlier versions of Spotfire, exporting content of the Spotfire Library generates just a *.part0.zip file. With versions 12.0 and later, a file with extension *.sha256 is also generated alongside this other file. What is this *.sha256 file, and what is its purpose? Is it needed when importing back into Spotfire? If it is optional for imports, then what are the ramifications of using it or not? Is it important to archive this file?
Solution:
Spotfire 12.0 has enhanced the Library export code so that it generates a *.sha256 file in order to facilitate troubleshooting and validation of successful migration of Library data. This new file is simply a SHA256 hash representation of your *.part0.zip output file ( *.partX.zip files). You can get the same file by executing the below command in Windows:
certutil -hashfile Drive:\<folder_path>\<filename>.part0.zip SHA256
The above command will return a string value, which is a match to what you see when opening this new *.sha256 file in a text editor.
The main purpose, or use case, of this hash file is to check that your exported files have successfully been copied from a source environment to a destination environment. The export of your source Library content includes a *.sha256 file for each export file, you then copy the export files to a destination. Generating a SHA256 hash value in your destination area should calculate the same hash values, which indicates that content of the copied files match exactly.
Another use case could be to check that exported and then imported content matches the content in the source environment. If you export content from Spotfire SystemA, then import the same into SystemB, and then immediately export the imported content from SystemB, then the above command can be used on both export files. If the command outputs the same string value, then one can be assured that SystemB has all of the SystemA content.
There are cautions to this second use case practice, such as:
a) If you choose to NOT preserve GUID values; then the checksum will differ even if all of the content imported successfully.
b) If you import into a Library space that already has content (so the imported content merges with pre-existing content), then the checksum will differ even if all of the content imported successfully.