Dear Dojo,
How can I tell DataMiner system that a document was removed by an automation script?
protocol.NotifyDataMiner(41 /*NT_SEND_DMS_FILE_CHANGE*/, 33 .. is the tool to accomplish that in the context of a protocol driver.
I think something similar should exists with dms.Notify(12 /* DMS_FILE_CHANGED_BY_DMA */ ...,
but I have noticed that we should not use this function.
Background:
We take a weekly scheduled backup of DCM configurations into C:\Skyline DataMiner\Documents\CISCO DCM\ and would like delete setting - files older than 10 weeks.
Hi Joerg,
You can use the snippet below, where you need to define the path to the file in the strinfo1 variable:
Skyline.DataMiner.Net.Messages.Advanced.SetDataMinerInfoMessage SDIM = new Skyline.DataMiner.Net.Messages.Advanced.SetDataMinerInfoMessage
{
What = 41, // notify file change
bInfo1 = Int32.MaxValue,
bInfo2 = Int32.MaxValue,
IInfo1 = Int32.MaxValue,
IInfo2 = 33,
StrInfo1 = "path",
};Engine.SLNet.SendMessage(SDIM);
Moderator note: This is an internal call and we do not recommend using this, as it is not officially supported and we cannot guarantee that it will still work in the future. As a rule, you should avoid using SLNet calls, as these are subject to change without notice.
Hi Joerg,
Looking at the documentation of that call NT_SEND_DMS_FILE_CHANGE (41) I would remove the file and execute the same method but with fileChangeType: 33 = File removed
protocol.NotifyDataMiner(41 /*NT_SEND_DMS_FILE_CHANGE*/, filePath, fileChangeType);
Thanks a lot for your suggestion.
Maby I missed something, but in an automation script I do not have the protocol Instance.
I tried already
dms.Notify(41 /*NT_SEND_DMS_FILE_CHANGE*/, 33, fileInfo.FullName, null, out returnValue);
But as an result the deleted file will be resynchronized (restored) from the DMS.
Indeed, I was a bit too fast, perhaps have a look at the suggestion from Ive, I believe this might contain your answer.
Hi Ive,
That works fine
Thanks for that perfect hint.