Table of Contents

General Feature Release 10.0.11

Note

For known issues with this version, refer to Known issues.

Tip

For information on how to upgrade DataMiner, see Upgrading a DataMiner Agent.

New features

DMS core functionality

Proactive cap detection [ID_26637][ID_27132][ID_27241][ID_27355][ID_27393]

To further enhance the proactive monitoring capabilities of DataMiner, proactive cap detection is now available. This DataMiner Analytics feature predicts future issues based on trend data in the Cassandra database, using advanced techniques that consider repeating patterns, information on the rate at which a parameter value increases or decreases, etc. However, note that some events simply cannot be predicted. For example, a spike in a trend graph caused by randomly pulling out a cable can never be predicted by looking at historical trend data, so proactive cap detection will not know about this in advance.

Specifications

For the best results, both real-time and average trending should be activated on a parameter for which you want proactive cap detection to be available. To calculate its predictions, DataMiner Analytics will make use of the available real-time data, 5-minute average data, 1-hour average data and daily average data. It can predict at most 200 data points into the future. This is further limited by the available data: if there is a data set of a specific number of points, DataMiner Analytics can never predict further than that number of points divided by ten. For example, if the database contains one year of hourly averages and no daily averages, then DataMiner Analytics computes 365 daily averages and is able to predict issues 36 days into the future.

This feature is currently only available for trended parameters with numeric values, and not for partial table parameters. Because of memory constraints, proactive cap detection is also only possible for up to 100 000 parameters per DMA. If there are more parameters for which proactive cap detection would be possible, no predictions will be available for these and the Analytics log file will mention that the number of tracked parameters exceeded the maximum.

in addition, proactive cap detection is currently only supported for parameters for which there are explicitly specified value bounds. It will predict when a parameter will cross one of these bounds:

  • A high and/or low data range value specified in the protocol, or,
  • A (by default) critical alarm limit of type normal (i.e. not rate or baseline) specified in the alarm template, or,
  • A data range indirectly derived from the protocol info. Currently this is limited to the values 0 and 100 for percentage data for which no historical values were encountered outside the [0,100] interval.

However, note that in case there is both a data range in the protocol and an alarm threshold in an alarm template, the alarm template will get precedence.

Configuration in DataMiner Cube

In DataMiner Cube, you can enable this feature in System Center, via System settings > analytics config. There you can also configure the lowest alarm threshold severity that will be taken into account for proactive cap detection. If this is for example set to Major, proactive cap detection will alert the operator whenever a parameter is predicted to go out of range or is predicted to trigger a major or critical alarm.

Suggestion events

The notifications generated by the proactive cap detection feature are displayed in the suggestion events tab of the Alarm Console, along with the notifications for behavioral anomaly detection. These are alarms with severity "Information" and source "Suggestion Engine”.

The value of the suggestion event mentions what kind of issue is expected, e.g. a critical high or low alarm or an above or below range violation. The value also mentions between which times the issue is expected to occur. The closer to the predicted time, the more accurate this prediction will be, so the suggestion event will be automatically updated with more accurate information when appropriate. As soon as the predicted time of the incident has passed, the suggestion event will be cleared.

DataMiner Application packages: New format of minimum DataMiner version in AppInfo.xml file [ID_27257]

In the AppInfo.xml file, the minimum DataMiner version now has to be specified using the following format:

  • x.x.x.x-xxxx

See the following example:

<AppInfo>
  <Name>...</Name>
  <DisplayName>...</DisplayName>
  <Version>...</Version>
  <Description>...</Description>
  <LastModifiedAt>...</LastModifiedAt>
  <MinDmaVersion>10.0.11.0-9451</MinDmaVersion>
  <AllowMultipleInstalledVersions>...</AllowMultipleInstalledVersions>
  <Configuration>
    ...
  </Configuration>
</AppInfo>

Custom prefix configuration for Elasticsearch indices [ID_27091]

To support the possibility to have two independent DataMiner Systems using the same Elasticsearch cluster, in the DB.xml file, you can now specify a custom prefix in the <DB> tag for the Elasticsearch database, so that the Elasticsearch indices are updated with this prefix instead of the default "dms" prefix. Note that only regular alphanumeric characters are supported for the prefix, not symbols.

Support for FileCache tag in DB.xml [ID_27314]

To support the offload of files to a file cache instead of to a MySQL, MSSQL or Oracle central database, a new FileCache tag is now supported in the file DB.xml. for example:

<DataBase active="True" local = "false">
    <FileCache enabled="true">
        <MaxSizeKB>10000</MaxSizeKB>
    </FileCache>
</DataBase>

If the enabled attribute of this tag is set to true, files will still be offloaded to the system cache folder but not forwarded to the central database.

The MaxSizeKb subtag determines the maximum size of the offloaded files (by default 10 GB). If this limit is reached, the oldest files will be removed until the total size is again less than the defined limit.

Note that this feature cannot be configured in DataMiner Cube yet, but this is planned to be added soon.

DMS Security

Elasticsearch: Security now by default enabled on new installations [ID_27026]

From now on, when you install an Elasticsearch database, security will be enabled by default (basic authentication and TLS).

In the Db.xml file, it will now also be possible to configure an Elasticsearch user name and password. This will enable remote installations or current installations to also use basic Elasticsearch authentication features.

DMS Protocols

NT_SNMP_RAW_GET, NT_SNMP_RAW_SET, NT_SNMP_GET and NT_SNMP_SET requests now support the credential library [ID_27275]

The NT_SNMP_RAW_GET, NT_SNMP_RAW_SET, NT_SNMP_GET and NT_SNMP_SET requests now support the credential library.

  • If you pass a GUID, you do not need to pass any credentials.

  • If you do not pass a GUID or you pass an empty string instead of a GUID, you must pass credentials in plain text. When you pass neither a GUID nor plain-text credentials, the request will be considered invalid.

    Note
    • Library credentials take precedence over plain-text credentials.
    • If you pass an invalid GUID (either a non-existing GUID or a GUID of an incorrect type), the request will be considered invalid. There will be no fall-back to plain-text credentials.

See the examples below.

  • GET example:

    // NotifyDataMiner NT_SNMP_RAW_GET
    object[] oTableElementInfo = new object[10];
    ...
    oTableElementInfo[9] = "665d680e-4097-455c-9ffc-0e4a06fa63c1";
    result = (object[])protocol.NotifyDataMiner(424 /*NT_SNMP_RAW_GET*/, oTableElementInfo, oRequestInfo);
    
    // NotifyProtocol NT_SNMP_GET
    object[] oTableElementInfo = new object[15];
    ...
    oTableElementInfo[14] = "665d680e-4097-455c-9ffc-0e4a06fa63c1";
    result = (object[])protocol.NotifyProtocol(295 /*NT_SNMP_GET*/, oTableElementInfo, oRequestInfo);
    
  • SET example:

    // NotifyDataMiner NT_SNMP_RAW_SET
    object[] oTableElementInfo = new object[8];
    ...
    oTableElementInfo[7] = "665d680e-4097-455c-9ffc-0e4a06fa63c1";
    result = (object[])protocol.NotifyDataMiner(425 /*NT_SNMP_RAW_SET*/, oTableElementInfo, oRequestInfo);
    
    // NotifyProtocol NT_SNMP_SET
    object[] oTableElementInfo = new object[12];
    ...
    oTableElementInfo[11] = "665d680e-4097-455c-9ffc-0e4a06fa63c1";
    result = (object[])protocol.NotifyProtocol(292 /*NT_SNMP_SET*/, oTableElementInfo, oRequestInfo);
    

DMS Cube

Alarm Console: Automatic incident tracking [ID_25162][ID_25802][ID_25905][ID_26592][ID_27027][ID_27336]

This new DataMiner Analytics feature groups active alarms that are related to the same incident, so that the Alarm Console provides a better overview of the current issues in the system. Unlike Correlation tracking, this happens completely automatically, without any configuration by the user. Based on what it has learned from past alarm activity in your system and based on a broad range of auxiliary data, DataMiner Analytics automatically detects which alarms share a common trait and groups them as one incident.

To activate this feature, in the Alarm Console hamburger menu, select Automatic incident tracking. However, note that the feature must also be activated in System Center (see “Configuration in System Center” below).

Several factors are taken into account for the grouping:

  • The polling IP (for timeout alarms only)
  • Service information
  • The IDP location (only in case the IDP Solution is deployed)
  • Element information
  • Parameter information
  • Time
  • Alarm focus information

If no suitable match is found, alarms will not be grouped. Timeout and non-timeout alarms, for example, are considered incompatible and will never be grouped with each other. Also, since only alarms with a focus score are taken into account, automatic incident tracking does not apply to information events, suggestion events or notice messages. In addition, if the alarm focus feature is disabled on one or more DMAs in the DataMiner System, only partial results will be available.

The grouping of alarms into incidents is updated in real time whenever appropriate:

  • New alarms are added to existing groups if they match.
  • A group is cleared if its base alarms are cleared or if the reason for its original creation comes to an end.
  • If a group is cleared, any alarms in the group that are still active may be regrouped if other matching alarms exist, either in a new group or in an existing one.

In the Alarm Console, alarm groups are displayed as a special kind of alarm entries:

  • The icon of an alarm group is similar to that of a correlated alarm.
  • The alarm color of an alarm group entry reflects the highest severity of the alarms within the group, but the severity of the group itself is Suggestion.
  • The parameter description of the entry is Alarm Group.
  • The value of the entry is the reason why the alarms are grouped. If there is no single obvious reason, the value will be Group with multiple reasons.
  • The root time of the group is the root time of the most recent alarm in the group at the time when the group was created.
  • If alarms are added to a group or removed from a group, the alarm type will be updated from New alarm to Base alarms changed.
  • You can expand the group to view all alarms within it.
  • If all alarm entries within an alarm group are masked, the group is automatically masked as well. However, as soon as one of the entries is unmasked, the group is also unmasked.
Note
  • Using automatic incident tracking with history sets is supported; however, keep in mind that this may trigger the creation and immediate clearing of a large number of alarm groups.
  • When an element is stopped or paused, the alarms associated with that element will not be taken into account when grouping alarms. Also, alarms associated with elements that are stopped or paused will be removed from any existing alarm group.

In DataMiner Cube, you can enable this feature in System Center, via System settings > analytics config > automatic incident tracking. The following settings are available there:

Setting Description
Leader DataMiner ID The DMA performing all incident tracking calculations. By default, this is the DMA with the lowest DataMiner ID at the time when alarm grouping is enabled.
Enabled Allows you to activate or deactivate this feature. Note that when you upgrade to DataMiner 10.0.11, the feature is automatically disabled, unless it had been previously been activated as a soft-launch feature.
Maximum time interval The maximum time interval between alarms that can be grouped as one incident. If the root times of alarms are further apart than the configured interval, the alarms will not be grouped.

Visual Overview: Element-level Visio files [ID_26648][ID_27376]

Up to now, when you assigned a Visio file to an element, it was assigned on protocol-level, i.e. to all elements sharing the same protocol. Now, it is also possible to assign a Visio file to one particular element. If you do so, the element-level Visio file will override the element’s protocol-level Visio file.

In the header bar menu of an element card, you will now have two “set as active Visio file” commands:

  • Set as active ‘protocol name’ protocol Visio file
  • Set as active ‘element name’ element Visio file

If you pick the protocol Visio file option, the following options are available:

Option Function
Custom Assigns the available custom protocol drawing to all elements using this protocol.
Protocol default Assigns the protocol default drawing to all elements using this protocol. Protocol default drawings are Visio drawings that are included in certain protocol packages.
General default Assigns the general default drawing to all elements using this protocol. This is the drawing shipped with the DataMiner software.

If you pick the element Visio file option, the following options are available:

Option Function
New blank Opens a new, blank drawing in Microsoft Visio, which will automatically be assigned to the current element.
New upload Opens the Open dialog box, which allows you to upload a new drawing to the DMS and automatically assign it to the current element.
Existing Opens the Custom dialog box, which allows you to assign a previously uploaded drawing to the current element:
- Click a drawing in the list, set the default page, and click OK.
- Click Other File... to upload additional drawings to the DMS.

Alarm Console: 'Show in banner' option can now also be set in the Settings window [ID_26993]

The Show in banner option, which up to now could only be set in the hamburger menu of the Alarm Console, can now also be set in Alarm Console section of the Settings window, both as a user setting and a group setting.

Note

This option can only be set for one alarm tab page. When you activate the option for a particular tab page, it will automatically be deactivated for all other tab pages.

Visual Overview: New AllowInheritance option to keep child shape from automatically inheriting parent shape data [ID_27084]

It is now possible to configure a child shape of a View or Element shape to not automatically inherit the View or Element shape data of the parent shape. To do so, add the option AllowInheritance=False. Note that this renders the existing option NoCopyElementProperty obsolete, since this did the same thing for Element shapes only.

DataMiner Cube launcher update release tracks [ID_27086][ID_27121]

To allow a phased rollout of new versions of the DataMiner Cube launcher, multiple release tracks have now been introduced: a release track with the latest version, and 3 phased release tracks.

To update to the release track with the latest version, you can use the Check for updates option, which is now available via the cogwheel button in the DataMiner Cube launcher.

Updates to the phased release tracks happen automatically through periodic updates. The update track used for these updates is randomly selected and saved in the configuration of the launcher.

New versions are first made available in the release track with the latest version and in one of the phased release tracks. If no issues are detected, the other phased release tracks are also updated one by one.

The updates are retrieved from dataminer.services or from the most recently connected DataMiner Systems if dataminer.services cannot be reached.

On a system with a Cassandra database, trend graphs can show how the value of a parameter in the graph is most likely to evolve in the future. Up to now, three types of trend prediction could be displayed: short-term, mid-term and long-term prediction. From now on, you can also choose to display full-term prediction, which is based on either daily data points or a server-side aggregated set of one-hour data points.

DMS Reports & Dashboards

Dashboards app - Spectrum Analyzer component: Measurement point visualization [ID_26970]

The Spectrum Analyzer component can now be used to visualize and toggle measurement points.

To visualize all measurement points for a particular spectrum session, do the following:

  1. Add a Spectrum Analyzer component to the dashboard and, in the Data pane of the component, select a Spectrum Analyzer element (and, optionally, a Spectrum preset).

  2. Add a List feed to the dashboard and, in the Data pane of the feed, select the Spectrum session feed of the Spectrum Analyzer component.

    Note

    A Spectrum Analyzer component can now be used as a feed for a Spectrum session. Up to now, the Spectrum Analyzer component already created a session, but from now on, it will be possible for other components to use that session as input.

By selecting and unselecting measurement points in this measurement point visualization, you can control which measurement points will be used by the Spectrum Analyzer component.

Note
  • The Dashboards app and the Monitoring app now also support combining measurement points. In DataMiner Cube, you can create spectrum presets in which you combine measurement points to have them shown together.
  • Measurement point traces will inherit their colors from the dashboard theme.

Dashboards app: Dynamically added spectrum parameters will now automatically be available in the Dashboards app [ID_27031]

Spectrum parameters dynamically added by spectrum monitors will now automatically be available in the Dashboards app.

Dashboards app: New Image size option for Image component [ID_27040]

In the Dashboards app, a new Image size option is now available for Image components. This option allows you to determine how the image is scaled, with the following three possibilities:

  • Fit: Scales the image to the maximum possible size without stretching or cropping.
  • Fill: Scales the image to the maximum possible size without stretching.
  • Stretch: Scales the image to the maximum possible size without preserving the aspect ratio.

Dashboards app: State component now supports dynamic units [ID_27066]

The State component in the Dashboards app now supports dynamic units, i.e. units that can be converted to other units according to rules configured in the protocol.

For this purpose, 2 new methods have been added to the web services API v1: GetParameterWithDynamicUnits and GetParameterForServiceWithDynamicUnits, which are similar to the GetParameter and GetParameterForService methods, respectively.

Dashboards app: Spectrum buffer feeds [ID_27092][ID_27154]

It is now possible to use spectrum buffers as input for a Spectrum Analyzer visualization. These are available in the new Spectrum Buffers section in the Data pane. To select a spectrum buffer, first specify the name of a spectrum element in the box at the top if this section. The buffers are then listed in the format MonitorName: TraceName [MeasptName] [PresetName].

You can link a Spectrum Analyzer visualization to spectrum buffer input directly, or use feed components (e.g. drop-down or list), by adding an individual spectrum buffer to a feed component or by adding the spectrum buffers as a collection and then adding a spectrum element as a filter.

Dashboards app: Line chart component now exposes timespan feed [ID_27128]

If a line chart component is used in a dashboard, a timespan feed now becomes available in the data pane, which can be used to apply the timespan of the line chart to other components as a feed. This timespan feed is updated whenever the timespan displayed by the trend graph is adjusted, e.g. because you zoom in on a specific timespan.

Dashboards app: Threshold state visualization in spectrum analyzer components [ID_27169][ID_27273]

If a spectrum analyzer component in the Dashboards app uses a spectrum buffer feed, it is now possible to color the threshold lines from the preset based on the state of a spectrum monitor parameter. Threshold lines are now also displayed as distinct line segments, and can be hidden or shown depending on the preset.

To be able to link a threshold line to a spectrum monitor parameter, the spectrum script used by the monitor must contain variables referring to the thresholds. Each threshold line has a threshold ID, which is an index ranging from 1 to the total number of thresholds in the preset. To refer to the first threshold, the script variable should be $threshold1, for the second threshold, it should be $threshold2, etc. This format is case-sensitive. When you configure the spectrum monitor in DataMiner Cube, you can then select these variables to create a parameter with alarm monitoring.

Note that it does not matter in which preset the threshold is defined. For example, each threshold in a preset with index 3 will be linked to the state of script variable $threshold3 in a monitor.

Note
  • Similar to DataMiner Cube, threshold lines will appear in front of the spectrum trace.
  • In case of a buffered trace, a time stamp will be shown in the top-right corner, indicating when the buffer was last updated.
  • When the background color is changed, the marker labels and the time stamp will be updated accordingly.
  • Changing the spectrum buffer or switching to normal mode will reset any threshold line that was linked to a monitor parameter state to its default width. Linked threshold lines are slightly thicker.

DMS Web Services

Web Services API v1: DMASpectrumBuffer object now contains VariableID property instead of Name property [ID_27092]

In the web services API, the web method GetSpectrumBuffersByMonitorId will now return DMASpectrumBuffer results containing a VariableID property instead of a Name property.

DMS Mobile apps

Jobs app: History pane [ID_27113]

When you are viewing a job, you can now open a History pane on the right. That pane will list all changes made to that particular job. At the bottom of the pane, you will also find the time at which the job was created and the time at which it was last edited.

Also, the following web method has been made available to retrieve the change history of a particular job:

  • GetJobsHistory(string connection, string jobID)

Monitoring & Dashboards apps: Enhancements made with regard to shared spectrum analysis functionality [ID_27378]

In both the Monitoring app and the Dashboards apps, a number of performance improvements have been made with regard to shared spectrum analysis functionality.

Also, the following spectrum preset display settings will now be applied:

  • Background color
  • Grid line color
  • Text color (axis labels and timestamp label)
  • Show/hide axis labels
  • Show/hide grid

DMS Service & Resource Management

LockLifeCycle property added to ServiceReservationInstance objects [ID_26635]

ServiceReservationInstance objects now have a LockLifeCycle property, which can be set to either “Unlocked” (default) or “Locked”.

  • When this property is set to “Unlocked”, the ServiceReservationInstance will behave like a normal ServiceReservationInstance.

  • When this property is set to “Locked”, an additional check will be performed during the Concurrency License check.

    Note

    When checking whether the concurrency limit set in the DataMiner License has been reached, a booking will not be taken into account when

    • it is a ServiceReservationInstance,
    • the ContributingResourceID is filled in,
    • the Contributing Resource exists, and
    • the Contributing Resource is used in an overlapping booking.

    A booking that is not taken into account when checking the concurrency limit will not be taken into account for the entire duration of the booking, even if the overlapping booking (see above) has already ended.

Element of a virtual function resource will now be updated when the resource changes [ID_27043]

Up to now, when a VirtualFunctionResource object was updated, in some cases, the virtual function element would not be updated corrected. When, for example, the VirtualFunctionDefinitionID of a VirtualFunctionResource was changed, in some cases, the element would not be set to use the protocol of the new virtual function definition, even when the resource update was successful.

From now on, the following resource updates will be taken into account:

  • When the name of the resource is updated, the name of the element will also be updated.

  • When the virtual function definition of the resource is updated, the protocol of the element will also be updated.

    Note

    When the virtual function definition of a resource is updated while it is bound, the binding must still be valid after the update. Otherwise, the update will be blocked.

    It is possible to change both the binding and the virtual function definition in a single update by simultaneously updating the VirtualFunctionDefinitionID, the PhysicalDeviceDmaID and the PhysicalDeviceElementID.

Changes

Enhancements

Enhanced performance when migrating a database from MySQL to Cassandra [ID_26670]

Due to a number of enhancements, overall performance has increased when migrating a database from MySQL to Cassandra.

Data forwarded using an AlarmSocket or a PollSocket will now be encoded using UTF-8 [ID_27059]

From now on, when DataMiner forwards data using an AlarmSocket or a PollSocket, that data will be encoded using UTF-8 instead of the ANSI code page of the DataMiner Agent.

Note

From now on, all data sent to a PollSocket must also be encoded using UTF-8.

DataMiner Cube - System Center: Enhanced 'Analytics config' system settings section [ID_27087]

In the Analytics config section in System Center, drop-down boxes that allow the selection of a DMA now allow you to select the option None when appropriate. In addition, other drop-down boxes in this section have been improved to no longer show irrelevant values.

DataMiner Installer: Improved error handling when unable to connect to Cassandra [ID_27096]

During a DataMiner installation, in some cases, an error could be thrown when it took more than 2 minutes to connect to the Cassandra database.

Now, the connection timeout has been increased from 2 to 5 minutes. Also, fewer error messages will be logged while trying to connect to the Cassandra database.

App packages now synced in Failover setup [ID_27100]

When an app package is uploaded to one of the DMAs in a Failover pair, it is now automatically synced to the other DMA in the pair. Similarly, if an app package is removed from one of the DMAs in a Failover pair, it is now also automatically removed from the other DMA.

DataMiner Cube - Data Display: Enhanced services can now include other enhanced services [ID_27109]

From now on, it is possible for enhanced services to include other enhanced services.

Improved behavior of input controls in HTML5 apps [ID_27129]

In the DataMiner HTML5 apps, when you fill in a control consisting of multiple parts, e.g. a datetime control, now the next part will always be automatically selected after a part has been completed.

StandAloneBpaExecutor tool now shows the full DLL path and the BPA version [ID_27134]

When, in the StandAloneBpaExecutor tool, you select a DLL file, it shows the BPA information for that specific file. From now on, it will show the full path of the selected DLL file as well as the BPA version.

Dashboards app: Improved pop-up window when interactive Automation script is canceled [ID_27141]

If an interactive Automation script is canceled in the Dashboards app, a pop-up window will now be displayed with the title of the current content of the script, or with the name of the script if no title is available. The pop-up window will not mention the term "script" to avoid confusion in users who may not be aware that they are using a script.

Dashboards app: Spectrum analyzer component trigger configuration no longer possible [ID_27150]

For now, dashboard trigger actions can no longer be configured in the Dashboards app. This means that it is no longer possible to configure a spectrum analyzer component to open another dashboard when it is clicked.

Failover: More information will now be returned after synchronizing the two agents [ID_27156]

After synchronizing the two agents in a Failover setup, from now on, more detailed information about the synchronization process will be returned.

Improved logging of PowerShell scripts in DataMiner upgrades [ID_27160]

When DataMiner is upgraded and one of the steps of the upgrade is a PowerShell script, the output of that script is now written to the progress.log file and displayed in the upgrade window.

Improved performance when subscription is added on element level + possibility to set number of records in protocol cache [ID_27183]

Performance has improved when a subscription is added on element level, specifically if the subscription contains elements with different protocols. This will for instance ensure that when multiple cards are opened to Visual Overview pages, parameters will be displayed more quickly.

In addition, it is now possible to change the number of records that can be contained in the protocol cache. You can do so using the SLNetClientTest tool by going to Options > SLNet Options, selecting protocolCacheMru in the drop-down box, changing the value where necessary and clicking OK. However, do not change this value without checking with Skyline for advice first, as an incorrect setting can cause serious issues.

Warning

The DataMiner SLNetClientTest tool is an advanced system administration tool that should be used with extreme care (C:\Skyline DataMiner\Files\SLNetClientTest.exe).

Improved logging for view tables in SLElement log [ID_27192]

Logging for view tables in the SLElement log file has been improved. Certain timing information will now only be included once a warning threshold has been exceeded, so that there is less unnecessary log information for view tables.

Dashboards app: Improved row height behavior [ID_27203]

The height of the rows of the dashboard grid has been halved, from 36 to 18 pixels, in order to allow more precise control of the position of dashboard components. In existing dashboards, the existing components will therefore use twice as many rows.

In addition, row height will no longer be adjusted dynamically, the default height of a component now takes margin, padding and border into account and there is no longer a minimum height for a component.

DataMiner Cube launcher upgrade improvements [ID_27159]

A number of improvements were implemented to the upgrade mechanism of the DataMiner Cube launcher:

  • When the DataMiner Cube launcher detects that an update is ready, in any open instances of the launcher an info bar will now notify the user that the launcher needs to be restarted, and ask for confirmation.
  • When the download of a new launcher version is incomplete because of a restart or shutdown of the launcher, the download will now be cleaned up automatically to prevent issues.
  • If the Check for updates option is used in the launcher, the resulting message will now be displayed in an info bar instead of a message box.

DataMiner Cube - System Center: Only changed fields will be sent to the DMA when changing information in Agents >System [ID_27224]

When, in System Center, you click Save after changing some of the fields on the System tab of the Agents section, from now on, only the fields that were changed will be sent to the DataMiner Agent.

Client applications will now always connect to a DataMiner Agent via .NET Remoting [ID_27237]

Up to now, client applications could use either .NET Remoting or Web Services to connect to a DataMiner Agent. However, as Web Services Enhancements (WSE) for Microsoft .NET is now deprecated, from now on the only way to connect to a DataMiner Agent is by using .NET Remoting.

BPA tests: New BpaExecuteContext methods to send messages to SLNet [ID_27261]

The BpaExecuteContext object, which BPA tests receive as input, has been extended with methods to send messages to SLNet, allowing the tests to fetch data without manually having to set up a connection:

  • DMSMessage[] SendSLNetMessage(DMSMessage message)
  • DMSMessage[] SendSLNetMessages(DMSMessage[] message)
  • DMSMessage SendSLNetSingleResponseMessage(DMSMessage message)

Cube launcher tool: Downgrade support [ID_27380]

When you downgraded a DataMiner Agent that came with the Cube launcher tool (i.e. DMS version10.0.9 or newer) to an earlier version without Cube launcher tool (i.e. DMS version 10.0.8 or older), up to now, the Cube launcher tool would incorrectly try to connect to the downgraded agent using the newer Cube version. From now on, after an agent is downgraded, the Cube launcher tool will by default connect to the agent using the matching Cube version.

Fixes

Problem with user permissions for Automation scripts [ID_26401][ID_26957]

Up to now the permissions to add, edit, delete and execute Automation scripts were only enforced in the client, which could make it possible for a user to modify the Automation scripts on a DMA despite not having the required permissions for this.

Now the system will enforce the permissions as follows:

  • To view or retrieve an Automation script, you need the "Automation - UI available" or "Automation - Execute" permission.
  • To create an Automation script, you need the "Automation - Add" or the "Automation - Edit" permission.
  • To update an Automation script, you need the "Automation - Add" or the "Automation - Edit" permission.
  • To delete an Automation script, you need the "Automation - Delete" permission.
  • To execute an Automation script, you need the "Automation - Execute" permission.
  • To perform a DLL injection in an Automation script, you need the "Automation - Add" or the "Automation - Edit" permission.
  • To change a memory file, you need the "Automation - Add" or the "Automation - Edit" permission.
  • To retrieve a memory file, you need "Automation - UI available" or "Automation - Execute" permission.

In addition, within DataMiner Cube, up to now there could be a problem when you made changes to the memory files in the Automation app. This has now been resolved. To bring the memory files tab in line with the rest of the Automation app, the Cancel button in this tab has also been replaced by a Discard button.

'Authentication took too long' error added to SLNet logging when trying to log on to DataMiner using an incorrect user name and password [ID_26586]

When you tried to log on to DataMiner using an incorrect user name or password, in some cases, an “Authentication took too long” error would be added to the SLNet logging after about 30 seconds.

Incorrect run-time errors of type 'SLDMS ConnectionThread Problem' would appear when an agent responded slower than expected [ID_26596]

When a particular agent in a DataMiner System responded slower than expected, in some cases, incorrect run-time errors of type “SLDMS ConnectionThread Problem” could start to appear on other agents in the same DataMiner System.

Failover: Problem when the agents had a different cluster name [ID_26683]

Up to now, when the two DataMiner Agents in a Failover setup had a different cluster name, in some cases, the backup agent could end up remaining completely empty. Although, at first, everything would appear correct in the UI, the problem would become apparent after a switch-over.

In such a scenario, from now on, the active agent will show the following “DataMiner Failover Status” notice:

Failover agent xxx.xxx.xxx.xxx is experiencing sync issues. Check the Failover status.

Also, the Failover status window will show a red color and will indicate that the configuration is invalid with reason “Cluster name of agents doesn't match”.

DataMiner Cube - Alarm Console: Correlation base alarms not shown in filtered alarm tab when Correlation tracking was disabled [ID_26817]

When a filtered alarm tab page contained a correlated alarm, in some cases, the base alarms would not be shown when Correlation tracking was disabled.

Jobs app: No error message when deleting all templates in the Load from template window & job fields could incorrectly be marked both 'Required' and 'Read only' [ID_26868]

When, in the Load from template window, you deleted all templates, up to now, no error message would be displayed, saying that there are no templates to be applied.

Also, when you configured a job field, up to now, it was possible to mark a field both Required and Read only. From now on, this will no longer be possible.

Service & Resource Management: Incorrect exception was logged when opening Profiles or Resources app [ID_26901]

When you opened the Profiles or Resources app, in some cases, an incorrect exception would be thrown when fetching discreet values for profile parameters.

DataMiner Cube - Settings: Alarm tab page of type 'sliding window' added for a particular group would not be shown to the users in that group [ID_26902]

When, in the settings for a particular group, you created a new alarm tab page of type "sliding window" and then changed the size of the sliding window, in some cases, the tab page would not be shown to the users in that group, even when the Enforce Alarm Console pages option was enabled.

DataMiner Cube - Alarm templates: Problem when duplicating table column rows in an alarm template [ID_26985]

When you duplicated a table column row in an alarm template, in some cases, unsaved changes made to the Info column would not be duplicated correctly.

Also, when you exported a duplicated table column row to a CSV file before saving the changes, in some cases, the Parameter name column in the CSV file would not contain the table name.

Dashboards app: No error message shown when opening a non-existing dashboard [ID_26997]

When you tried to open a non-existing dashboard (e.g. by using an incorrect URL), no error message would appear. Instead, an empty dashboard would be opened.

Problem when installing Indexing Engine on a system with a remote Cassandra database [ID_27005]

When you tried to install Indexing Engine on a system with a remote Cassandra database, in some cases, an error could be thrown when the recommendations were being retrieved.

Indexing Engine: Incorrect 'Sequence contains no elements' error [ID_27010]

On systems running Indexing Engine, in some cases, an incorrect “Sequence contains no elements” error would regularly be added to the logs.

Problem when trying to connect to an IPC port after installing Indexing Engine on a remote node [ID_27014]

After installing Indexing Engine on a remote node, in some cases, DataMiner would not be able to start up as it would fail to connect to an IPC port.

DataMiner Cube - Spectrum Analysis: Trace coloring problem when rapidly switching between spectrum element cards [ID_27020]

When you rapidly switched between two spectrum element cards, in some cases, the color of the background, the grid lines, the grid text and the trace of a spectrum trace would incorrectly turn gray or black instead of the color saved in the spectrum preset display settings.

DataMiner Cube: Null reference exception when closing alarm tab [ID_27044]

In some cases, a null reference exception could be thrown when you closed an alarm tab in the Alarm Console.

DataMiner Cube - Alarm Console: Service names visible even to user without access to those services [ID_27050]

When a user viewed an alarm that affected a number of services, up to now, the Services column would incorrectly list all impacted services, including those to which the user in question did not have access. From now on, the Services column will only list the services to which the user has access. However, the Service impact column will continue to show the total amount of affected services.

Note

When you open an alarm in an alarm card, the list of impacted services will now also only contain the services to which you have access.

DataMiner Cube - Visual Overview: Alarm color would not be updated in situations where the alarm state changed but the parameter value did not [ID_27057]

When text like “[param:...]|Alarm” was specified in a shape data item of type Parameter, in some cases, the alarm color would not be updated correctly while the Visio page was open, especially in situations where the alarm state changed but the parameter value did not.

Bookings app: Hidden 'Booking state' column could no longer be set visible again [ID_27058]

When, in the Bookings app, the Booking state column was set hidden, in some cases, it would no longer be possible to set it visible again.

Unexpected behavior if condition for inclusion in service or redundancy switching contained no primary key or display key [ID_27067]

Previously, if a condition was defined for the inclusion of an element in a service or for redundancy switching and this condition did not contain a primary key or display key, this could cause unexpected behavior. Now if no primary key or display key is included in a condition, this will be interpreted as a wildcard, and any available row will be considered.

DataMiner Cube - Visual Overview: Children of element shapes with an Info placeholder in their shape text would not be displayed [ID_27095]

In some cases, child shapes of Element shapes with an Info placeholder (e.g. [NAME]) in their shape text would incorrectly not be displayed.

DataMiner Cube - Alarm Console: Audible alert would incorrectly be played again after you restarted an element [ID_27098]

If, in the Alarm Console, you had configured that an audible alert has to be played as long as not all the alarms in a certain alarm tab page have been read, in some cases, even when all alarms in the alarm tab page in question had been read, the alert would incorrectly be played again when an element was restarted.

DataMiner Cube: Not possible to zoom or pan with keyboard in Visual Overview [ID_27101]

In some cases, it could occur that it was not possible to zoom and pan using the keyboard in Visual Overview.

Problem when reloading Cube browser app [ID_27103]

If the Cube browser application was reloaded, it could occur that it did not fully load but instead kept displaying "Connected”.

DataMiner Cube - Data Display: Table query would incorrectly not be updated when an initially hidden column of a filtered partial table was unhidden [ID_27104]

When an initially hidden column of a filtered partial table was unhidden, in some cases, the table query fetching the data from the server would incorrectly not be updated to include the unhidden column.

Dashboards app: Incorrect default indices selection in parameter feed linked to CPE feed [ID_27116]

If a dashboard contained a CPE feed linked to a parameter feed containing a number of indices that had to be selected by default, it could occur that changing the CPE feed selection caused this default selection to be incorrect.

DataMiner Cube - Spectrum Analysis: Not possible to view average, minimum or maximum trace unless current trace is displayed [ID_27127]

When viewing a spectrum analyzer graph, it could occur that it was not possible to display the average, minimum or maximum trace if the current trace was not displayed.

App packages: Not possible to use install script relying on Automation library [ID_27131]

Previously, it was not possible to use an install script in an app package if it relied on an Automation library. This would cause compilation errors as the main install script was compiled before the Automation library.

Dashboards app: State component linked to a services feed would not immediately get updated when a service was selected [ID_27137]

When a feed containing services was linked to a state component, in some cases, the state component would not immediately be updated when you selected a service.

Service & Resource Management: Missing LinkerTableEntries in resources after DMA restart [ID_27139]

After a DMA was restarted, it could occur that LinkerTableEntries were missing in SRM resources.

Dashboards app: Problem with trend statistics component [ID_27147]

When you dragged a table column parameter onto a trend statistics component and then also dragged table indices onto it to act as a filter, in some cases, an error message would appear, saying that no trend data was available.

Dashboards app: 'Delete component' button would not immediately get updated when you selected multiple components [ID_27148]

When you selected multiple components, the Delete component button at the top of the screen would incorrectly only get updated to Delete X components when you hovered over it.

DataMiner Cube: No longer possible to click below or above a scrollbar thumb [ID_27149]

In some cases, it would no longer be possible to click inside a scrollbar track (i.e. below or above the scrollbar thumb).

DataMiner Cube - Visual Overview: Memory leak in SLHelper [ID_27162]

The SLHelper process keeps a set of actions in memory to be able to track what action should be taken when a Visio shape is clicked. In some cases, that set of actions would never get cleared and new actions would be added each time a Visio file was updated.

DataMiner Cube: No context menu would appear when right-clicking a suggestion in the header search box after right-clicking the 'Advanced search' button [ID_27166]

When, in the Cube header bar, you first right-clicked the Advanced search for... option at the bottom of the suggestions list, and then right-clicked any of the listed suggestions, no context menu would appear.

DataMiner Cube - Visual Overview: Masked alarm color not shown for cells displayed in Children shape [ID_27172]

If cells of a table row were displayed in a Children shape in Visual Overview, it could occur that masked cells did not display the masked alarm color.

DataMiner Cube: Custom icon visualization not working for list view components [ID_27173]

In list view components, for example in the Bookings app, in the Services app or in ListView shapes in Visual Overview, it was no longer possible to visualize the content of a column as a custom icon. This is now again possible for booking, service and element columns as well as for booking, service and element property columns. Note that this functionality relies on Automation scripts to provide the icon library and column value/icon mapping.

DataMiner Cube - Scheduler app: Problem with drag-and-drop in timeline tab [ID_27174]

In the Timeline > Events tab, in some cases, it would no longer be possible to drag a profile onto the timeline.

Web Services API: Too many bookings retrieved when multiple subscription sets were used [ID_27176]

If there were subscriptions to multiple bookings in multiple subscription sets, it could occur that the API retrieved too many bookings.

Dashboards app: Pivot table component retrieved only first page of partial table [ID_27178]

In some cases, it could occur that a pivot table component only retrieved data from the first page of a partial table.

Problem with SLAutomation when a ThreadAbortException was thrown in a script while the thread was not actually aborted [ID_27187]

When a ThreadAbortException was thrown in an Automation script while the thread running the script was not actually aborted, in some cases, an error could occur in SLAutomation.

Data in DVE child element not updated correctly [ID_27189]

When a data table was not fully exported to a DVE child element, but only a few columns were exported as standalone parameters of the DVE child element, including the foreign key column of the DVE table, it could occur that data were not updated correctly.

DataMiner Cube: No arrow icons would be displayed in partial tables when behavioral anomaly detection was enabled [ID_27201]

When behavioral anomaly detection was enabled, in some cases, only standard trend icons but no arrow icons would be displayed in partial tables.

Dashboards app: Not possible to show dashboard grid lines [ID_27221]

In some cases, it could occur that it was not possible to show the grid lines in a dashboard while in edit mode.

Not possible to specify username for 'other user' to log in to mobile app [ID_27229]

In some cases, it could occur that after you logged out of a DataMiner mobile app, it was not possible to specify a username to log in as "Other user".

Not possible to display markers with DataMiner Maps v1 [ID_27247]

In some cases, it could occur that it was not possible to display markers with DataMiner Maps v1.

Failover configuration deleted when it should only have been disabled [ID_27252]

When Failover was disabled, it could occur that the Failover configuration was deleted from the offline Agent even if you had selected to only disable the configuration. Now this will only happen if you select to delete the configuration.

DataMiner Cube - Visual Overview: Incorrect alarm coloring DataDisplayPage shape [ID_27270]

When a shape in Visual Overview was linked to a Data Display page, it could occur that it showed the alarm color of the element instead of that of the Data Display page.

Problem in SLNet when calculating view alarm states [ID_27271]

In some rare cases, a problem could occur in the SLNet process when the alarm states of views were calculated.

Dashboards app: Double scroll bars in dashboard with State component [ID_27272]

If a dashboard contained a State component, in some cases double scroll bars could be displayed.

DataMiner Cube - EPM: Problem when selecting a node in another chain [ID_27278]

When you opened an EPM node in another chain via the context menu of that node, in some cases, the filters in the destination chain would be empty when the filter table did not exactly match the corresponding filter table in the source chain.

Also, a number of other (minor) enhancements and fixes have been done:

  • The positioning of the selected node in the diagram has been improved, the minimum width of the diagram nodes has been increased, and selection filters without links have been better aligned.

  • When opening a node in a chain that had not yet been opened, up to now, some of the filters could be empty.

When calculating trend predictions on a more general level (e.g. daily), in some cases, the algorithm would not take into account missing values. Hence, it would incorrectly assume that a repeating pattern found on the more general level was also found on the more detailed level.

Dashboards app: Dashboard grid not resized [ID_27293]

In some cases, it could occur that the dashboard grid was not resized when necessary.

DataMiner Application packages: Problem with scripts that had an XML namespace [ID_27294]

When the install, config or uninstall script in a DataMiner Application package had an XML namespace, in some cases, an error could be thrown when checking the XML elements in that script.

Also, an exception could be thrown when DataMiner tried to use an empty uninstall script. From now on, empty uninstall scripts will be ignored.

Dashboards app: Duplicate 'Delete component' button [ID_27295]

When a dashboard contained a Group component, it could occur that two Delete component buttons were displayed when the dashboard was in edit mode.

Problem when renaming a parent DVE element [ID_27312]

When a parent DVE element was renamed multiple times in rapid succession, in some cases, the child DVE elements would not inherit the new element name.

Problem with SLLog [ID_27317]

In some cases, the SLLog process could cause a problem or memory leak.

Problem with blinking status of service children [ID_27319]

Up to now, a service child would always blink when its parent element blinked. As elements can be partially included in a service, in some cases, this was not correct.

From now on, whether a service child blinks will depend on the included parameters.

Failover: Incorrect alarm event of type 'properties changed' would be generated for alarms with multiple identical view properties [ID_27374]

When, in a Failover setup, an alarm had multiple identical view properties defined, in some cases, an incorrect alarm event of type “properties changed” would be generated each time a switchover occurred.

Service & Resource Management: Problem when removing a ServiceResourceUsageDefinition from the ResourcesInReservationInstance list [ID_27385]

When you used the Remove() method to remove a ServiceResourceUsageDefinition from the ResourcesInReservationInstance list, in some cases, the incorrect ServiceResourceUsageDefinition would be removed.

Problem when renaming DVE elements [ID_27494]

When you renamed a DVE element, in some cases, the element name would incorrectly not get updated.