Softimage uses a built-in versioning system to manage updates to exported compounds. The major and minor version numbers are
stored in the .xsicompound file.
Update the major version for changes in functionality, such as additional exposed ports.
Update the minor version number for bug fixes.
You should not rename .xsicompound files manually. Instead, use Softimage's built-in versioning. Otherwise, you may end up
with multiple compounds that share the same name and version. If this happens, Softimage logs a warning message telling you
the locations of the file that will be used and the files that will be ignored.
How Softimage Uses Version Numbers
Compounds are identified by name. If you add a compound to an ICE tree and there are multiple versions available, Softimage
uses the highest major.minor version available in any of the user, workgroup, and factory locations. If that compound contains
references to another exported compound, and there are multiple version of the second compound available, then Softimage uses
the highest minor version of major version specified in the first compound. The reason is that if you fix a bug in the referenced
compound and increase the minor version, then you probably want the fixed version used when you import the compound that contains
it. On the other hand if you change the functionality and increase the major version, then you might not want the new version
used until you update the compound that contains it to take the new functionality into account.
Modified compounds are identified by asterisks in the ICE tree.
A compound is considered to be modified if:
Internal nodes have been added or removed.
Internal connections have been added or removed.
Exposed ports have been created or removed.
Unexposed values have been changed.
A connection is not considered to be modified if only:
Exposed port values have been changed.
Multi-instance ports have been instantiated, in other words, you connected something to New (portname) and a port was added.
Re-exporting Updated Versions of Compounds
For complete control over a compound's version numbers, modify the version numbers in the compound's properties and re-export
it. Alternatively, if you have made only bug fixes to a compound, you can quickly re-export it and any modified nested compounds
that it contains using .
To re-export a modified compound
Open the compound's properties as described in Setting Compound Properties.
Increase the major or minor version number as appropriate.
If desired, enter a Version Tag. This is a character string that you can use to describe the version as you wish. It is displayed
in the Compound Version Manager and the Versions menu.
Export the compound as described in Exporting Compounds.
To automatically increment the minor version and re-export all nested modified compounds
Updating Compounds Already in a Scene
Compounds that already exist in a scene are not updated automatically even if new versions are available. You can update them
individually, or by using the Compound Version Manager.
To update compounds individually
Right-click on a compound in the ICE tree (not over a port).
If multiple versions of the compound are available, the context menu contains a submenu. Select the desired version. The current version is displayed with a checkmark.
To update multiple compounds using the Compound Version Manager
Open the Compound Version Manager by choosing from the ICE tree view.
The compounds in the scene are displayed in a grid.
As desired, either click to arrange the compounds according to the ICE trees they belong to, or click to sort the compounds according to their type (name).
When multiple versions are available, a triangle appears in the Version column. Click the triangle to open a menu that allows
you to make changes to the grid data. The menu for an individual compound affects only that instance, the menu for an ICE
tree affects all compounds of all types in that tree (Sort by Terminal Node), and the menu for a type of compound affects
all compounds of that type (Sort by Classname). Different menu items are available depending on whether the row corresponds
to an individual compound, an ICE tree, or a compound type:
dismisses the menu without changing the grid data. Note that previous changes to the grid data are not reverted.
updates the grid data with the version currently used in the scene. Note that it does not revert changes that have already
sets the grid data to the highest available minor version of the major version specified by all compounds in that tree (available
for ICE trees only).
sets the grid data to the highest available version for all compounds in that tree (available for ICE trees only).
A specific version number sets the grid data to that version.
Click to apply the grid changes to the scene.
Repeat steps 3 to 5 as desired.
If you make changes to the scene while the Compound Version Manager is open, click to refresh the grid.