User info
First name | Pedro |
Last name | Debevere |
DevOps Program
Acquired rank |
Enabler
|
Points progress |
7211
DevOps Points
|
Here are a few tips to level up your DevOps game and unlock an arsenal of perks and benefits. | |
DevOps attestation | Request your attestation ID and expiry date |
Achievements
|
Questions asked
Answers given
Hi, you can now use the following NuGet package which is public: Skyline.DataMiner.Core.DataMinerSystem.Automation. For more information, see the following blog post: Unlimited DevOps power at your fingertips...
View QuestionThe API documentation for creating dmprotocol packages can be found here: https://docs.dataminer.services/develop/api/types/Skyline.AppInstaller.AppPackageProtocol.AppPackageProtocolBuilder.html We still...
View QuestionHi Esteban, the validator error you are seeing is probably because you are using NuGet packages in your driver but the MinimumRequiredVersion tag has not been set to at least 10.0.10.0 - 9454. Setting...
View QuestionHi Youssef, DIS does not support Visual Studio for Mac (see also https://docs.dataminer.services/develop/TOOLS/DIS/Installing_and_configuring/Prerequisites.html). Also note that Microsoft will retire...
View QuestionHi Alex When using the class library, all code used from the class library is part of a QAction that gets generated by DIS (typically QAction 63000). There is a setting in DIS where you can configure...
View QuestionIn the project file, you'll have to disable both nullable and implicit usings. QActions use C# 7.3 but these features are not supported in that language version. (the reason that these configurations are...
View QuestionIn DataMiner 10.3.8, a fix was done so that the ProtocolScripts\DllImport folder will also be synced when an Agent joins the cluster (see this release note). Like Tom mentions, you'll need to put the...
View QuestionHi Thomas, The following example shows how to set a property: https://docs.dataminer.services/develop/devguide/ClassLibrary/ClassLibraryExamples.html#setting-a-property-and-renaming-the-element
View QuestionIf I remember correctly, multiple connectors that had to work with Excel spreadsheets make use of the OpenXml SDK: https://www.nuget.org/packages/DocumentFormat.OpenXml https://learn.microsoft.com/en-us/office/open-xml/open-xml-sdk...
View QuestionHi Juho, This is by design: When using packages.config, the "packages" folder in the solution indeed contains subdirectories containing both the name and version of the NuGet package. However, the global...
View QuestionHi Nathan, DataMiner will check if the request value contains "://" and if so, it assumes that the ip/hostname and port are provided. If not, it will add the ip/hostname and port of the corresponding...
View QuestionThe DMSClass is part of the Interop.SLDms assembly and is deprecated for use in connectors. Instead, you can use the class library NuGet. An example of how to rename an element can be found here: https://docs.dataminer.services/develop/devguide/ClassLibrary/ClassLibraryExamples.html#setting-a-property-and-renaming-the-element
View QuestionHi Geovanny, Could it be that the Default Processor Architecture has been set to X64? (If this is set to X64, it generates the BadImageFormatException you mention.) In Visual Studio 2017, from the menu...
View QuestionIn case you would like to hide elements programmatically, you could use the class library included in DIS. For example: using Skyline.DataMiner.Automation; using Skyline.DataMiner.Library.Automation;...
View QuestionHi Sylvain, If you create a protocol solution using a recent version of DIS, all you have to do is add a reference to the Skyline.DataMiner.Core.DataMinerSystem.Protocol NuGet package (this package...
View QuestionWildcards are indeed not supported., your suggested approach using a QAction to perform the matching is therefore a good approach.
View QuestionHi Miguel, In your Automation script solution, you'll probably need to update the version of the Skyline.DataMiner.Dev.Automation to a more recent version than the one that is installed by default (by...
View QuestionHi Simon, you'll probably need to run VS as administrator. When opening the DIS macro tool window, it tries to copy the macros to a folder but if you don't have sufficient rights it will throw an exception...
View QuestionHi Mieke, I'm afraid this approach will not work due to the way the data forwarding works between SLPort and SLProtocol. Refer to Data forwarding for more details. To summarize, for a smart-serial connection...
View QuestionHi Michiel, DataMiner compiles QActions using the latest version of the .NET Framework that is installed on the agent (it detects this via the registry). As of DataMiner 10.1.11, .NET Framework 4.8 is...
View QuestionHi Robin, this currently is not supported due to an issue in the QActionTable class of the helper code. We have a task in our backlog to fix this 185850.
View QuestionHi, the following question/answer provides some pointers on how to do read an Excel sheet: https://community.dataminer.services/question/reading-writing-to-an-excel-file-in-net/answer/105057/
View QuestionHi Alex, The implementation in DataMiner is different from a regular console application. This is because by default there is a single SLScripting process to execute the QAction code and therefore binding...
View QuestionHi, below an example of a task that is created using this method: var dms = new Dms(communication); var dma = dms.GetAgent(Settings.TestElementAgentId); var scheduler = dma.Scheduler; DateTime startDate...
View QuestionHi John, the Session@timeout attribute configures the timeout for a request in this session and overrides the Timeout of a single command (ms) in the element edit wizard (under More TCP/IP settings for...
View QuestionThe GetRawConstantValue method will try to retrieve the value from the Constant metadata table of the assembly. When using static readonly, there will be no entry in that table and therefore throw an InvalidOperationException...
View QuestionThe documentation states "array of strings". The example uses single quotes, did you try with double quotes?
View QuestionHi, The import protocol functionality in DIS is rather limited: Importing a driver will only import the protocol XML file. After importing the XML file, you can open a QAction which will result in the...
View QuestionHi Joshua, I think there is currently no other way to do it other than using the notify call you mention. The class library indeed currently has no such functionality.
View QuestionHi Thomas, when a protocol is uploaded, the SLDMS process will check the value of the dllImport attribute of the QAction elements in the protocol and verify if it needs to sync the assemblies between...
View QuestionHi Elmaza, The connector throws this exception because it uses the GetTypes method to obtain information about the loaded assemblies in the application domain. The documentation of this method states...
View QuestionHi, when calling the GetTasks method, the class library performs an SLNet call behind the scenes which retrieves info about the scheduled tasks. However, SLNet does not set the mentioned properties and...
View QuestionHi Sebastián, The entry point of QAction 16200 is defined in the Engine namespace. DataMiner currently does not support the entry point of a QAction to be defined in a namespace other than the default...
View QuestionHi Thijs, The notion of the DllImport subfolder has only been introduced with RN26605 (DataMiner version 10.0.10). With this RN, the ProtocolScripts\DllImport (in addition to the Files and ProtocolScripts)...
View QuestionHi Gabriel, The Confluent Kafka API exposes a Load method: Loads the native librdkafka library from the specified path (note: the specified path needs to include the filename). Does nothing if the library...
View QuestionHi Thijs, serial (and smart-serial) are currently not yet supported. We have the following tasks to implement this: CLP - iDms Include Serial PortInfo CLP - IDms Include Smart Serial PortInfo
View QuestionHi Jorge, It's currently not possible to specify that an element should not go into timeout for specific status codes using only protocol XML. There is however a task already to have this supported, task...
View QuestionHi Maxim The message you see originates from the SLElement process: When trying to create an alarm/information event, it checks whether the parameter is known in SLElement. In your case, you most likely...
View QuestionHi Alex, this exception was the result of a stage using the DCP API which was unable to connect to DCP. IT looked into this and it should now be fixed.
View QuestionHi Maxim, this is currently not supported. If desired, you can create a task for this feature.
View QuestionThe ping attribute can be used to allow testing the connection in the element edit wizard in DataMiner Cube. This is explained in the following section in the DataMiner Development Library
View QuestionThe Parameter class only provides entries for parameters of type "read" or "write" (entries of the latter type are found under the Parameter.Write class). For all other types, the QAction_Helper code...
View QuestionHi Andy, as YANG-API is a RESTful protocol (https://tools.ietf.org/id/draft-bierman-netconf-yang-api-01.html), it should be possible to integrate with DataMiner.
View QuestionHi Stephen, As Davor pointed out, this can occur when the DIS extension is installed on a Visual Studio version that is outdated. Updating Visual Studio to the latest version (17.11.5) should resolve...
View QuestionHi, The project templates are provided by a template NuGet package which gets installed or updated at Visual Studio startup if configured to do so. Can you verify in the DIS settings window, under the...
View QuestionHi Gerwin, Below some clarification about the different NuGet packages: The skyline.dataminer.dev.* NuGet packages refer to skyline.dataminer.files.* NuGet packages which contain DataMiner assemblies....
View QuestionAfter investigation, this is a combination of factors. First, the NuGet 'A' that was referenced in the Automation script had a dependency on another NuGet package 'X'. However, another version of NuGet...
View QuestionHi Philip, This is a good suggestion. Currently, the CI/CD pipeline creates a .dmprotocol package (which is the same package as the one that becomes available on the catalog) that will only include the...
View QuestionHi Maxim Moq is a constrained framework, customizing the implementation of an extension method is not possible. Like Jens suggests, to do what you are after, you'd need to use an unconstrained framework...
View QuestionThere are also extension methods defined on IDmsElement to monitor e.g; name changes and alarm level changes see ElementMonitorExtenions. var element = myDms.GetElement("myElement"); element.StartNameMonitor(protocol,...
View QuestionHi Pedro, Does the Output window provide some details? (View > Output, then select DIS from the dropwown) Another thing you could try is close Visual Studio, remove the msalcache.bin file from the...
View QuestionHi Ahmed, When DIS creates a protocol solution, it starts out with a solution with three C# projects: QAction_1: This is a QAction that has the precompile option. QAction_2: This is a QAction that...
View QuestionHi João, can you take an export of the element you're trying to duplicaate and send the resulting dmimport package to support.data-acquisition@skyline.be (together with the full stack trace) so we can...
View QuestionHi Milos, Data acquisition will schedule a ticket to further investigate and understand what is going wrong as initial investigation did not reveal the issue. When we have more information, we will reach...
View QuestionHi, I see that different versions of this NuGet package (AWSSDK.MediaPackageV2) use the same assembly version for the AWSSDK.MediaPackageV2.dll assembly: v 3.3.0.0. I suspect that on the Agent where...
View QuestionHi Andries, You probably defined a type Skyline.IAC.Endpoints.Resources.EndpointHealth in both protocols. The type info that is passed along in the serialized message includes the assembly in which this...
View Question