Profile

Jan Staelens

User info

First name Jan
Last name Staelens

DevOps Program

Acquired rank
Advocate
Points progress
Number of DevOps Professional Points
2086 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

This is a private repository. As such it doesn't have access to secrets configured on the organisational level with the current subscription level to GitHub. The starter workflow requires 2 secrets:...

View Question
9 Votes Selected

DataMiner supports serial communication, allowing protocols to define one or more connections of type "serial". DataMiner runs a process called "SLPort" which takes care of all communication to and from...

View Question
8 Votes Selected

On request of Flávio Jacinto who contacted me with additional questions on this topic and for this project. Please be aware that SLNet subscription in their current form is a technology meant to be used...

View Question
6 Votes Selected

This is because the Element returned from Engine or IEngine is a class and not an interface. When working with a class for mocking, it needs default constructors and even then not everything will always...

View Question

As every QAction actually becomes a dll in the background, your question actually boils down to: Should we go for a single large dll or multiple small ones? There is some official documentation on this...

View Question
5 Votes Selected

The check concerning the last group of a timer should be a ‘poll’ type action. The only reason is to guide developers into writing robust code. In 99% of all cases you don't want a timer to keep putting...

View Question

Hello Michiel, Currently the classes within the DataMinerSystem libraries are not thread-safe. The Dms classes use caching in the background in order to speed up data retrieval and make data configuration...

View Question
4 Votes Selected

We've made some progress to allow SLProtocol to be used after you've finished the Run method. (so during the Monitor Handler for example). This in ongoing efforts to allow more communication directly from...

View Question
4 Votes

The cause: The problem is that the Meinberg NuGet has a dependency on version 1.2.2.1 of the class library but in your solution (that uses meinberg nuget) you're installing the 1.2.2.4 nuget of the class...

View Question
4 Votes Selected

We currently suggest sticking to a 1000X1000 sized matrix maximum when you're using the Matrix UI Component. It's not a hard limit, but this guarantees a fast and fluid functionality for heavy actions...

View Question
4 Votes Selected

Hello, Indeed, this tag is auto-generated from DataMiner when it creates DVE protocols out of a main protocol. It's not part of the development guide because it's not intended to be written manually....

View Question
3 Votes Selected

The original reason for choosing that specific call might be lost to time, as this was one of the first connectors ever developed. But I make a couple of guesses from some quick research: From: https://social.technet.microsoft.com/Forums/en-US/0435e7c5-3cda-41a0-953e-7fa462fde03b/perfmon-process-processor-time-vs-task-manager8217s-cpu-usage-for-monitoring-a-specific?forum=perfmon...

View Question
3 Votes Selected

Not an uncommon issue indeed. This can also happen when working with dlls. Project A uses dll1 and dll2.  But dll1 also uses dll2. In these cases the most common way to fix it is to only reference dll1...

View Question
3 Votes Selected

We have a few tasks scheduled under the CI/CD Project. Our first intention will be to focus on Docker Images to run Unit Testing on. This is mostly to make sure code doesn't run on our servers but on isolated...

View Question
3 Votes

"Investigation shows that the precompiled QAction was not compiled," ... "When I restart the element then the precompile QAction gets compiled, and everything works fine again." This seems counter intuitive....

View Question
3 Votes

Notice Please note that this tool is no longer being maintained and was primarily intended for internal use. .NET Tooling for .dmapp and .dmprotocol Packages For the creation of .dmapp or .dmprotocol...

View Question
2 Votes Selected edited answer

Fixed after some more detective sleuthing. I focused on NATS as my guess for being the root cause, as it was often remarked it can often fail to play nice with DataMiner. To assist me. I found this linked...

View Question
2 Votes Selected

There does exist a framework that allows writing unit tests and mocking SLProtocol in a way that you just provide what your expected end-result should be. It doesn't care if you used setcolumn, setrow,...

View Question
2 Votes

Hello, When using the DcfHelper class there is a safety built into the removal so that it only removes items that were created by that element in the past. If you want to remove connections that may...

View Question
2 Votes

There is always a balance in what we do. If you're ever unsure about a decision like the posted question then within SysDev we should generally all try and move in one direction. We go with: KISS.  Keep...

View Question
2 Votes Selected

It looks like all the duplicates have 1 item in range 100 000 and one item in range 150 000. This indicates they were created at very different times but don't know the other existed at the time of creation....

View Question
2 Votes Selected edited answer

I believe the following should do the trick: Cleaning all connections from a specific element delete from elementdata_DMAID where iEID = ELEMENTID and iPID in (65061,65096,65062,65089,65064,65101) and...

View Question

Though that particular use case has never been verified and tested. You could try to use the following method Method IsStartupComplete | DataMiner Docs, part of the Skyline.DataMiner.Core.DataMinerSystem...

View Question
1 Vote Selected

There is no single answer to this question. As you mentioned we need to balance the load vs the used memory. Both are linked to the setup. There's not real benchmarks for this. Best practice would be...

View Question
1 Vote Selected

The connector in question (Generic Gestel) is a smart-serial TCP driver with a single parameter (next-param) in a response. I believe it is setup as a smart-serial 'client' (meaning it has an IP defined...

View Question
1 Vote Selected

InterApp Calls were never tested using Replicated Elements. InterApp calls in the background use two technologies: SLNet remote parameter sets SLNet Subscriptions. If one of those doesn't function...

View Question
1 Vote Selected

Be aware, the marked Answer is a workaround that can still fail in situations. Took a deeper look and found a bug in the class library where the Answer from Thijs will still break if you have more than...

View Question
1 Vote

The DataMinerDevelopmentLibrary has some basic information on what is possible. Actual trainings and published guidelines do not exist yet. We will forward this request to our skyline academy.

View Question
1 Vote Selected

The internal SLNet call as mentioned from Michiel would be the only way currently. With its own dangers of use as also mentioned. I would generally recommend using a driver and element to manage DCF on...

View Question
1 Vote Selected

In case someone comes across this old question: Eventually, we were able to fix every stage, 3rd party app and program used in the CI/CD except the above described dmapp installation step on user side....

View Question
0 Votes Selected

With a connector you can indeed add several different communication ports to talk to the same device. We have several connectors out there that have several "Serial - IP" connections or several SNMP connections...

View Question
0 Votes Selected

Could you provide the full driver name and version? The Cisco CBR-8 has different ranges with different implementations.

View Question
0 Votes