Skyline.DataMiner.Utils.InteractiveAutomationScriptToolkit
9.0.2
Prefix Reserved
See the version list below for details.
dotnet add package Skyline.DataMiner.Utils.InteractiveAutomationScriptToolkit --version 9.0.2
NuGet\Install-Package Skyline.DataMiner.Utils.InteractiveAutomationScriptToolkit -Version 9.0.2
<PackageReference Include="Skyline.DataMiner.Utils.InteractiveAutomationScriptToolkit" Version="9.0.2" />
paket add Skyline.DataMiner.Utils.InteractiveAutomationScriptToolkit --version 9.0.2
#r "nuget: Skyline.DataMiner.Utils.InteractiveAutomationScriptToolkit, 9.0.2"
// Install Skyline.DataMiner.Utils.InteractiveAutomationScriptToolkit as a Cake Addin #addin nuget:?package=Skyline.DataMiner.Utils.InteractiveAutomationScriptToolkit&version=9.0.2 // Install Skyline.DataMiner.Utils.InteractiveAutomationScriptToolkit as a Cake Tool #tool nuget:?package=Skyline.DataMiner.Utils.InteractiveAutomationScriptToolkit&version=9.0.2
Skyline.DataMiner.Utils.InteractiveAutomationScriptToolkit
About
Quickly develop interactive automation scripts for DataMiner. This version is compatible with DataMiner 10.4.7 and up. This package provides an API that more closely resembles other desktop graphical user interface libraries. It builds upon the features available in Skyline.DataMiner.Automation and makes them easier to use.
using System;
using Skyline.DataMiner.Automation;
using Skyline.DataMiner.Utils.InteractiveAutomationScript;
/// <summary>
/// DataMiner Script Class.
/// </summary>
public class Script
{
/// <summary>
/// The Script entry point.
/// </summary>
/// <param name="engine">Link with SLScripting process.</param>
public void Run(Engine engine)
{
// DO NOT REMOVE THE COMMENTED OUT CODE BELOW OR THE SCRIPT WONT RUN!
// Interactive scripts need to be launched differently.
// This is determined by a simple string search looking for "engine.ShowUI" in the source code.
// However, due to the NuGet package, this string can no longer be detected.
// This comment is here as a temporary workaround until it has been fixed.
//// engine.ShowUI(
try
{
// Controls the event loop and switch between dialogs
var controller = new InteractiveController(engine);
// Create an instance of the dialog you wish to show.
var helloWorldDialog = new HelloWorldDialog(engine);
// Starts the event loop and shows the first dialog.
controller.Run(helloWorldDialog);
}
catch (ScriptAbortException)
{
throw;
}
catch (ScriptForceAbortException)
{
throw;
}
catch (ScriptTimeoutException)
{
throw;
}
catch (InteractiveUserDetachedException)
{
throw;
}
catch (Exception e)
{
engine.ExitFail(e.ToString());
}
}
}
// You can define your dialogs by inheriting from the Dialog class
public class HelloWorldDialog : Dialog
{
public HelloWorldDialog(IEngine engine) : base(engine)
{
// Create a label widget
var label = new Label("Hello, World!") { Style = TextStyle.Title };
// Add it to the dialog grid at position 0,0
AddWidget(label, 0, 0);
// Create a button widget
var button = new Button("OK");
// Add it to the dialog just below the label
AddWidget(button, 1, 0);
// Add an action to be performed whenever the button is clicked
button.Pressed += (sender, args) => engine.ExitSuccess("Done");
}
}
If you have questions, you can post them to our DataMiner community platform. Or have a look at the guides and video courses listed below.
Courses and guides
- All video courses related to DataMiner Automation
- Getting started with the toolkit
- Video course covering the toolkit basics (The first 2 minutes can be skipped as they cover how to acquire the toolkit without NuGet)
- Create applications using Model View Presenter
Known Issue
When you use this NuGet package, it is possible you get the following error when launching the script:
DataMinerException: Show UI Failed: 0x800402F5 (Interactive UI can only be used in interactive mode. )
This is due to a DataMiner software issue causing the script to be launched in the wrong mode.
The DataMiner software performs a simple string search to detect if the script should be launched in interactive mode.
It is looking for the following string "engine.ShowUI" which is normally always present in the source code of the
script.
This method call is now handled by the NuGet package, so the string can no longer be found in the script source code,
causing the issue.
We are currently working on a fix which will be available in one of our upcoming DataMiner releases.
Workaround
Add the following comment to your script.
// engine.ShowUI(
Location of the comment does not matter as long as it is visible in the C# code block view of the DataMiner Automation Script UI.
About DataMiner
DataMiner is a transformational platform that provides vendor-independent control and monitoring of devices and services. Out of the box and by design, it addresses key challenges such as security, complexity, multi-cloud, and much more. It has a pronounced open architecture and powerful capabilities enabling users to evolve easily and continuously.
The foundation of DataMiner is its powerful and versatile data acquisition and control layer. With DataMiner, there are no restrictions to what data users can access. Data sources may reside on premises, in the cloud, or in a hybrid setup.
A unique catalog of 7000+ connectors already exist. In addition, you can leverage DataMiner Development Packages to build you own connectors (also known as "protocols" or "drivers").
Note See also: About DataMiner.
About Skyline Communications
At Skyline Communications, we deal in world-class solutions that are deployed by leading companies around the globe. Check out our proven track record and see how we make our customers' lives easier by empowering them to take their operations to the next level.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
-
.NETFramework 4.6.2
- Skyline.DataMiner.Dev.Automation (>= 10.4.7)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
9.0.3 | 2,450 | 10/8/2024 |
9.0.3-prerelease.3 | 94 | 6/21/2024 |
9.0.3-prerelease.2 | 293 | 10/2/2024 |
9.0.3-prerelease.1 | 49 | 10/2/2024 |
9.0.2 | 3,611 | 7/16/2024 |
9.0.2-prerelease.3 | 47 | 7/15/2024 |
9.0.2-prerelease.2 | 51 | 7/15/2024 |
9.0.2-prerelease.1 | 46 | 7/15/2024 |
9.0.1 | 4,444 | 6/21/2024 |
9.0.1-prerelease.2 | 686 | 6/10/2024 |
9.0.1-prerelease.1 | 64 | 6/10/2024 |
8.0.4 | 4,682 | 5/7/2024 |
8.0.3 | 5,229 | 2/29/2024 |
8.0.2 | 2,301 | 2/20/2024 |
8.0.1 | 869 | 2/14/2024 |
8.0.1-prerelease-3 | 301 | 1/30/2024 |
8.0.1-prerelease.4 | 126 | 2/2/2024 |
8.0.1-prerelease.2 | 57 | 1/30/2024 |
8.0.1-prerelease.1 | 77 | 1/26/2024 |
7.0.5 | 329 | 5/7/2024 |
7.0.5-prerelease.1 | 65 | 5/7/2024 |
7.0.4 | 396 | 2/20/2024 |
7.0.3 | 326 | 2/14/2024 |
7.0.2 | 7,589 | 11/17/2023 |
7.0.1 | 3,628 | 10/10/2023 |
6.1.0 | 8,401 | 4/13/2023 |
6.0.6 | 384 | 5/7/2024 |
6.0.5 | 245 | 2/20/2024 |
6.0.4 | 261 | 2/14/2024 |
6.0.3 | 394 | 11/17/2023 |
6.0.2 | 715 | 4/5/2023 |
6.0.1 | 666 | 4/4/2023 |
6.0.0 | 733 | 3/20/2023 |
5.0.2 | 149 | 5/7/2024 |
5.0.1 | 460 | 2/14/2024 |
5.0.0 | 886 | 3/20/2023 |
4.0.1 | 237 | 2/14/2024 |
4.0.0 | 921 | 3/20/2023 |
3.0.1 | 257 | 2/14/2024 |
3.0.0 | 642 | 3/20/2023 |
2.0.1 | 248 | 2/14/2024 |
2.0.0 | 689 | 3/20/2023 |
1.0.1 | 264 | 2/14/2024 |
1.0.0 | 672 | 3/20/2023 |