Hi, for introducing new Icons on our cards we can edit the Icons.xml file at C:\Skyline DataMiner \Protocols and cross reference the new icon style in the driver code via the "displayIcon" and "iconRef" attributes.
After the file is synced across the DMS, to have this configuration spread out (and applied), the recommended action is to restart the DMAs which, for a large system is quite painful. Also, even if the file is properly synced we still need to restart Cube sessions.
We have the alternative to avoid having to restart, to send the following message:
SetDataMinerInfoMessage() { What = 41 /*NT_SEND_DMS_FILE_CHANGE*/, IInfo2 = 32, StrInfo1 = @"c:\Skyline DataMiner\icons\refs\a.b" }
However, we would need to include this call in an automation script and have it ran in every DMA on the DMS, and still need to restart Cube.
Do we have an alternative way of syncing this setting and applying it without restarting DMAs or Cube massively?
You can send the SetDataMinerInfoMessage manually from code, or use the easier Force sync... dialog in the Avanced menu of SLNetClient Test tool.
The files in C:\Skyline DataMiner\icons\* are for a different set of icons (customization of element/service/view icons, introduced in RN13902). Whenever these files are synced in the cluster all icons are reloaded, including the protocol icons. However, this file must actually exist, so if no custom icons are used, you can create an empty file C:\Skyline DataMiner\icons\refs\empty.xml and use that to trigger the reload.
This removes the need for a DataMiner restart, however, Cube still needs to be restarted to load the new icons.
To follow up, I have created a new issue task DCP148171 so that a filesync of "C:\Skyline DataMiner\Protocols\icons.xml" triggers the same reload, without the need for an empty placeholder file.
Do keep in mind that the “C:Skyline DataMinerProtocolsicons.xml” file will get overwritten on DataMiner upgrades
Thank you Bert, this is now tested and running fine.