Understanding versioning of a .cui file
Understanding versioning of a .cui file
Each .cui file has a node that controls versioning:
<FileVersion MajorVersion="1" MinorVersion="2" UserVersion="0" IncrementalVersion="91"/>
IncrementalVersion Must be incremented with any change in the Icad.cui file.
UserVersion Incremented automatically when a user customizes progeCAD. In the default Icad.cui file, this must be always equal to 0 and never edited manually.
MinorVersion Must be incremented with a change or creation of a versioned entity (PopMenu, Toolbar, MenuMacro->Macro, ...).
MajorVersion Must be incremented with the following:
Change of Icad.cui file schema (for example, added/deleted sections or added new type of entities).
Deletion of a versioned entity.
Change of UID attribute of an existing versioned entity or change of Name attribute in case of a Workspace entity.
If MajorVersion is incremented, the user's .cui file will be replaced with an updated .cui file.
The .cui file also contains versioned entities: Workspace, MenuMacro->Macro, PopMenu, Toolbar, AppButton, QuickAccessToolbar, RibbonPanelSource, and
RibbonTabSource. Each versioned entity also has a node:
<ModifiedRev MinorVersion="2"/>
After a versioned entity is modified or created, FileVersion->MinorVersion must be incremented, and then the result must be assigned to ModifiedRev->MinorVersion of the modified entity.