Types of guids explained
What is the difference between System GUID, Major Version GUID and Minor Version GUID?
The main difference between the three types of GUIDs is:
Minor version GUID – points to a specific minor version –window 1.1;
Major version GUID – points to the latest minor version in the current major version – window 1.x;
System GUID – points to the concept regardless of its version – window x.x.
Each revision of a concept generates a new version. Versioning of concepts prevents data loss and helps tracking of changes. Depending on the type of change, the generated version can be minor or major:
Each version is identified by its own GUID;
The Minor GUID is unique for each minor version of the concept;
All minor concept versions share the same Major GUID;
All concept versions share the same System GUID.
Should we store System GUID, Major Version GUID or Minor Version GUID?
If you have the option store all as they are used in different scenarios:
Nonbreaking changes such as fixing typos are implemented with a minor version. If you want to access a specific minor version of the concept, you can do so by Minor GUID;
The Major GUID is used for integration purposes. It will always give you the latest minor version you can use;
System GUID will help you check for updates on a concept by returning the latest version of the concept (regardless if it is major or minor).