User info
First name | Thomas |
Last name | Ghysbrecht |
DevOps Program
Acquired rank |
Enabler
|
Points progress |
6418
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 Joey, Compilation errors issue: There is some logic in the Automation module that makes it possible to define script code without having to put this in a Run method of the Script class. (You can just...
View QuestionThe SRM (and other) helpers require a callback to DataMiner. This can be added like this: helper = new ResourceManagerHelper(); helper.RequestResponseEvent += (s, e) => e.responseMessage = engine.SendSLNetSingleResponseMessage(e.requestMessage);
View QuestionUpdate 2023-06-28: The User-Defined APIs feature has been released as scheduled in 10.3.6! You can find the documentation here: https://docs.dataminer.services/user-guide/Advanced_Modules/User%20Defined%20APIs/UD_APIs.html...
View QuestionHi Joey, In Cube, there is currently a simple UI available that gives you an overview of all APIs & tokens. Note that this is currently in soft-launch and may change in the future. The 'Viewing...
View QuestionHi Ive, If the reference to the DomInstance is stored in a list, it is unfortunately not possible at the moment with GQI because it does not support filtering & displaying DOM fields with multiple...
View QuestionHi Mieke, There is nothing built-in since DataMiner does not know the actual secret of the token (only a secure hash). You can however manually create another token on the production system and set the...
View QuestionHi Edson, As suggested by the thread initiated by Ruben, the issue is indeed caused by the 'EnableJson' option on the deployment. This is enabled by default and cannot be overridden in the Cube UI. This...
View QuestionHi Mieke, It is unfortunately not possible to configure the size of these text boxes. Scaling the size with the contents may make sense indeed, feel free to add a feature suggestion for this.
View QuestionHi Leander, If I understand the situation correctly, you may have accidentally enabled 'multiple sections' for that Section Definition. Being able to click that '+' sign to add another Section is a feature...
View QuestionHi Robin, I believe that this error indicates that there is not enough disk space free on the system. Elastisearch goes into a read-only mode to protect your data. You will have to free up some space...
View QuestionHi Daniela, It looks like the URL you are trying to use is incomplete. The path should always start with 'api/custom/'. This would thus make: "https://<host>/api/custom/DOL/maintenance". Can you...
View QuestionHi Ben, With dispatch, do you mean that a mail is sent with the PDF? If that is the case, you could simply create an Automation script with an email action. There you can configure that a PDF of a dashboard...
View QuestionHi Rajesh, Can you try removing this FieldDescriptor and adding it again? (Same name & type) It will have a different ID (which will hopefully not lead to too much extra work for you). The DomInstance...
View QuestionHi Benjamin, Did you see any error/stack trace when the Client Test Tool failed to delete the DOM Instances? I am not sure what the exact cause would be for this slow deletion, but I could come up with...
View QuestionHi Pieter-Jan, I have had this issue as well and found that I could fix this by repairing my Visio installation.
View QuestionAs Alexander mentioned, this does indeed seem to be an exception that is thrown inside the installation script. I tried this on my local development agent running a dev build of 10.4.10 and this worked...
View QuestionHi Leander, As you have noticed, there is indeed a limitation on the length of a DOM field when using Elasticsearch or OpenSearch. Due to the way the data is indexed for search, the limit is 32,766 UTF8...
View QuestionHey Christine, It is possible to also pass information to the API script using query parameters. (From DataMiner 10.4.1) You can find more info here: https://docs.dataminer.services/user-guide/Advanced_Modules/User-Defined_APIs/Defining_an_API/UD_APIs_Defining_a_new_API.html#user-input-data...
View QuestionHi Stacey, There is currently no way to disable the DOM instance history creation. A task for this is already in our backlog & should be scheduled in the relatively near future. You can however already...
View QuestionHi Rajesh, By default, when no 'DomInstanceNameDefinition' is found on the ModuleSettings or the DomDefinition (ModuleSettingsOverrides), the ID of the DomInstance will be used for its name. This docs...
View QuestionHi Edith, you can check the Elasticsearch logging to hopefully see why Elasticsearch doesn't want to start. The files can be found here: 'C:\Program Files\Elasticsearch\logs'. There could be quite a lot...
View QuestionHi Sergio, You could possibly re-use the same SMS Eagle device to send messages, but not receive them, as DataMiner will read and process each message that arrives on that device. The messages from other...
View QuestionAs João Severino already said, you will have to create a C# code block to use the script parameters in an email. This is a very short example script that does this: var scriptParamValue = engine.GetScriptParam("ParamName").Value;...
View QuestionHi Mieke, This method will not wait until the script starts if called with the 'Synchronous' option set to false. The execution will be added to the queue and will return. If a point is reached where...
View QuestionHi Rui, For DOM, it is safe to just cast the 'SectionDefinition' to a 'CustomSectionDefinition'. That way you will have access to the methods for adding extra FieldDescriptors.
View QuestionHi Ibrahim, The SLAutomation log has most likely started overwriting the previous log lines due to the large amount of them. You can find the most recent log line by searching for the separator '**********'....
View QuestionFound the issue. Checked my network configuration and saw that my DNS was set to 127.0.X.X. Apparently something related to the Cloudflare WARP VPN service. After toggling this on & off again, it works...
View QuestionHi Justien, Since this is an interactive script that needs to wait on user input, you will have to provide a button that allows the user to dismiss the message. You can easily add a button yourself at...
View QuestionHi Mieke, If retrieving a huge amount of DomInstances would be required, paging is the way to go. Keep in mind that the example you provided will load all these DomInstances into memory. If these could...
View QuestionHi Martijn, You can do this using an 'AutoIncrementFieldDescriptor'. By adding one of those FieldDescriptors to a SectionDefinition, the DOM manager will automatically increment an ID and add the value...
View QuestionHi Thomas, As you have indeed noticed, there is no automated way of assigning these default values to a DomInstance. The default values defined on a FieldDescriptor are currently only used by the form...
View QuestionHi Gerwin, Attachments are already fully supported for DOM. You can find a short explanation in the documentation here: https://docs.dataminer.services/user-guide/Advanced_Modules/DOM/DomHelper_class.html#attachments....
View QuestionHi Michiel, The ID of the module where a DomInstance was created in is not encoded into the Guid. This is a separate string that should be stored alongside the Guid where necessary.
View QuestionHi Arun, As mentioned by Miguel, that placeholder is indeed not supported in the context of a 'Send email' action in an Automation script. There are however two that are supported: [user] - Will be...
View QuestionHi Gerwin, This should be fine as long as the existing data is still valid according to the updated state configuration. Considering you have only added states, I would assume that there should be no...
View QuestionHi Ana, It is possible to retrieve all currently running scripts using an SLNet message. It is the same message that is used to populate the table in João's reply. Do note, as João mentioned, that there...
View QuestionHi Thomas, The DOM API should retain the exact order in which the Sections were added to the DOM instance. If the create/update interaction with this DOM data is solely done using the DOM helper, then...
View QuestionHi Mieke, There is no automated way to generate API docs from User-Defined APIs configured in DataMiner. There is a reply to another Dojo question that elaborates a bit more about that: https://community.dataminer.services/question/user-defined-api-overview-and-documentation-of-deployed-apis/answer/104948/...
View QuestionHi Thomas, There are currently no plans of supporting that use case in the context of User-Defined APIs. This feature is intended to allow easy interaction on a caller basis via HTTP requests. I would...
View QuestionHi Julio, Does the code you posted work for your use case? Because from what I can tell, it looks correct. You need to define separate filters for all the conditions that should be met and then merge...
View QuestionHi Blake, Update: I chatted with Blake offline & found the issue after checking out the SLClientTestTool follow of the connection. It seems that the web form component is adjusting two read-only DateTime...
View QuestionHi Wannes, Increasing the timeout is described on the 'DataMiner UserDefinableApiEndpoint DxM' page of the documentation. There is a section here that describes that you'll need to alter the config of...
View QuestionHi Gerwin, This is unfortunately not possible right now. But there is already a task for this on our backlog.
View QuestionHi Mieke, That exception is caused due to an assembly redirect in the file "C:\Skyline DataMiner Configs\Skyline DataMiner\Files\SLNet.exe.config". There, the System.IO.FileSystem 'newVersion' should...
View QuestionHi Bernard, You can check the "Attach CSV data files" advanced option when configuring your report. (See DataMiner help) The CSV data (in a .zip) will then be copied over, alongside the PDF or MHT file.
View QuestionHi Bernard, as Miguel already said, the bindings from 1.3.6.1.4.1.8813.1.1.2.2.17 onward are the alarm properties (And are variable depending on your configuration). If these extra OIDs are not desired,...
View QuestionHi Peter, When a user clicks a button in a LCA which executes an Automation Script, it will be executed in the security context of that user. Any SLNet message sent within this script will be executed...
View QuestionHi Tim, depending on the log levels, it could be that a delete action is logged in the DOM manager log file (SLDomManager_<module id>.txt). If the log level is not set to debug, there is unfortunately...
View QuestionHi Jochen, The filter you provided should actually work fine. I just tried it out on my local dev agent and it seems to be working as expected. Even with an OR clause, and when using a multiple value...
View QuestionHi Tim, The easiest way to serialize and deserialize a DOM instance is by using the 'domInstance.ToJson()' and 'DomInstance.FromJson()' methods.
View QuestionHi Michiel, This is perfectly possible. Seems like the documentation was missing a section for this. I just created a pull request that will add an example to the 'Filtering CRUD events' section of the...
View QuestionHi Jens, User A would always read either the full old version or the full new version that was updated by user B. It should not be possible to retrieve a partially updated/corrupt DOM instance. It depends...
View QuestionHi Toon, Can you check the SLUserDefinableApiManager.txt log file? This may reveal what may have gone wrong when the API script response is being handled. The current internal test version had an issue...
View QuestionHi Jens, It is possible to use the 'KeyExists' exposer to retrieve all DOM instances that have a value for a given FieldDescriptor. There are however some important notes: This will only work efficiently...
View QuestionHi José, It is unfortunately not possible right now to feed the DOM instance ID of the DOM instance inside a form to another component. I agree that it would be very valuable that this is available and...
View QuestionHi Apurva, It seems that the filter string is not entirely correct. As you can see in the SLNet Client Test tool, the subject ID (displayed as 'DomInstance ID') is actually prefixed with 'DomInstanceId'....
View QuestionHi Amer, Providing the memory files to the script action can be done by adding a string to the second string array with the syntax 'MEMORY:1:MyMemoryFile'. You can add multiple strings and increment the...
View QuestionHi Rejesh, Could you maybe post some screenshots that show what you mean? I am not sure if I understood your question correctly. I would expect that, if you take the date of a reservation in a script,...
View QuestionHi John The DOM components in Dashboards & Low-Code apps are only available after enabling a soft-launch flag. These will be fully released in the upcoming 10.3.6 version. To see the DOM types in...
View QuestionHi Gerwin, You should indeed create a script that will execute the transition by code. You can then link this script to a DOM action, which is then linked to a DOM button. There is currently no built-in...
View QuestionHi Martijn, This should definitely be possible. I made a short example of how you can retrieve the DOM history for one DomInstance in a script: https://github.com/Skyline-ThomasGH/DataMiner_ScriptExamples/blob/main/DOM_GetHistoryForInstanceExample.xml...
View QuestionHi Gerwin, On any FieldDescriptor, you can define a default value. (Last property in the table here) You could assign the value for that specific service there. This way, when you create a DomInstance...
View QuestionHi Arunkrishna, That is a known issue that should have no impact on the main SMS functionality. The error is logged when the SLGSMGateway process tries to send an update to the SLNet process with the...
View QuestionHi Bing, The 'DataMiner Agent' option in the filter indeed applies to the DMA ID as you noticed. This seems to be the expected behavior. I captured the message that Cube sends to create a filter using...
View QuestionHi Carlos, Thank you for your clear and comprehensive explanation of your issue. I would expect that the source IP should be the one of the agent that hosts the element. (Unless the SNMP Manager is explicitly...
View QuestionHi Bruno, The JobManager logging shows that the JobManager could not be initialized because maintenance is in progress. You should be able to see more details about this maintenance (a.k.a. migration)...
View QuestionMake sure that the engine object passed by the Run method in the automation script is used for the SLNet messages callback of the ResourceManagerHelper. The name of the user that executes the script will...
View QuestionHi Stacey, I'm afraid that there is currently no way to trigger a correlation rule when a Ticket is created. This will need a feature request.
View QuestionHi Julien, It should be possible to use the paging API of the DOM helper to limit the amount of data and allow extra data to be loaded when needed. You can find a small code snippet of this here (Read...
View QuestionHi Ruben, It seems that it is unfortunately not possible to easily get all rows from an alarm template using that helper. If that functionality would be required, you could use the 'GetAlarmTemplateMessage'...
View QuestionHi Reinout, Currently, the DOM editor would the easiest solution to export DOM instances. When importing the DOM instances again, the CRUD scripts should get triggered. Do keep in mind however that these...
View QuestionHi Bernard, from what I can find on the concept of the Dashboard Gateway, I do not believe this to be capable of providing a way to interact with User-Defined APIs. At least, not in the same way as for...
View QuestionHi Tim, It is already possible to add URL and Email validation to string fields, but unfortunately, there is no generic/configurable validation possible right now. If this would be a key part of something...
View QuestionHi Jens, My response to your other Dojo question contains some details already about this flow, but in general, all write operations to DOM instances are queued on each DMA. This does not include the...
View QuestionHi Mieke, For your second question. It is unfortunately not possible to cancel an ongoing query. When a script is set to timeout at 1 minute, it will only stop after the query returns as the thread is...
View QuestionHi Mieke, For these fields to be accessed, you need to cast the object. You can find more info here: https://docs.dataminer.services/user-guide/Advanced_Modules/DOM/DOM_objects.html#itrackbase-properties
View QuestionHi Jens, There is unfortunately no built-in method that will generate a string representation of a DOM instance. You will have to loop over the Sections & FieldValues and build it using a StringBuilder.
View QuestionHi Vikas, You can check what scripts are currently running using the SLNet Client Test Tool. There is a procedure in the DataMiner Docs that shows you how to see these scripts and how to abort one if...
View QuestionHi Apurva, If I understand your question correctly, you currently have DOM data displayed in a low-code app, and you would like to interact with them in a DataMiner Automation script? If that is the case,...
View QuestionHi Marieke, Since the DOM module settings are stored in STaaS, the same reasoning applies here. It is not necessary to include these in the backup.
View QuestionHi Edson, According to the metrics, the User-Defined APIs feature should be able to handle that amount of requests (~1 every two seconds if my calculations are correct). If that trigger rate is correct,...
View QuestionHi Mieke, Can you share how these filters are built in the code? One thing you could try is removing some parts of the filter or built it term by term until it stops matching the expected data. I tried...
View QuestionHi Mark, This may not be the best approach, but from my testing, it seems that you can enable a sliding window with a specified time span. (E.g. 1 hour) The correlation actions will be executed the first...
View QuestionHi Pawel, Could you check if you have the permissions for the User-Defined APIs feature? https://docs.dataminer.services/user-guide/Advanced_Functionality/Security/DataMiner_user_permissions.html#modules--user-defined-apis
View QuestionHi Tim, If you have exported the module using the DOM Editor, you will indeed need to import it again with that. I am not sure if it is possible to call that import code from an install script. I can...
View QuestionHi Christhiam, From what I understood, I believe that the issue is caused by the destination web server being unable to handle all the requests it is receiving. This results in most requests taking a...
View QuestionHi Thomas, Unfortunately, we do not have a clear overview of what type of blocks can use the ConfigOptions. We have tasks on the backlog for this and to resolve/clear up the inconsistencies between an...
View QuestionHi Gerwin, I believe that deployments are by default of type 'JSON' right now. That means only one script parameter can be present and that the full HTTP body of the trigger request will be contained...
View QuestionHi Alberto, That behavior does seem to be unexpected. We took a look at this with a few colleagues but currently do not have an idea on what is causing this. Could you share the following?: - Alarm template...
View QuestionHi Stacey, You can create tickets using the Ticketing Gateway API. (That uses the TicketingGatewayHelper you mentioned). There is a topic in the DataMiner Help about this: https://help.dataminer.services/dataminer/#t=DataMinerUserGuide%2Fpart_4%2Fticketing%2FUsing_the_Ticketing_Gateway_API.htm&rhsearch=Ticketinggatewayhelper&rhsyns=%20
View QuestionHi Daniel, With the information you provided, your implementation seems to be perfectly fine. If the amount of triggers and their payload size is reasonable, I would see no particular issue with keeping...
View QuestionHi Ana, If you are using a GenericEnumFielDescriptor of type 'int', make sure that the values you store on the DOM instance are of type 'int'. Here you can find an example: https://docs.dataminer.services/user-guide/Advanced_Modules/DOM/DOM_objects/DOM_FieldDescriptors/DOM_GenericEnumFieldDescriptor.html?q=GenericEnumFieldDescriptor#int-enum-1
View QuestionHi Tim, The most efficient would be to retrieve them in one single request (or the least amount possible). You could use the 'RetrieveBigOrFilter' tools method that is available in the SLNetTypes DLL....
View QuestionHi Apurva, From what I can tell, the code you shared should work in general. I do want to share some tips however: I see that the 'ApiTriggerInput' request data is being serialized to JSON so it...
View QuestionUpdate 2024-06-18: After receiving the script XML it was found that the script in question is using the graphical UI blocks instead of C# code. These blocks behave differently, so the explanations that...
View QuestionHi Gerwin, If I understood the question correctly, you have a validation DOM action script that needs to show an interactive UI when there is an issue. But, you would also like to trigger this action...
View QuestionHi German, As mentioned by Tom, you could use the DOM history to know this. You could retrieve the last few history records for that specific DOM instance and try to find the status transition. Do note...
View QuestionHi Tim, What Jens suggested could be an easy approach to get the intended behavior. Do keep in mind that this could introduce an infinite loop. In general, I would not recommend an approach where a DOM...
View QuestionHi Pawel, The answer of Tom will set you on your way using the DOM utils NuGet. This NuGet can be very handy, definitely when you are building a complete solution that relies on DOM. Do note however...
View QuestionHi Mieke, For a non-status system DOM definition, you should be able to hide the fields in a form by just setting the 'IsHidden' property on the FieldDescriptor to 'True'. When using a status system...
View Question