Release Notes 6.0.0

General Notes

ProSyst mPRM mPower Remote Manager 6.0.0 contains several new components, updated modules, bug fixes and performance enhancements.

Release date: February 2016

Previous Release Notes:

Key:

: New Feature or Improvement

: Change

: Bug Fix

Overview of The Main New Features

Rule-Based Device Management.

Groovy Scripting Language - for Management Tasks and Rules.

Remote Access to Sensors and Actuators behind Gateways - monitoring and control of edge devices connected to OSGi gateways over mBS FIM/HDM abstraction.

Enhanced Device Grouping.

Collecting of Historical and Statistical Data - e.g. for the sensor values.

Remote JSON-RPC and Event Push Service.

Enhanced and improved REST API.

Management of Java8 ME - based devices.

System

Version of the module included in this product: 6.0.0

REST API

Add Statistics, Logs and Alerts REST API according to the CRUD operation model.

Statistics Service

mPRM Statistics Service is generally extended and refactored. Among the main new features are:
  • supports maintaining of fine grained statistical information, e.g. for each concrete device registered in the system, or for each software component or service in the SR, etc.
  • supports storing of the statistics information persistently in the DB.

System Configuration Management

System Configuration view in MC did not worked in case of connection switching between mPRM RAS nodes.

Added support for view of the mPRM system properties in the Management Console/System Configuration.

Added support for update of the domain.crp file via the Management Console.

The max length of the HOST DB column is increased to 130 chars (from 30).

Backend Network Connection Service

Added bi-directional pinging of backend server connections. Improves reliability of detecting broken connections between clustered mPRM instances.

DB Connection Management

Support for Maria DB.

Fixed problem in recovery from DB connection lost happening with newer versions of MySQL JDBC driver.

Alert Board Service

Fixed filtering by user.anyone.

mPRM Backend Log Service

Fix for min level logged saving in files.

Added support for optional logging in files.

Fixed logs search max logs limitation.

Fixed NPE on using advanced logs search.

Thread Pool and Timer

Added automatic dumping of the JVM thread stacks on mPRM thread pool exhaustion.

Fixed a memory leak in mPRM timer service.

mPRM System State Monitor (system.state.monitor)

Added heartbeat logging of the mPRM state (optional).

Added Deadlock Detection.

mPRM Debug (system.debug)

Activate/Deactivate remote debug pluggable command added.

Log rotation on a date basis added.

Added device-related logging via DeviceLog.

Log Header Format is made configurable.

Generic Device Management

Version of the module included in this product: 6.0.0

Management Tasks and Rules

Introduced new concept for Management Tasks and Rules, which replaces the Management Operations from previous mPRM releases.

Added support for Groovy scripting of the tasks and rules.

Device Directory

Added support for defining new device group types and adding devices to different groups.

Fixed removing of node property via setNodeProperty with null value.

Device State Var History & Statistics

Added support for recording of changes in the state vars of devices (State Var History).

Added support for collecting per device statistics data about changes the device state vars.

Device/Control Unit Management

Added timestamp and old value attributes to the CU state var events.

Added filter plugin support for filtering complex conditions: <=, =>, !=, etc.

A number of optimizations in the Device CU Database.

Improve synchronization of distribution (responsible host) cache.

Fixed Device CU Admin cache synchronization in cluster.

Fix in search engine file-buffered sorting.

Bug-fix in cu type initialization in cluster after DB recovery.

Fixed race-condition issue in providers initialization.

Improved cluster recovering after connection/host loses.

Operation Management

Operation Management is deprecated (as it is replaced by the new rule and task management functionality). Still support for management operations is kept for backward compatibility.

Added support to list Involved/Successfully finished devices.

Fixed a number of critical bugs in the Operation Management Engine.

GDM REST API

New Device Management REST API according to the CRUD operation model.

New Operation, Task and Rules Management REST API according to the CRUD operation model.

New State Var History REST API according to the CRUD operation model.

Software Repository

Version of the module included in this product: 6.0.0

New Sofrware Reposiroty REST API according to the CRUD operation model.

New Software Repository Download API supporting:
  • non-blocking download of the bundle content and descriptor files, resources, icons, previews
  • secure download with authentication and ticket checking, only authentication or only ticket checking
  • resuming
  • custom download via plugin

New TAR Archive Software Repository type (.tar.gz, .tgz, .gz, .tar).

Added a start level component property for Bundle Groups.

Added ability to switch off importing of Unclassified/Unrecognized components.

Improve the performance of the Software Repository cache using Guava library.

Improve the import process by:
  • changing the Import File Handlers retrieval.

  • changing the addition of session resources form ZIP, PAR, TAR file formats.

Added ability for definition of components, not yet imported in the Software Repository.

Changed default version format from X.Y.Z to unlimited X1.X2...XN.qualifier (X,X<i>,Y,Z are numeric fields).

Improve the performance of the Software Repository Database using ConcurrentHashMap instead of Hashtable.

Fixed the ratio calculation when determines an appropriate bundles for a specific platform.

Fixed warning while creating Software Repository DB on mPRM startup with latest MySQL.

Fixed deadlock occurring upon reconfiguration of a clustered mPRM.

Change reset method of DB InputStreams to avoid OutOfMemory errors.

Remove support for Opera Widget and W3C Widget Software Repository type.

Web Service API

Version of the module included in this product: 6.0.0

Added ability to override default responses for OPTIONS REST requests when incorrect allowed methods are sent.

Added support for CORS with org.apache.cxf.rs.security.cors.CrossOriginResourceSharingFilter.

Added ability to log rest calls in the local file system.

Changed to use new version of the CXF library v.2.7.2.

Changed default REST API format to application/json.

Changed to use Jackson library from REST Services.

Improve the login policy - not to logout after every Web Service call.

Fixed to return 401 (Unauthorized) status code, instead of status 500 LoginException: Invalid account!

Fixed problem with basic authorization in requests with multiple values for 'Authorization' header.

Generic OSGi Device Management

Version of the module included in this product: 6.0.0

Added "Backend host" state variable for OSGi Devices.

Added "Device Disconnect" action for OSGi Devices.

The build-in bundle configurations (described in a Config Metadata file inside the bundle) are not automatically set as "default" configuration upon import in the mPRM Software Repository.

OSGi Device Management

Version of the module included in this product: 6.0.0

Remote FIM/HDM

Remote monitoring and control of sensors and actuators connected to the OSGi/mBS gateways based on mBS FIM/HDM interfaces.

Backup & Restore

Support for Backup and Restore of mBS device configuration through the mPRM.

Control Unit Management Agent

mPRM Control Unit Management Agent is completely refactored and extended. Its performance & reliability is improved.

Added support for offline buffering of events changes (for data history and statistics purposes).

Added support for fine-grained configuration of which CU types/state vars has to be synchronized, persisted, etc.

Remote Access Services

Remote JSON-RPC Proxy - supports access to the JSON-RPC APIs of the mBS via the mPRM.

Remote Event Service - supports subscribing for events from mBS connected to the mPRM and receiving them over WebSocket connection from mPRM.

HTTP Tunnel

Added support for internal redirect of the requests in the cluster (transparently to the HTTP caller).

Added support for basic authentication.

Added hook mechanism for custom intercepting of the HTTP Tunneling requests, which can be used e.g. for integrating of custom defined authentication/authorization of the requests.

Added support for redirecting on errors.

Performance optimizations.

OSGi Device Management Backend Core

Added support for optional basic device authentication.

Added support for optional authentication based on automatically generated secret key during device registration.

Added support to explicitly disconnect an OSGi device to the mPRM.

Added support to "black-list" an OSGi device.

Support for more fine grained synchronization of the device state.

Fixed NPE occurring in GatewayEvent when device is removed.

Fixed memory leak in OSGi DM DB service.

Fix an invalid/private MS node IPs provided to devices if a cluster's node is offline.

mPRM OSGi Device Management Agent

Disabled-Sync mode support added, controlled by system property.

Read-Only mode support added.

Watchdog timeouts are made configurable. Default login timeout increased to 1 hour.

Fixed ArrayIndexOutOfBounds occurring when an error is logged with stack trace longer than 1900 chars.

Support for more fine grained synchronization of the device state.

More reliable (re)connection between the agent and the mPRM.

Device Log Agent

Fixed dead-lock which may occur upon connection close.

Escaped "bad" chars from log files names.

ZIP Package Management Agent

Added support for Windows OS.

Added support for directory structures in the zip.

Added request for user confirmation upon execution of "Clean Package" action from the MC.

TR-069 Device Management

Version of the module included in this product: 6.0.0

API Changes

Added com.prosyst.mprm.backend.tr069.AuthenticationChecker.CONTEXT - A context that could be used by the authentication checker callers to set context for the thread that could eventually be used by the checker.

Added TR-069 device type constant - com.prosyst.mprm.backend.tr069.CPE.TR069_DEVICE_TYPE ("tr069.device").

Added API (and related support into Synchronizer) that allows Synchronizer to use external plugins for custom synchronization of parts of the tree.

com.prosyst.mprm.backend.tr069.FaultCodes.CPE_RESOURCE_EXCEEDED renamed to CPE_RESOURCES_EXCEEDED.

com.prosyst.mprm.backend.tr069.sync.PathFilter.split method is fixed to return empty string when the path is empty string. This prevents StringIndexOutOfBoundsException in some cases.

New Features

Added support for management of Service Application via Software Module Management.

Added support for install/update of deployment unit in Software Module Management specifying version.

Made (by default) Software Module Management synchronization on BOOT and BOOTSTRAP inform events.

Added support for X-Forwarded-For header - this features provides real remote host when the mPRM is behind load balancer and it provides requester via that script.

Added support by default for thorn symbol into TR-069 paths. So the OSGi escaping could be accepted.

Upload manager: Added support for disabling storage max size checking - set max to 0.

Added 'Redirect' - allows redirecting an CPE to another mPRM setting (potentially) new user and password.

'Remove' device action renamed to 'Unregister'.

Fixes

Prevented double operations/actions executions (for device and parameter actions) - synchronous call of setOfflineInterpretationMode

Synchronization - If ACS decide that the resource has exceeded the sync is split on smaller chunks.

Fixed device synchronize issue - when called on offline device setOfflineInterprMode was not reset on fail - hence the operation was not executed on following connects.

Fixed possible endless wait in execution of instant actions as operations.

TR069 Database: Fixed BY_STR_VAL index on mysql.

Fixed concurrent 'Connect' action execution.

Fixed accepting of cookies with $Path when they do not start with $Version.

Prevented permanent half registration (inconsistent registration) of a CPE (e.g. CPE is registered partially and management is not enabled correctly).

Fixed issue with overwriting node properties set from manual device registration.

TR-069 OSGi Device Management

Version of the module included in this product: 6.0.0

Added support for new OSGi Bundle model.

Added support for new OSGi FW data model.

Added support for new Configuration model. Added support for thorn escaping.

HDM plugin - Added support for multiple versions of DCOs.

Mobile Device Management

Version of the module included in this product: 6.0.0

Added support for FUMO.

User Management

Version of the module included in this product: 6.0.0

Added REST API to mPRM User Management Functionality.

Added REST API to mPRM Preferences Functionality.

Improved performance of the User Admin module.

Service Application Management

Version of the module included in this product: 6.0.1

Added support for installing/updating/downgrading of a particular version of the application.

Added support for installing of PAR files directly via the Application Agent APIs (for local application deployment).

Added Backup&Restore Provider for Service Applications.

Added support for associating bundle start level and lazy flags for the bundles in the application.

Added new method in Application Agent: getInstalledApplicationsForBundle(String bundleSN).

Invoking 'install' for already installed application acts as normal 'update'.

A number of bug-fixes, performance and reliability improvements.

The entire Service Subscription Management functionality (and all related components) are removed from the mPRM.

Java ME Device Management

Version of the module included in this product: 6.0.0

A new module in the mPRM - for application provisioning to Java ME-based devices.

Management Console (MC)

Version of the module included in this product: 6.0.0

Management Console Common

Migration is done to Eclipse Remote Application Platform 3.0, providing latest browsers support for the web version.

Improved overall metatyped mPRM and device data editing, painting and layout.

Added quick-access database persistence layer for the needs of the UI components.

Added support of multiple archive formats (TAR, ZIP).

Removed java.awt dependency.

Image resources loading changed from static to session-based.

Generic Device Management

New Management Task & Rules Execution Engine introduced together with its visualization and control UIs.

Generic and much more customizable device groups representation introduced.

Added UI support for recording of changes in the state variables of devices (State Var History)

Added UI support for collecting and preview of per device statistics data about changes the device state vars.

The Procedures UI is renamed to 'Script Inventory' and script execution is migrated to the new Rules Engine.

Asynchronous device actions execution is migrated over the new Rules Engine.

The Operations perspective is deprecated now and hidden by default.

Devices tree nodes loading limitation also are extended to apply over the device groups now.

OSGi Device Management

WebSockets transport option added in OSGi device registration wizard selection.

Fixed logs files download truncating on 4KB and some minor issues of the files.

System Monitoring & Configuration

Added remote console access views per backend host, allowing text-based control the mPRM backend hosts.

New advanced Statistics 2.0 introduced and the statistics UI is migrated to them together with advanced graphics.

Added backend hosts licensing files update functionality.

Added support for optional not disconnecting of current RAC connections when logins logs disconnect is done.

Fixed search result entries maximum limitation in logs export wizard.

Fixed number of minor memory leakages in Logs UI.