beCPG allows the management of many versions and many parallel branches of an entity at the same time.
- Version allows the tracking of the changes of an entity. It’s associated to a number (major or minor) and to a comment. The creation of a version implies the elaboration of a working copy. As long as there is a working copy, the initial entity isn’t editable.
- Branch allows the creation of a parallel development, based on an existing entity. It’s possible to classify a branch in the initial entity at the end of the development.
Be careful : once you created a new version of your entity, it is definitive, meaning that all the information it contains cannot be changed. Therefore, you need to follow specific actions in order to create a new version of your entity :
Let say we start from an entity which is at version v1.3 :
- We create a new branch from this entity
- We apply modifications on this branch
- We merge the branch to the original entity and create version (ex : v1.4)
- The new version 1.4 is created : it contains all the modifications
- The entity can still be modified, but the official version "1.4" will remain the same. Therefore, if you want to apply new changes, these will need to be included into a new version and not to the version "1.4"
- Version should be used when a change has to be tracked. To create a new version, one has to get the rights on the entity. This latter can’t be modified by other users during the elaboration of the version.
- Branch should be used during long developments. Anyone can create a new branch of a product. It follows its own life cycle and its classifying as a new version necessitates to have the rights on the targetted entity.
- Creation of a product « Product – Trial A » which state is « Simulation » ;
- Creation of a branch from the « Product – Trial A » renamed as « Product – Trial B » ;
- Creation of another branch from the « Product – Trial A » renamed as « Product – Trial C » ;
- Creation of a sub-branch from the « Product – Trial B » renamed as « Product – Trial B.1 » ;
- The trial C is kept. The state of the « Product – Trial C » is changed from « Simulation » to « To Validate » and it’s also renamed as « Product ».
- The product can now be sent to a validation circuit. Other trials can be stored in the project folder or they can be deleted.
Modification of a validated product
Case of an error or of a simple change:
The authorized person creates a new version of a product which state stays unchanged. The new version becomes immediately the validate version of the product. Changements are tracked.
Case of a long changement as for a raw material updating :
- The user creates a new branch for the RM1 with the state ;
- The use« Simulation »r renames the branch as « RM – Referencing 2017 » and moves it to the dedicated space (this can be automated by rules) ;
- The user runs the updates, possibly by launching a supplier referencing process on the branch.
- The RM1 is Validated and the existing recipes stay inchanged. The new recipes continue to use the RM1;
- Once the new branch is completed, it can enter a validation processus ;
- Eventually, the new branch is merged with the existing RM ;
- The RM1 version changes. The new version contains the informations entered in the branch, and the existing products are impacted.
When there is a version changement, the product reformulation can be manual or automatic.
Version manager case
A user added to a site as version manager will be able to merge versions/branches in a site where he also has version manager rights and in sites where he has read and write permissions on the version/branch of the entity (the user must be at the very least contributor). The goal is to limit the number of modifications without versions, and to allow this type of user to merge a version on his own.
Creation of a new version of a product
Open the product and press the « Action » button. Here, click on « New version » in order to create a new branch for this product.
When pressing « Merge version », one must choose if it’s a minor or a major version and add a comment.
It’s also possible to consult the prior version of each list.
In order to facilitate the follow-up of the product development, the application has a tool which displays the graph of the product versions.
This graph allows a complete tracking of the comments, versions and branches, and allows a clear reading of the changes over time.
When a branch has been created, it can be merged to another entity through the « Action » menu.
Automatic version merging
If you want to automatise the merging of a branch, it's possible to add an aspect to allow you to do so.
This aspect is called "Automatic version merge (bcpg:autoMergeAspect)". To install it, you must click on the icon "Add an aspect", look for this aspect in the list and click on + and "Applicate modifications".
A section "Version", containing 5 new fields, is now displayed.
- Date of merge: merging date of this entity
- Merge to: entity to which the merging will be done. It's the item of which the branch was created from.
- Type of version: minor (incrementation of 0.1) or major (incrementation of 1)
- Create a new version of the where used
At the date of merge, the merging will take place between this entity and the entity in the merge to field, creating a new minor or major version in this entity.
Note: as this functionnality is promptly used, do not add it in templates.
Comparison between a product and its prior version
It’s possible to compare a product to its prior version through the « Compare » button of the versions history accessible in the versions graph. The system generates a document describing :
- The structural comparison of the product composition ;
- The metadata comparison and the product characteristics comparison.
The « Simulation » tool allows the testing of a new formulation of semi finished products or raw materials without impacting the other products in which they are used.
Simulation of a semi-finished product
Go to the « Composition » list of the finished product and find the semi-finished product which should be simulated. Put the cursor on the semi-finished product line and, in the « Action » column press « More » and then « Dupplicate product ».
When a semi-finished product is simulated, a copy of this latter is created in the repertory of its parental finished product. This copy corresponds to the new branch of the original semi-finished product.
Thus, as soon as the properties of the simulated semi-finished product are modified, only the parental finished product is impacted.
Simulation of a raw material
Go to the « Composition » list of the finished product and find the raw material which should be simulated. Put the cursor on the raw material line and, in the « Action » column press « More » and then « Dupplicate product ».
When a raw material is simulated, a copy of this latter and a copy of its parental semi-finished product are created in the repertory of their parental finished product. This copy corresponds to the new branch of the original raw material.
Thus, as soon as the raw material properties are modified, only its parental semi finished product and parental finished product are modified.
Revert of a version
From beCPG 4.0, it is possible to revert an entity version.
From the version graph, click on the "revert" button next to the target version.
A new branch is then created containing all the information from the target version.