Project File Restructuring
In this release, the project file has been internally restructured. This is due to the fact that the previous project file suffered from the following problems:
- It was a direct image of the internal configuration of the devices which was loaded verbatim into the device properties. This meant
- It had a lot of redundant information that is taken care of internally by the software (and was therefore larger than necessary).
- It did not adapt well to changes in the software that would have automatically changed certain behavior. An example of this is the pictures of the parts, which in some cases was incorrect in the old project files as corrections were made to the software).
- It was xml all on one line and could not be viewed at all by other than an xml viewer.
The new format is more compact, can be viewed in a text editor, and the default extension is now .si (as opposed to the old .xml). This means that you can now associate .si files with SignalIntegrity and the application will now open these files, assuming your operating system has been properly configured.
Also, now a file (for example named project.si), can now be opened by typing, on the command line:
SignalIntegtrity project
In the future, s-parameter files will also open this way.
Currently, when a project file is opened, the dialog shows only files with the extension .si, but for now, you can switch this to .xml and open your old xml files, if you have them. All project files are now saved only in the new format with the .si extension.
Since this restructuring made such a mess of the underlying code, support for the xml format will be fleeting. It will probably be removed in the next release. As the SignalIntegrity repository is not currently publicly available, the impact of this change is thought to be relatively small, but the bottom line is that you will need to at least open all of your xml files and save them again, thus converting them using this software release.
This very impacting internal change has been tested with the full suite of unit tests. This provided good coverage that projects in the old format behaved identically in the new format insofar as they produced the same netlists, calculation results, etc., but the UI was also impacted by these changes and this could not be tested exhaustively. I made the decision that it was time to make the jump to the new format. Enter any bugs you find, but do use this version.