What's the best / advised way to install a driver on my system:
- a new driver
- an update of the same version
- a new range
- an update of a specific range (when I have multiple ranges active)
In case you have a staging DMA, it's advised to install and test it first on the staging DMA.
For a new protocol (I assume you mean a protocol with version 1.0.0.1), although we do a lot of quality assurance, you need to assume there might be small problems. Check it carefully before putting it on the production DMA.
The only situation where you can have an update of the same version is during a development, or if you decide to make a small code change yourself. Typically the protocol development happens on a staging DMA if it's available. In any case, when updating a protocol of the same version, the elements using that protocol version will restart and load the new protocol code.
With a new range, it means one of the first 3 numbers change. A new range is typically created in case the protocol is no longer compatible. This is a situation you need to be careful with, since it's not possible to simply upgrade the elements to the new range. It's best to try the new protocol range on a duplicate element while the original element is in a stopped state. If it works ok, then you'll need to create new element for each device you want to use this new range on.
In normal situations you have for each protocol a 'production' version. This is a label you assign to the protocol version you actively use on all the elements. It makes it easier to work with alarm templates and trend templates.
You also have systems where it's not possible to have only one protocol version on all elements. For example if you have different firmware versions.
In such cases it's advised to pick the 'production' version for the elements of devices of a firmware that is most present in the company. For the other device with firmware that is not compatible with the 'production' protocol version you'll need to assign the specific protocol version that is compatible.
In case you need to upgrade the protocol for the version that is running on the 'production' version, it's simply assigning the new version as production.
In case of upgrading a protocol version that is not the production version, you'll need to edit each of the related elements manually.
A small tip for the last case: You can duplicate the templates to the new version instead of making new templates from scratch.
Thanks Jeroen, these are all very useful tips to consider when installing a driver.