Table of Contents

DIS 2.29

New features

IDE

XML editor: Contents of <VersionHistory> element copied into the comment section at the top of the file when compiling a protocol XML file [ID 26541]

From now on, when you compile a protocol XML file, the entire contents of the <VersionHistory> element will be copied into the comment section at the top of the file.

An information banner can now appear at the top of an editor window [ID 26691]

A yellow banner can now appear at the top of an editor window to convey important information to the user.

Currently, a banner will appear to inform users that a new DIS version is available, that the protocol XML file being edited does not contain the UTF-8 header bytes or that it is advisable to update all C# projects to Microsoft .NET Framework 4.6.2.

XML editor: Generating parameters based on data in an Ember+ file [ID 27064]

From now on, it is also possible to automatically generate <Param> tags based on parameter data in an Ember+ file.

Validator

New checks and error messages [ID 26471][ID 26845][ID 26846][ID 26847][ID 26848][ID 26849]

The following checks and error messages have been added.

Check ID Error message name Error message
2.46.7 InvalidColumnType Invalid primary key column Interprete/Type '{columnIntrepeteType}'. Possible values 'string'. Table ID '{tablePid}'.
3.5.1 NonExistingActionId Method 'NotifyProtocol(221/*NT_RUN_ACTION*/, ...)' references a non-existing 'Action' with ID '{actionId}'. QAction ID '{qactionId}'.
3.12.1 MissingEntryPoint Entry point '{entryPointClass}.{entryPointMethod}' not found in QAction. QAction ID {qactionId}.
3.13.1 ObsoleteDcfV1 Obsolete preprocessor directive 'DCFv1' used in QAction. QAction ID '{qactionId}'.
3.14.1 UnsupportedIDisposable Entry point class {entryPointClass} implements unsupported interface IDisposable. QAction ID '{qactionId}'.
3.15.1 UnrecommendedThreadAbort Method 'System.Threading.Thread.Abort' is unrecommended. QAction ID {qactionId}.
3.15.2 UnrecommendedSlProtocolGetParameterIndex Method 'SLProtocol.GetParameterIndex' is unrecommended. QAction ID {qactionId}.
3.15.3 UnrecommendedSlProtocolSetParameterIndex Method 'SLProtocol.SetParameterIndex' is unrecommended. QAction ID {qactionId}.
3.15.4 UnrecommendedSlProtocolSetParametersIndex Method 'SLProtocol.SetParametersIndex' is unrecommended. QAction ID {qactionId}.
3.15.5 UnrecommendedNotifyDataMinerNTGetRemoteTrend Method 'SLProtocol.NotifyDataMiner(216/*NT_GET_REMOTE_TREND*/, ...)' is unrecommended. QAction ID {qactionId}.
3.15.6 UnrecommendedNotifyDataMinerNTGetRemoteTrendAvg Method 'SLProtocol.NotifyDataMiner(260/*NT_GET_REMOTE_TREND_AVG*/, ...)' is unrecommended. QAction ID {qactionId}.

XML Schema

Protocol Schema: New elements and element attributes [ID 26549][ID 26758][ID 26763]

The following elements and element attributes have been added to the Protocol XML Schema:

  • Protocol.Params.Param.Display.DynamicUnits
  • Protocol.Params.Param.Display.DynamicUnits.Unit
  • Protocol.Params.Param.Display.DynamicUnits.Unit@decimals
  • Protocol.VersionHistory.Branches.Branch.SystemVersions.SystemVersion.MajorVersions.MajorVersion.Changes.Change@coversMajorChanges
  • Protocol.VersionHistory.Branches.Branch.SystemVersions.SystemVersion.MajorVersions.MajorVersion.MinorVersions.MinorVersion.Change@suppressMajorChanges
  • Protocol.VersionHistory.Branches.Branch.SystemVersions.SystemVersion.MajorVersions.MajorVersion.MinorVersions.MinorVersion.Fix@suppressMajorChanges
  • Protocol.VersionHistory.Branches.Branch.SystemVersions.SystemVersion.MajorVersions.MajorVersion.MinorVersions.MinorVersion.NewFeature@suppressMajorChanges
  • Protocol.VersionHistory.Branches.Branch.SystemVersions.SystemVersion.MajorVersions.MajorVersion.MinorVersions.MinorVersion.References
  • Protocol.VersionHistory.Branches.Branch.SystemVersions.SystemVersion.MajorVersions.MajorVersion.MinorVersions.MinorVersion.References.TaskId
  • Protocol.VersionHistory.Branches.Branch.SystemVersions.SystemVersion.MajorVersions.MajorVersion.MinorVersions.MinorVersion.References.Reference
  • Protocol.VersionHistory.Branches.Branch.SystemVersions.SystemVersion.MajorVersions.MajorVersion.MinorVersions.MinorVersion.References.Reference@type

Changes

Enhancements

Display editor & Table editor: Miscellaneous enhancements [ID 24677]

A number of enhancements have been made to the Display editor and the Table editor.

Display editor
  • The height of the parameters on the Display editor pages will now better reflects the height of those parameters in DataMiner Cube. See below for a number of examples.

    Type of parameter Height
    Read 1 unit
    Write 1 unit
    Read + Write 2 units
    Analog Read 2 units
    Group box 1 unit
    Spacer (white space) 1 unit
    Multi-line parameters depends on the number of lines
  • Although, in DataMiner Cube, the height of a table is automatically adapted, tables in Display editor will have a fixed height of 2 units.

Table editor
  • When calculating a column width, the Table editor will now also take into account the width of the expected values (depending on the measurement type of the parameters). See below.

    Measurement type Behavior
    Discreet The width of the column will depend on the largest width found among the discreet values.
    Button The widths of all displayed values will be combined and a margin will be added to make sure all buttons are properly displayed.
    Number (Datetime, Date/Time) A datetime column will always adapt its width to accommodate values displayed in “YYYY-MM-DD hh:mm:ss tt” format.
  • When calculating a column width, the Table editor will now also take into account the width of the exception values (if such values are defined).

  • When calculating a column width, the Table editor will now also take into account the spaces DataMiner Cube inserts into large numbers to make them more readable.

  • When a numeric parameter has ranges defined, the Table editor will now take into account the longest value (along with any decimals or unit) when calculating a column width.

  • With regard to column titles, the following enhancements have been made:

    • DataMiner Cube will now truncate the column descriptions if all columns have the same suffix or if a column has the table description as suffix.
    • Room for key icons (primary keys, display keys or foreign keys) will now only be reserved when neither of the columns has any header option defined (if header options are defined, the key icon will be displayed on another line).
    • In case of columns of type “displaykey”, room for key icons will be reserved when needed.
    • Room will now also be reserved for sorting icons.

IDE - XML editor: Restructuring of the 'DIS > Protocol > Param' snippets [ID 26706]

The extensive list of snippets in the DIS > Protocol > Param folder have now been restructured into the following subfolders:

Folder Contents
Displayed Code to add parameters to be displayed in the UI.
Internal logic Code to add parameters used for internal logic (e.g. dummy parameters, fixed parameters, etc.)
Param options Code to add options to existing parameters (e.g. Alarm tags, Subtext tags, Exceptions tags, etc.)
Serial communication Code to add serial communication parameters (e.g. headers, trailers, etc.)
SNMP communication Code to add SNMP communication parameters (e.g. trap receivers, SNMP tables, etc.)

Protocol Schema: Slowpoll settings now only configurable for main port [ID 26790]

From now on, it will only be possible to add SlowPoll and SlowPollBase elements to the Protocol.PortSettings element (i.e. the configuration of the main connection). It will no longer be possible to add these elements to the Protocol.Ports.PortSettings element (i.e. the configuration of the additional connections).

Class Library [ID 27161]

  • Settings for base class library package are now stored by name and version, instead of the (internal) path of the package. This way, we know which version was previously selected, even when the previous file doesn't exist anymore (after an update), and it allows us to select the newer version in the same range.

  • When a base class library package has been updated, DIS now automatically select the newest version in the same range (first three numbers of the version are the same). When a driver was using an older base class library package in the same range, no popup will be shown anymore.

  • An information message will now be displayed on top of the protocol file, indicating that auto-generating the class library is currently disabled for the protocol in question. This happens for example when the user has refused to update to a newer package version, or when one or more (community) packages is not available.

  • Instead of automatically updating the full class library project in the solution, a message will now be displayed, indicating that the project is not up to date. The developer can then manually choose to update the project in the solution.

  • An improved decision popup will now appear when class library settings are different compared to those that were previously used in the solution.

Fixes

IDE: Index parameter would not be generated when the table index defined in the MIB file was not within the table OID range [ID 27022]

When DIS generated parameter data based on information stored in a MIB file, up to now, an additional index parameter would only be generated when the MIB file defined multiple indexes on a table. From now on, an additional index parameter will also be generated when the table index defined in the MIB file is not part of the table itself.