Release management
4-eye principle
As type data content are critical for the production the release of a dataset is based on the 4-eye principle. This means that a variant release (product specific collections of datasets) is only possible if all the underlying type data are released. Therefore only released variants are returned when requesting an underlying type data over the API.
Dataset release states
Typically variant release are in the responsibility of production planners and the content of single datasets are in the responsibility of specialized process experts. States on dataset level are beneficial to increase the transparency for the planner when an edited dataset is approved by the experts to become part of the next release of the related dataset or if the change is still in work or blocked by the process experts.
Validation check
The release of a dataset is only possible after a validation check of the type data regarding min/max or regular expression checks and checks if all required parameter have input values.
State | Description |
---|---|
Preparation |
Preparation always be the initial state of each dataset (and its revisions) when it is created. |
Released |
A dataset will be automatically set to "Released" when the variant is released. The dataset will then replace the latest released Dataset and this new version will be provided to the clients (productive version). |
Emergency Released |
A dataset changed to "Emergency released" is a temporary released state needed e.g. if there is no process expert available on a shift that has the rights to set the needed dataset changes to "released". It will then be marked as "Emergency released" so that the changes can be deployed to the machine for this shift, but they needed to be confirmed by a process expert within a defined time period (configured in the helm chart). If that time period is over and the dataset state is not set to released it will switched automatically back to "Blocked". |
Blocked |
Datasets in state "Blocked" will not be provided to the clients (also if they are the current "Productive version"). If a dataset of a released variant will be set to "blocked", the variant will be blocked, too. |
Variant release states
A variant can only be released if all underlying datasets are released. The system also checks that there is no open ticket for these variants. Existing tickets must be closed before a variant can be released. The release of a variant is the final step of the release process.
State | Access | Role | Description |
---|---|---|---|
Preparation |
all |
Planner |
initial state of each Variant revision |
TryOut |
all |
Planner Advanced |
A released state in the try out phase of a product. |
Released |
only released |
Planner Basic, Planner Advanced |
Released state for one variant. If it has not the released active state another variant is the active released variant (see released active) |
Released active |
only released |
Planner Basic, Planner Advanced |
Released state for one variant. If there are multiple released variants in a type numbers variant list only one variant can be set as the active released. It is possible to request the released type data with variant = '*'. That will return the active released variant only. |
Phase Out |
only released |
Planner Basic, Planner Advanced |
Released state that marks for internal management that this is a phase out release. This has no other consequences to requesting type data. |
Blocked |
all |
Planner Basic, Planner Advanced |
A variant is usually set to blocked if there a values that should not be available for the station. If a station requests type data for a blocked variant it will get a return code that will specify that the variant is blocked. |
Invalid |
all |
Planner Basic, Planner Advanced |
A variant is usually set to invalid if variant should not be used any more. If a station requests type data for a invalid variant it will get a return code that will specify that the variant is invalid. |
Line release states
Other modules might also check the line release state as the Connectivity module which checks if a station in a line is set to a released state.
State | Description |
---|---|
Try Out |
A "TryOut" state marks a try-out phase of the product. Type data will be handled as a released state to be able to try out the production. |
Released |
A released line marks that a potentially "TryOut" phase is over and the line is ready for production. |
Phase Out |
A "PhaseOut" state is internally still a released state and will provide dataset to the station, but it should mark for the user that the production is in a phase out state for this line. |
Blocked |
Datasets in state="Blocked" will not provide data to the stations no matter of the state of the dataset or variant. Other lines will still get the dataset provided. |