In a protocol, there is a table with a column of type displaykey being the last column. I want to add a new column of type retrieved to the table. If the displaykey column has to be the last column in the table, I have to change the column idx of the displaykey column which will require a major change in the versioning number according to this.
So, every time when we need to add a new column, do we need to have a major change in the driver? Or is there a work around to prevent this?
As your table already has retrieved columns, you can update the current column of type "displaykey" to "retrieved" instead.
In the QAction that already updates some of the retrieved columns, you will now also need to update the column containing the display key with the correct value.
This way there is no impact as your column will have the same value as before, and you can add additional retrieved columns at the end of your table.
Hi Geovanny, take a look at the answers for this question: https://community.dataminer.services/question/snmp-tables-with-retrieved-columns/?hilite=retrievedcolumn. It’s not exactly the same topic, but it is related to your comment.
If the naming consists out of value(s) coming from parent table(s) then it means that whenever those values change that you also need to change the retrieved displaykey column which complicates the driver a lot. Then it makes me wonder why to still use the displaykey type column and not just implement it as retrieved in the first place? A new sw feature could be that it’s allowed that this column is not anymore mandatory the last column, if that column is read out from SLProtocol that it simply stays empty and that it has a value in SLElement, kind of the same principle like view tables have with their values.
What if the table doesn’t already contains retrieved columns. Some SNMP drivers just use the information polled from the device to create the IDX for example IP address/Port. So we would need typically an after group trigger or a Qaction attached to the table to now handle the IDX in the code?
Shouldn’t the use of displayKey columns be no longer recommended to developers to use since this will add extra logic in future versions when it could of been handle in the initial development? I’m only referring to new drivers since it is always easier to to this type of thing at the beginning of development than to a driver that has 20 or 30+ versions.