Introduction
Introduction to MIP SDK 2023 R2
MIPSDK General
-
Discontinuation Announcement: The 2023 R3 XProtect VMS release will be the last release to include clients, documentation and APIs for C++ integrations. This includes the
MilestoneSystems.VideoOS.Platform.SDK-CPP
andMilestoneSystems.VideoOS.Platform.SDK-CPP.Debug
NuGet packages, the ServerCommandServiceClient DLL and all C++ Toolkit APIs. -
Potentially breaking changes:
-
The setter of the property
LoginSettings.TokenTimeToLive
was public, sinceTokenTimeToLive
should only be updated internally it is no longer available. -
The
ChangePasswordHardware
method has been updated to follow the same rules as Management Client. This means passwords length must follow camera specifications (default between 1 and 64 for characters). IfUpdatePasswordOnDevice
is true the password must also contain lower- and upper-case letters, contain a number and the passwords cannot contain special characters. -
For security reasons, a limitation has been put on the system types allowed to be used as the
Message.Data
content when doingMessageCommunication.TransmitMessage()
. See the Introduction to MIP Message communication for more details on the types allowed.
-
The setter of the property
-
Support for Restricted Media: A Media Restriction prohibits access to media for a set of devices in a time period. The restriction can be on playback, live or both. Users can be granted access to restricted media via their role.
Component integrations
-
New version of
LoginProviderFolder.AddLoginProvider
method added that takes a collection of strings for thescopes
parameter. Existing version taking a string has been marked as deprecated, but will accept scopes as comma-separated list.
Smart Client
-
ImageViewerAddon:
FollowDigitalZoom
fromActiveElementsOverlayRenderParameters
has been replaced byPlacement
. UsingPlacement
now it's also possible to place an overlay that covers the entire view control instead of just covering the video rectangle. -
Workspace toolbar plug-in groups: Workspace toolbar plug-in is extended with the group concept. This means that it is now possible to put workspace toolbar plug-ins under a group, to display them in a menu button, so that they are organized better.
-
Workspace toolbar plug-in: Added support for displaying tooltips for workspace toolbar plug-ins.
Management Client
- Security settings for plug-ins will now be displayed on individual tabs in the Roles section instead of all being part of the same tree on the MIP tab.
RESTful APIs
-
Configuration API
Support for the three remaining conditions have been added to the rules configuration: While failover is active, While failover is inactive, and Event is from window.
-
New: Events API (beta) and Alarms API (beta)
Use the RESTful Events and Alarms APIs to retrieve stored events and trigger new events, as well as to retrieve alarms, update their priority and state, attach snapshots, and trigger new alarms.
These APIs are in beta and future releases of these APIs might break backwards compatibility.
Samples
The following samples have been changed:
- All Smart Client samples have been rewritten to use WPF instead of WinForms as we recommend using WPF for both performance and rendering reasons.
- Added support for using Windows authentication in
RestfulCommunicationPython
sample. SCToolbarPlugin
is updated to demonstrate how to use workspace toolbar plug-in groups.
The following samples has been added:
- MediaRestriction: Demonstrates Restricted Media.
- EventsRestApiPython: Demonstrates the RESTful Events API (beta).
Fixed issues
- Fixed a memory leak whenever the renderers are being recreated when using
ImageViewerWpfControl
orImageViewerControl
. - On
ImageViewerWpfControl
in live mode, if you first setDigitalZoom=true
and then callSetVideoQual-ity
with e.g. (100, 2) then it had no effect. - Fixed an issue where multiple users could save changes on the same MIP item in the Management Client. The correct behavior is that the second user is warned and must make a refresh and redo before the change can be saved.
- Fixed an issue where a property with the name "FQID" could be saved and could cause exceptions in other methods later. Now the behavior is that saving a property named "FQID" will cause an exception which can be handled in a plugin immediately. “FQID" must not be used as neither full name or begin-ning of the name of a property in the Properties dictionary.
- Fixed an issue where, creating a
MIPItem
in the RESTful API, theMIPItem
would be enabled even if created with"enabled": false
. - Fixed that the
ConfigDump
sample would not show all sites in Available Sites (in the sample UI).