Skyline.DataMiner.Dev.Utils.Solutions.Categories.Protocol
1.1.0
Prefix Reserved
dotnet add package Skyline.DataMiner.Dev.Utils.Solutions.Categories.Protocol --version 1.1.0
NuGet\Install-Package Skyline.DataMiner.Dev.Utils.Solutions.Categories.Protocol -Version 1.1.0
<PackageReference Include="Skyline.DataMiner.Dev.Utils.Solutions.Categories.Protocol" Version="1.1.0" />
<PackageVersion Include="Skyline.DataMiner.Dev.Utils.Solutions.Categories.Protocol" Version="1.1.0" />
<PackageReference Include="Skyline.DataMiner.Dev.Utils.Solutions.Categories.Protocol" />
paket add Skyline.DataMiner.Dev.Utils.Solutions.Categories.Protocol --version 1.1.0
#r "nuget: Skyline.DataMiner.Dev.Utils.Solutions.Categories.Protocol, 1.1.0"
#:package Skyline.DataMiner.Dev.Utils.Solutions.Categories.Protocol@1.1.0
#addin nuget:?package=Skyline.DataMiner.Dev.Utils.Solutions.Categories.Protocol&version=1.1.0
#tool nuget:?package=Skyline.DataMiner.Dev.Utils.Solutions.Categories.Protocol&version=1.1.0
Skyline.DataMiner.Solutions.Categories
The Categories API provides a flexible way to organize and categorize items using a hierarchical tree structure. This API is part of the DataMiner Categories application, and can be used by other solutions to manage categories via code.
Main Components
- Scopes: Define contexts for categories (e.g., "Resource Studio", "Virtual Signal Groups")
- Categories: Provides hierarchical structure for grouping items. Categories can be nested to form a tree structure
- Category Items: Link external items to categories using ModuleId and InstanceId
ModuleId and InstanceId are strings that uniquely identify items within DataMiner. These typically refer to DOM instances, but can represent any item type.
Key Features
- Hierarchical category trees with unlimited depth
- Multiple scopes for different contexts
- LINQ-based querying
- Built-in caching for optimal performance
- Real-time subscriptions to data changes
- Batch operations for efficiency
- Strongly-typed API
Quick Start
using Skyline.DataMiner.Solutions.Categories.API;
// Initialize the API
var api = new CategoriesApi(connection);
// Create a scope
var scope = new Scope { Name = "Network Devices" };
api.Scopes.CreateOrUpdate([scope]);
// Create categories
var routers = new Category { Name = "Routers", Scope = scope };
api.Categories.CreateOrUpdate([routers]);
// Add items
var items = new[]
{
new CategoryItemIdentifier("(slc)resources", "0a542997-d771-45d4-b9e7-ad3cffdf7b40"),
new CategoryItemIdentifier("(slc)resources", "0a069d67-0b1a-48bd-99f0-fb291f9732c7")
};
api.CategoryItems.AddChildItems(routers, items);
// Query with LINQ
var results = api.Categories.Query()
.Where(c => c.Name.Contains("Router"))
.ToList();
Documentation
- Getting Started - Installation and basic usage
- Quick Reference - Cheat sheet with common code snippets
- Core Concepts - Understanding the data model
- Examples - Common usage patterns
- Advanced Topics - Caching, Subscriptions, validation, and more
Installation
dotnet add package Skyline.DataMiner.Dev.Utils.Solutions.Categories
Basic Examples
Creating a Category Hierarchy
var devices = new Category { Name = "Devices", Scope = scope };
var routers = new Category
{
Name = "Routers",
Scope = scope,
ParentCategory = devices,
};
api.Categories.CreateOrUpdate([devices, routers]);
Querying Categories
// Get all categories in a scope
var categories = api.Categories.GetByScope(scope);
// Get category tree
var tree = api.Categories.GetTree(scope);
// Get ancestor path
var path = api.Categories.GetAncestorPath(category);
Using Cache for Performance
using Skyline.DataMiner.Solutions.Categories.API;
var cache = StaticCategoriesCache.GetOrCreate(connection);
// Fast O(1) lookup by name
var scope = cache.GetScope("Network Devices");
// Get categories for scope
var categories = cache.GetCategoriesForScope(scope);
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 exists. In addition, you can leverage DataMiner Development Packages to build your own connectors (also known as "protocols" or "drivers").
Note See also: About DataMiner.
About Skyline Communications
At Skyline Communications, we deal with 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 | net48 is compatible. net481 was computed. |
-
.NETFramework 4.8
- Skyline.DataMiner.Core.DataMinerSystem.Protocol (>= 1.1.3.5)
- Skyline.DataMiner.Dev.Common (>= 10.5.9.2)
- Skyline.DataMiner.Dev.Protocol (>= 10.5.9.2)
- Skyline.DataMiner.Dev.Utils.Solutions.Categories (>= 1.1.0)
- Skyline.DataMiner.Utils.DOM (>= 10.5.2.5)
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 |
|---|---|---|
| 1.1.0 | 39 | 2/17/2026 |