Difference between revisions of "Releases"

From AMTech WikiDocs
Jump to: navigation, search
(Release July 14th (2019-07-14))
(Developers notes)
 
(113 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
== To be released (security deployment for amtech-authorizer & DAP micros)==
 +
* Deploy authorizer private key (amtech-authorizer keys)
 +
* Deploy DAP public key (dap resources)
 +
 +
* observation storage microservice
 +
* dashboard microservice
 +
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB
 +
 +
''' Data changes '''
 +
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)
 +
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))
 +
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )
 +
 +
== Developers notes ==
 +
'''Developers Notes'''
 +
* Requires common playbook execution to update hosts
 +
* Required tomcat upgrade for webapps
 +
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)
 +
* If issue with java SSL certificates (registering an user) check that the file /etc/ssl/certs/java/cacerts contains the CA certificates of the system and it's in JKS format. Otherwise run the following workaoround:
 +
** <code>sudo update-ca-certificates -f</code>  (should generate the content of the file)
 +
** <code>cd /etc/ssl/certs/java && sudo mv cacerts cacerts.old && sudo keytool -importkeystore -destkeystore cacerts -deststoretype jks -srckeystore cacerts.old -srcstoretype pkcs12</code> (to change from pkcs12 to jks storetype, type can be checked with <code>keytool -list -keystore cacerts | grep "Keystore type"</code>)
 +
 +
'''Metadata'''
 +
* import types:
 +
** (done) smgw and its observations
 +
* update supported properties validation:
 +
** Things
 +
*** (done) _name
 +
** Observations
 +
*** (done) targetthings
 +
*** (done) producer
 +
* (done) update supported property observation limit to less than 3
 +
* Changes on '''sc''' field
 +
** Make explicit measurement unit for distance on '''sc''' fields
 +
** ''Notify losts devices'' have a wrong ''s''
 +
 
 +
* Import resources:
 +
** (done) monitoringSmartMobileGateways
 +
** (done) GPSMonitoring
 +
 +
== To be released ==
 +
'''Fixes'''
 +
* Removed observation storage from reasoner bindings
 +
* Proximity ancestor queries are now functional
 +
* Issues selecting topics in reasoner UI
 +
* Validation failed for long WKT strings
 +
* Observer edition failed due to fields of type object
 +
* Observation scheduling failed to restart after memory failures
 +
 +
'''Improvements'''
 +
* Several improvements in authentication/authorization.
 +
** Changes in authentication/authorization cache.
 +
** The impersonation of a user in a tenant is now allowed to the follower admin of that tenant.
 +
* Added the possibility to create digital twins from templates of the same tenant in the UI
 +
* Upgraded json editor to 2.6.1 version
 +
* Observations of type thingLocated are sent on things location changes
 +
* Projects for the storage of observation in the datalake and the backend and frontend of the dashboard were adapted to support the deployment in premises.
 +
* The dashboard backend is now deployed by tenant.
 +
* MQTT accepts only observations where the producer (isP=true in targetThings) exists
 +
 +
== Release Dec 5th (2021-12-05) ==
 +
'''Fixes'''
 +
* Property for pending publication in activity (requires adding metadata for supported property)
 +
* Fix for deleting user from legacy IdM even if it does not exist in current IdM
 +
* Topics were not shown in reasoners tree
 +
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)
 +
* Fix for users in tenant cache (related to user's migration)
 +
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake
 +
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant
 +
* Fix bug on user delete
 +
* Snaphost limited to 300 per thing, and 3 per property
 +
 +
''' Data update '''
 +
* POST istemplate and observationstorageconfig supp props
 +
 +
== Release September 5th (2021-09-05) ==
 +
'''Fixes'''
 +
* Image fields and floorplans may show old images because of browser cache
 +
* Map filter remained on entity type page
 +
* Fix for bridge clone validation (template owner validation)
 +
* Fix for activity import (checks for entity type)
 +
 +
'''Improvements'''
 +
* Proximity area floorplans are also shown in the map
 +
* Logs for mongo cursor
 +
 +
== Release July 17th (2021-07-17) ==
 +
''' Minor fixes '''
 +
* UI fix for hiding Service Logs when not in the Service page
 +
* Hiding OTA button after 2nd thing type is added to observer
 +
* Fix for centralized management when updating json property
 +
* Fix for removing scheduled jobs when activity is redeployed
 +
* Remove error message shown in observers after a successful execution via DAP
 +
* Fix for automatically sharing API observers and Follower observers when activity is redeployed
 +
* Fix for Spanish locale in user profile
 +
* Ordering OTA version list
 +
* Fix for empty OTA message
 +
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt
 +
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID
 +
 +
''' Improvements '''
 +
* UX refactoring
 +
* Reasoners execution
 +
* UI - reasoners & observers loading
 +
* UI - consume observations from topics - clean start everytime the user opens the topics page
 +
* Mqtt broker configs - check inflight messages
 +
 +
''' New features '''
 +
* Scheduled jobs viewer for follower admin
 +
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition
 +
* Observation storage config added to smart types
 +
 +
 +
 +
''' Data changes '''
 +
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively
 +
* STPG
 +
** update supported property "sc" json schema
 +
*** included the possibility of filtering the eddystone device detected
 +
*** possible to send News immediately after a device is seen in range
 +
*** set time to notify devices "Seen" again
 +
*** removed mesh configuration
 +
* Scheduled-job metadata
 +
* Added thing type sbe for smart beacon eddystone
 +
** Add type to stgActor in stgMonitoring activity
 +
* Entity-class property description coreProperty false
 +
 +
== Release Jan 24th (2021-01-24) ==
 +
* Fix for sending scheduled observation in infinite loop (occurrence 0)
 +
 +
== Release Jan 15th (2021-01-15)==
 +
* Bugfix for OTA dialog
 +
* Support for spatial constraint parameter when executing observers via REST API call
 +
 +
== Release Jan 6th (2021-01-06) ==
 +
''' New functionality '''
 +
* Mesh validations for STPG instances
 +
 +
''' Fixes '''
 +
* Centralized management (In production since Nov 8th)
 +
** Allow update of properties of type json
 +
** Send crud observation for all updated instances
 +
 +
 +
'''Data changes'''
 +
* Update tenant name SP with length limit
 +
* Update activity name SP with length limit
 +
* Scheduled jobs
 +
** add supported property origin
 +
* Reasoners
 +
** Update metadata for supported property ''sources''
 +
 +
* M2MBridge
 +
** Set readonly to true to all observation production configuration
 +
 +
Change log [[File:change-log-prod-20210106.txt]]
 +
 +
== Release Beta Prod 2020-09-22 ==
 +
''' Backend functionality '''
 +
* New functionality for sending OTA Update notification to smart devices via mqtt message
 +
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)
 +
 +
'''Data changes'''
 +
* SmartThing thing type
 +
* SmartThingStatus observation type
 +
* Ota updates type
 +
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})
 +
* Schedule jobs indices
 +
* Scheduled jobs object
 +
 +
== Release Dec 21st (2019-12-21) ==
 +
''' New features '''
 +
* Bridge offline functionality
 +
 +
''' Fixes '''
 +
* Deployment : Several software updates
 +
* Fix for CRUD observations - send crud on delete conditions fixed
 +
* Fix bridge delete for bridges with constraints in reasoners
 +
* All changes to a Service must be done via the Activity Publication page. Only description, caption and icon can be updated in a Service resource directly via the menu option Activity->Service
 +
* Better error management in observation's enrichment topology.
 +
 +
''' Enhancements '''
 +
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud
 +
* Upgraded logstash
 +
* Storm bug fix upgrade
 +
* Add username to the new tenants created, with the name of the user that registered the tenant
 +
 +
== Release July 14th (2019-07-14) ==
 +
''' Enhancements '''
 +
* Security changes
 +
** Activities security context according to the security info of the observation triggering the execution
 +
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation
 +
* Validate observations produced in actions have actors
 +
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)
 +
* Send crud observations for all bridge child resources (to be used on the edge)
 +
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud
 +
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.
 +
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering
 +
* Support parameter for cloning bridge only if the cloud version is newer than the edge version
 +
** Any update in a resource contained in a bridge will update the last modified date of the bridge
 +
* Openam - LDAP migration
 +
 +
''' Fixes '''
 +
* Security fix for navigating collections of things in followers with actors with checkUser
 +
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)
 +
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors
 +
* Observer execution endpoint allows now to activate constraints via url arguments
 +
* Visualized fields on timeline is working again
 +
* Fixed issue with proximity areas and popup labels in the map
 +
* Add system message to all custom messages defined by the user for validation of ranges in metadata
 +
* Show error when executing activity with observer filtering target things, but running with observation without target things
 +
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types
 +
 +
''' API changes'''
 +
* Crud observations
 +
** New properties added: range, membersRange, oldlastmodified, newlastmodified
 +
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions
 +
* User
 +
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors"
 +
** rename property amtechgroups to tenants
 +
* Observers execution with parameters
 +
** Parameters should be passed using the constraint uri and the specific property id. Ex. /amtech/observers/sampleObserver/entitiesFilter/endCustomer/constraints/_nameeq/value (in older versions the property id was not passed as parameter so only the value of the constraint was being replaced)
 +
 +
''' Data changes '''
 +
* wio, gpio, etc:
 +
** GPIOPinRaspberryPi
 +
** GPIORasberryPi
 +
** gpioRaspberryPiPinRead
 +
** gpioRaspberryPiPinWrite
 +
** QRCodeReader
 +
** QRCodeRead
 +
** QRCodeStartScanning
 +
** QRCodeStopScanning
 +
** wioLink
 +
** wioNode
 +
** wioLinkObservation
 +
** wioLinkCmd
 +
** WioDevice
 +
** WioDeviceCmd
 +
** WioDeviceObservation
 +
** MCP4XXXXDevice
 +
** MCP4XXXXSet
 +
** MCP4XXXXShutdown
 +
* Smart tracker thing type
 +
* Smart tracker keys type
 +
* Tracker keys collection and indices
 +
* Accepted commands in blank instance of entity type
 +
* Supported properties on ThingMagicEpcReader
 +
** disableAntennaDetection
 +
** readPower
 +
** writePower
 +
* commands to pause and resume LLRP readings
 +
** cmdLLRPPauseRead
 +
** cmdLLRPResumeRead
 +
* user password reset metadata
 +
* Crud observation new properties
 +
* Thing Type metadata
 +
* Related to amtechM2mBridge
 +
** action-custom for edge reasoners
 +
* query-predicate
 +
** add predicate to query-class
 +
** reasoner on the edge SP actions change in @type
 +
 +
== Release July 18th (2018-07-18) ==
 +
''' New '''
 +
* Centralized management of thing instances
 +
* Show observers result count
 +
 +
'''Enhancements'''
 +
* Added argument for DAP requests on observer execution endpoint
 +
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution
 +
 +
''' Fixes '''
 +
* Fix for error on user sign up with browser auto-complete functionality
 +
* Fix for clearing observer view from things page
 +
* UI fix for validating a single bridge after navigating to the instance
 +
* Fix for deleting activities not published
 +
* Set user in new thing from observation, when creating things inside activities using security from observation
 +
* Fix for observers with multiple location constraints on the same field while doing REST requests
 +
 +
'''M2MBridge compatibility and updates'''
 +
* M2MBridge should be running the version 1.4.12 or superior.
 +
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval
 +
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.
 +
 +
'''Data changes'''
 +
* Add new properties to BLEbeaconsScanners
 +
** acceptTypeUrl
 +
** acceptTypeUid
 +
** sendSmoothingSeen
 +
** observationDeliveryInterval
 +
* Remove eddystoneBrodcast observation
 +
 +
== Release May 16th (2018-05-16) ==
 +
''' Fixes '''
 +
* Fix for observers paging in UI
 +
* Fix for default values in new role policies
 +
* Fix for increment/decrement functions in reasoners supporting double values
 +
 +
''' New '''
 +
* Publishing observation types on activity publication. All observations produced by the thing types involved in the activity will be automatically shared with the activity guests. Same behavior as for the thing types.
 +
* New topics for error and success messages under promise feedback topic
 +
 +
== Release April 24th (2018-04-24) ==
 +
'''New'''
 +
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].
 +
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.
 +
'''Fixes'''
 +
* Fix for crud observations being sent when a property value is updated with the same value
 +
* Fix for checking in UI when an instance needs an update because properties where added/removed from metadata. Specifically when the type is shared with ALL
 +
* Fix for importing things using its json definition
 +
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)
 +
'''Enhancements'''
 +
* Performance improvements for deletion of multiple resources at the same time via UI
 +
* Include refresh option for observers of things
 +
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)
 +
* Automatically update bridge observation production configuration when a bridge instance is deleted.
 +
 +
 +
== Release March 29th (2018-03-29) ==
 +
'''New'''
 +
* Barcode encoding/decoding service
 +
* I2C interface to integrate I2C sensors to M2MBridge
 +
 +
'''Enhancements'''
 +
* Support for properties of type collection of strings in things and observation
 +
* Support for constraints “array contains” in observers for properties of type collection of strings
 +
* Allow sharing types to specific tenants
 +
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service
 +
 +
'''Fixes'''
 +
* Temporary fix for chrome bug on visibility attribute
 +
* Icons on editors and map are now correct
 +
* Fix observers with date constraints (on core and custom properties of type Datetime)
 +
* Fix validation of observers with missing types
 +
 +
== Release Feb 23rd ( 2018-02-23 ) ==
 +
Migration to MongoDB backend<br />
 +
 +
'''New'''
 +
* Allow followers to export/import things
 +
* Allow publishing multiple types at once
 +
* Support observers execution with parameters via direct requests to the DAP API
 +
* Show types each actor gives access to in the user profile
 +
* Default follower can subscribe only to its creator services
 +
<br />
 +
'''Bug Fixes'''
 +
* Fixed logout error after changing password<br />
 +
'''Enhancements'''
 +
* Required and published properties can be removed if no instances exist
 +
* Automatically keep guests in sync for things embedded in other things
 +
* Integration of jsonSchema for target things edition
 +
 
== Release August 12th (2017-08-12) ==
 
== Release August 12th (2017-08-12) ==
 
'''New'''
 
'''New'''
Line 196: Line 549:
 
* Publish activity
 
* Publish activity
 
* Update guest tenants in things that have that property with a value
 
* Update guest tenants in things that have that property with a value
 
 
== Release Feb 23rd ( 2018-02-23 ) ==
 
Migration to MongoDB backend<br />
 
 
'''New'''
 
* Allow followers to export/import things
 
* Allow publishing multiple types at once
 
* Support observers execution with parameters via direct requests to the DAP API
 
* Show types each actor gives access to in the user profile
 
* Default follower can subscribe only to its creator services
 
<br />
 
'''Bug Fixes'''
 
* Fixed logout error after changing password<br />
 
'''Enhancements'''
 
* Required and published properties can be removed if no instances exist
 
* Automatically keep guests in sync for things embedded in other things
 
* Integration of jsonSchema for target things edition
 
 
== Release March 29th (2018-03-29) ==
 
'''New'''
 
* Barcode encoding/decoding service
 
* I2C interface to integrate I2C sensors to M2MBridge
 
 
'''Enhancements'''
 
* Support for properties of type collection of strings in things and observation
 
* Support for constraints “array contains” in observers for properties of type collection of strings
 
* Allow sharing types to specific tenants
 
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service
 
 
'''Fixes'''
 
* Temporary fix for chrome bug on visibility attribute
 
* Icons on editors and map are now correct
 
* Fix observers with date constraints (on core and custom properties of type Datetime)
 
* Fix validation of observers with missing types
 
 
== Release April 24th (2018-04-24) ==
 
'''New'''
 
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].
 
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.
 
'''Fixes'''
 
* Fix for crud observations being sent when a property value is updated with the same value
 
* Fix for checking in UI when an instance needs an update because properties where added/removed from metadata. Specifically when the type is shared with ALL
 
* Fix for importing things using its json definition
 
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)
 
'''Enhancements'''
 
* Performance improvements for deletion of multiple resources at the same time via UI
 
* Include refresh option for observers of things
 
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)
 
* Automatically update bridge observation production configuration when a bridge instance is deleted.
 
 
 
== Release May 16th ==
 
''' Fixes '''
 
* Fix for observers paging in UI
 
* Fix for default values in new role policies
 
* Fix for increment/decrement functions in reasoners supporting double values
 
 
''' New '''
 
* Publishing observation types on activity publication. All observations produced by the thing types involved in the activity will be automatically shared with the activity guests. Same behavior as for the thing types.
 
* New topics for error and success messages under promise feedback topic
 
 
 
== Release July 18th (2018-07-18) ==
 
''' New '''
 
* Centralized management of thing instances
 
* Show observers result count
 
 
'''Enhancements'''
 
* Added argument for DAP requests on observer execution endpoint
 
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution
 
 
''' Fixes '''
 
* Fix for error on user sign up with browser auto-complete functionality
 
* Fix for clearing observer view from things page
 
* UI fix for validating a single bridge after navigating to the instance
 
* Fix for deleting activities not published
 
* Set user in new thing from observation, when creating things inside activities using security from observation
 
* Fix for observers with multiple location constraints on the same field while doing REST requests
 
 
'''M2MBridge compatibility and updates'''
 
* M2MBridge should be running the version 1.4.12 or superior.
 
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval
 
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.
 
 
'''Data changes'''
 
* Add new properties to BLEbeaconsScanners
 
** acceptTypeUrl
 
** acceptTypeUid
 
** sendSmoothingSeen
 
** observationDeliveryInterval
 
* Remove eddystoneBrodcast observation
 
 
== Release July 14th (2019-07-14) ==
 
''' Enhancements '''
 
* Security changes
 
** Activities security context according to the security info of the observation triggering the execution
 
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation
 
* Validate observations produced in actions have actors
 
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)
 
* Send crud observations for all bridge child resources (to be used on the edge)
 
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud
 
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.
 
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering
 
* Support parameter for cloning bridge only if the cloud version is newer than the edge version
 
** Any update in a resource contained in a bridge will update the last modified date of the bridge
 
* Openam - LDAP migration
 
 
''' Fixes '''
 
* Security fix for navigating collections of things in followers with actors with checkUser
 
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)
 
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors
 
* Observer execution endpoint allows now to activate constraints via url arguments
 
* Visualized fields on timeline is working again
 
* Fixed issue with proximity areas and popup labels in the map
 
* Add system message to all custom messages defined by the user for validation of ranges in metadata
 
* Show error when executing activity with observer filtering target things, but running with observation without target things
 
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types
 
 
''' API changes'''
 
* Crud observations
 
** New properties added: range, membersRange, oldlastmodified, newlastmodified
 
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions
 
* User
 
** remove property amtechroles. User roles are not stored in property "roles" and user actors are in the property "actors"
 
** rename property amtechgroups to tenants
 
 
''' Data changes '''
 
* wio, gpio, etc:
 
** GPIOPinRaspberryPi
 
** GPIORasberryPi
 
** gpioRaspberryPiPinRead
 
** gpioRaspberryPiPinWrite
 
** QRCodeReader
 
** QRCodeRead
 
** QRCodeStartScanning
 
** QRCodeStopScanning
 
** wioLink
 
** wioNode
 
** wioLinkObservation
 
** wioLinkCmd
 
** WioDevice
 
** WioDeviceCmd
 
** WioDeviceObservation
 
** MCP4XXXXDevice
 
** MCP4XXXXSet
 
** MCP4XXXXShutdown
 
* Smart tracker thing type
 
* Smart tracker keys type
 
* Tracker keys collection and indices
 
* Accepted commands in blank instance of entity type
 
* Supported properties on ThingMagicEpcReader
 
** disableAntennaDetection
 
** readPower
 
** writePower
 
* commands to pause and resume LLRP readings
 
** cmdLLRPPauseRead
 
** cmdLLRPResumeRead
 
* user password reset metadata
 
* Crud observation new properties
 
* Thing Type metadata
 
* Related to amtechM2mBridge
 
** action-custom for edge reasoners
 
* query-predicate
 
** add predicate to query-class
 
** reasoner on the edge SP actions change in @type
 

Latest revision as of 15:16, 7 June 2022

To be released (security deployment for amtech-authorizer & DAP micros)

  • Deploy authorizer private key (amtech-authorizer keys)
  • Deploy DAP public key (dap resources)
  • observation storage microservice
  • dashboard microservice
  • vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB

Data changes

  • target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)
  • Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))
  • Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )

Developers notes

Developers Notes

  • Requires common playbook execution to update hosts
  • Required tomcat upgrade for webapps
  • Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)
  • If issue with java SSL certificates (registering an user) check that the file /etc/ssl/certs/java/cacerts contains the CA certificates of the system and it's in JKS format. Otherwise run the following workaoround:
    • sudo update-ca-certificates -f (should generate the content of the file)
    • cd /etc/ssl/certs/java && sudo mv cacerts cacerts.old && sudo keytool -importkeystore -destkeystore cacerts -deststoretype jks -srckeystore cacerts.old -srcstoretype pkcs12 (to change from pkcs12 to jks storetype, type can be checked with keytool -list -keystore cacerts | grep "Keystore type")

Metadata

  • import types:
    • (done) smgw and its observations
  • update supported properties validation:
    • Things
      • (done) _name
    • Observations
      • (done) targetthings
      • (done) producer
  • (done) update supported property observation limit to less than 3
  • Changes on sc field
    • Make explicit measurement unit for distance on sc fields
    • Notify losts devices have a wrong s
  • Import resources:
    • (done) monitoringSmartMobileGateways
    • (done) GPSMonitoring

To be released

Fixes

  • Removed observation storage from reasoner bindings
  • Proximity ancestor queries are now functional
  • Issues selecting topics in reasoner UI
  • Validation failed for long WKT strings
  • Observer edition failed due to fields of type object
  • Observation scheduling failed to restart after memory failures

Improvements

  • Several improvements in authentication/authorization.
    • Changes in authentication/authorization cache.
    • The impersonation of a user in a tenant is now allowed to the follower admin of that tenant.
  • Added the possibility to create digital twins from templates of the same tenant in the UI
  • Upgraded json editor to 2.6.1 version
  • Observations of type thingLocated are sent on things location changes
  • Projects for the storage of observation in the datalake and the backend and frontend of the dashboard were adapted to support the deployment in premises.
  • The dashboard backend is now deployed by tenant.
  • MQTT accepts only observations where the producer (isP=true in targetThings) exists

Release Dec 5th (2021-12-05)

Fixes

  • Property for pending publication in activity (requires adding metadata for supported property)
  • Fix for deleting user from legacy IdM even if it does not exist in current IdM
  • Topics were not shown in reasoners tree
  • Fix for observation scheduler service memory usage (Deployed on Sept 20th)
  • Fix for users in tenant cache (related to user's migration)
  • Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake
  • Improve invite flow : do not invalidate invitation until user in created or added to the tenant
  • Fix bug on user delete
  • Snaphost limited to 300 per thing, and 3 per property

Data update

  • POST istemplate and observationstorageconfig supp props

Release September 5th (2021-09-05)

Fixes

  • Image fields and floorplans may show old images because of browser cache
  • Map filter remained on entity type page
  • Fix for bridge clone validation (template owner validation)
  • Fix for activity import (checks for entity type)

Improvements

  • Proximity area floorplans are also shown in the map
  • Logs for mongo cursor

Release July 17th (2021-07-17)

Minor fixes

  • UI fix for hiding Service Logs when not in the Service page
  • Hiding OTA button after 2nd thing type is added to observer
  • Fix for centralized management when updating json property
  • Fix for removing scheduled jobs when activity is redeployed
  • Remove error message shown in observers after a successful execution via DAP
  • Fix for automatically sharing API observers and Follower observers when activity is redeployed
  • Fix for Spanish locale in user profile
  • Ordering OTA version list
  • Fix for empty OTA message
  • Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt
  • Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID

Improvements

  • UX refactoring
  • Reasoners execution
  • UI - reasoners & observers loading
  • UI - consume observations from topics - clean start everytime the user opens the topics page
  • Mqtt broker configs - check inflight messages

New features

  • Scheduled jobs viewer for follower admin
  • Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition
  • Observation storage config added to smart types


Data changes

  • Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively
  • STPG
    • update supported property "sc" json schema
      • included the possibility of filtering the eddystone device detected
      • possible to send News immediately after a device is seen in range
      • set time to notify devices "Seen" again
      • removed mesh configuration
  • Scheduled-job metadata
  • Added thing type sbe for smart beacon eddystone
    • Add type to stgActor in stgMonitoring activity
  • Entity-class property description coreProperty false

Release Jan 24th (2021-01-24)

  • Fix for sending scheduled observation in infinite loop (occurrence 0)

Release Jan 15th (2021-01-15)

  • Bugfix for OTA dialog
  • Support for spatial constraint parameter when executing observers via REST API call

Release Jan 6th (2021-01-06)

New functionality

  • Mesh validations for STPG instances

Fixes

  • Centralized management (In production since Nov 8th)
    • Allow update of properties of type json
    • Send crud observation for all updated instances


Data changes

  • Update tenant name SP with length limit
  • Update activity name SP with length limit
  • Scheduled jobs
    • add supported property origin
  • Reasoners
    • Update metadata for supported property sources
  • M2MBridge
    • Set readonly to true to all observation production configuration

Change log File:Change-log-prod-20210106.txt

Release Beta Prod 2020-09-22

Backend functionality

  • New functionality for sending OTA Update notification to smart devices via mqtt message
  • Misc changes in crud (smart types and bridge send internal crud without requiring any config)

Data changes

  • SmartThing thing type
  • SmartThingStatus observation type
  • Ota updates type
  • Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})
  • Schedule jobs indices
  • Scheduled jobs object

Release Dec 21st (2019-12-21)

New features

  • Bridge offline functionality

Fixes

  • Deployment : Several software updates
  • Fix for CRUD observations - send crud on delete conditions fixed
  • Fix bridge delete for bridges with constraints in reasoners
  • All changes to a Service must be done via the Activity Publication page. Only description, caption and icon can be updated in a Service resource directly via the menu option Activity->Service
  • Better error management in observation's enrichment topology.

Enhancements

  • Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud
  • Upgraded logstash
  • Storm bug fix upgrade
  • Add username to the new tenants created, with the name of the user that registered the tenant

Release July 14th (2019-07-14)

Enhancements

  • Security changes
    • Activities security context according to the security info of the observation triggering the execution
    • No need to configure security context for reasoners and actions, it is all automatically taken from the observation
  • Validate observations produced in actions have actors
  • CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)
  • Send crud observations for all bridge child resources (to be used on the edge)
  • Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud
  • Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.
  • Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering
  • Support parameter for cloning bridge only if the cloud version is newer than the edge version
    • Any update in a resource contained in a bridge will update the last modified date of the bridge
  • Openam - LDAP migration

Fixes

  • Security fix for navigating collections of things in followers with actors with checkUser
  • Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)
  • Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors
  • Observer execution endpoint allows now to activate constraints via url arguments
  • Visualized fields on timeline is working again
  • Fixed issue with proximity areas and popup labels in the map
  • Add system message to all custom messages defined by the user for validation of ranges in metadata
  • Show error when executing activity with observer filtering target things, but running with observation without target things
  • Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types

API changes

  • Crud observations
    • New properties added: range, membersRange, oldlastmodified, newlastmodified
    • Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions
  • User
    • remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors"
    • rename property amtechgroups to tenants
  • Observers execution with parameters
    • Parameters should be passed using the constraint uri and the specific property id. Ex. /amtech/observers/sampleObserver/entitiesFilter/endCustomer/constraints/_nameeq/value (in older versions the property id was not passed as parameter so only the value of the constraint was being replaced)

Data changes

  • wio, gpio, etc:
    • GPIOPinRaspberryPi
    • GPIORasberryPi
    • gpioRaspberryPiPinRead
    • gpioRaspberryPiPinWrite
    • QRCodeReader
    • QRCodeRead
    • QRCodeStartScanning
    • QRCodeStopScanning
    • wioLink
    • wioNode
    • wioLinkObservation
    • wioLinkCmd
    • WioDevice
    • WioDeviceCmd
    • WioDeviceObservation
    • MCP4XXXXDevice
    • MCP4XXXXSet
    • MCP4XXXXShutdown
  • Smart tracker thing type
  • Smart tracker keys type
  • Tracker keys collection and indices
  • Accepted commands in blank instance of entity type
  • Supported properties on ThingMagicEpcReader
    • disableAntennaDetection
    • readPower
    • writePower
  • commands to pause and resume LLRP readings
    • cmdLLRPPauseRead
    • cmdLLRPResumeRead
  • user password reset metadata
  • Crud observation new properties
  • Thing Type metadata
  • Related to amtechM2mBridge
    • action-custom for edge reasoners
  • query-predicate
    • add predicate to query-class
    • reasoner on the edge SP actions change in @type

Release July 18th (2018-07-18)

New

  • Centralized management of thing instances
  • Show observers result count

Enhancements

  • Added argument for DAP requests on observer execution endpoint
    • entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution

Fixes

  • Fix for error on user sign up with browser auto-complete functionality
  • Fix for clearing observer view from things page
  • UI fix for validating a single bridge after navigating to the instance
  • Fix for deleting activities not published
  • Set user in new thing from observation, when creating things inside activities using security from observation
  • Fix for observers with multiple location constraints on the same field while doing REST requests

M2MBridge compatibility and updates

  • M2MBridge should be running the version 1.4.12 or superior.
  • BLEbeaconsScanners can now send the observations with some given time interval. Set observationDeliveryInterval to the number of milliseconds of the interval
  • A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.

Data changes

  • Add new properties to BLEbeaconsScanners
    • acceptTypeUrl
    • acceptTypeUid
    • sendSmoothingSeen
    • observationDeliveryInterval
  • Remove eddystoneBrodcast observation

Release May 16th (2018-05-16)

Fixes

  • Fix for observers paging in UI
  • Fix for default values in new role policies
  • Fix for increment/decrement functions in reasoners supporting double values

New

  • Publishing observation types on activity publication. All observations produced by the thing types involved in the activity will be automatically shared with the activity guests. Same behavior as for the thing types.
  • New topics for error and success messages under promise feedback topic

Release April 24th (2018-04-24)

New

Fixes

  • Fix for crud observations being sent when a property value is updated with the same value
  • Fix for checking in UI when an instance needs an update because properties where added/removed from metadata. Specifically when the type is shared with ALL
  • Fix for importing things using its json definition
  • Fix for publishing activity without guest tenant (only the default follower tenant added by default)

Enhancements

  • Performance improvements for deletion of multiple resources at the same time via UI
  • Include refresh option for observers of things
  • Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)
  • Automatically update bridge observation production configuration when a bridge instance is deleted.


Release March 29th (2018-03-29)

New

  • Barcode encoding/decoding service
  • I2C interface to integrate I2C sensors to M2MBridge

Enhancements

  • Support for properties of type collection of strings in things and observation
  • Support for constraints “array contains” in observers for properties of type collection of strings
  • Allow sharing types to specific tenants
  • Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service

Fixes

  • Temporary fix for chrome bug on visibility attribute
  • Icons on editors and map are now correct
  • Fix observers with date constraints (on core and custom properties of type Datetime)
  • Fix validation of observers with missing types

Release Feb 23rd ( 2018-02-23 )

Migration to MongoDB backend

New

  • Allow followers to export/import things
  • Allow publishing multiple types at once
  • Support observers execution with parameters via direct requests to the DAP API
  • Show types each actor gives access to in the user profile
  • Default follower can subscribe only to its creator services


Bug Fixes

  • Fixed logout error after changing password

Enhancements

  • Required and published properties can be removed if no instances exist
  • Automatically keep guests in sync for things embedded in other things
  • Integration of jsonSchema for target things edition

Release August 12th (2017-08-12)

New

  • Amtech IoT demo webpage
  • New websocket endpoint that allow consuming messages from multiple topics at the same time. The list of topics can be dynamically modified by sending control messages through the same websocket communication.
  • Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.
  • Thing types for m2mBridge plugins
    • BLEBluvisionBeeksScanner scanner to handle Beeks beacon encoding
    • waspmoteBLECentral plugin for Libellium BLE sensors
    • Trilaterator
  • Enforce type publication for publishing Activity (on validations for publishing)

Enhancements

  • Clicking on marker clusters in a map show all the resources opened
  • DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}
  • Crud observations on location fields are not anymore sent when the format changes (from wkt to location json) or some spaces are added or removed

Bug fixes

  • Target thing field on observations are correctly validated now in the UI
  • Observers using observations’ target thing return nothing when the received observation does not include the observed thing type
  • Fields of type json allows now bindings in actions
  • Json editor did not work for some jsonschema
  • Error parsing wkts with scientific notation (e.g. 1e-10)

Release May 29th (2017-05-29)

New

  • Service to export spatial query results to an image or pdf document. Details

Enhancements

  • Added endpoint to retrieve the center of a resource location
  • Bridges have now a collection of reasoners on the edge
  • Actors names under tenant (allow same actor name to be used by different tenants)
  • Floorplan images can now be exported/imported

Changes

  • The floorplan calibration allows now to use not only rectangles but also parallelograms
  • The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button
  • Search for name and description based on whole words (temporary)
  • Observers: closest resource constraints can not be used with multiple thing types

Bug fixes

  • isEmbedded is not any more in supported property metadata for primitive types.
  • Solved issue with the autogenerated name for some objects like observations and the new constraints for this field
  • Better alignment among versions from kafka and storm components
  • Moved to new storm-kafka-client external library that leverage the new kafka consumer's API
  • CRUD observations for followers and impersonator inside activity execution

Release Feb (2017-02)

Enhancements

  • Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)

Changes

  • Do not allow update of regExp or validationSchema on published properties
  • Removed property destination (edge/cloud) from observation production config
  • Removed aggregation properties from bridge

Release December 2nd (2016-12-02)

Enhancements

  • Added endpoint for EPC Tags encoding/decoding.
  • Shared observers can only be edited by owner tenant.
  • Better error message when the tenant had not access to a resource
  • BLETISensorTagScanner new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.
  • Added support for thread-independent transactions in DB Manager.

Kafka upgraded to version 0.10.1.0.

Changes

  • The symbol # can not be used on any resource name.
  • It is not possible anymore to have a thing type and an observation type with the same name.
  • Date data edition allows now to navigate by year and months.

Bug fixes

  • Observers did not handle correctly the resource types with underscores (“_”).
  • Date fields made crash reasoner editor.
  • Date constraint default values were inverted.
  • Reasoner menu did not show all the fields when there were too many
  • Create thing action failed when the entity type defined a field of type collection
  • Removing supported properties named value from thing types or observation types made some data inconsistent.
  • Solved issue with the retrieval of allegedly non-existent objects in the database when REST internal calls were present in the middle of an active transaction by using thread-independent transactions for the retrieving action.
  • Several issues solved regarding actions that create things with embedded content (things or collections of things).

New

  • BLEServicesReader generic bluetooth services and characteristics reader
  • ModbusDevice implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).

Release October 11th (2016-10-11)

Enhancements

  • Added the possibility to create supported properties to hold thing types and collection of thing types
  • Added aggregation to M2MBridge bridges in a local area network, to achieve the configuration of this functionality, the following supported properties has been added to the amtechM2MBridge thing type
    • m2mbridgeAgregationInstances The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.
    • m2mbridgeAggregationTypes The list of things types that will act as source for aggregation.
  • Validation of M2MBridge instance
  • Validation of M2MBridge network
  • Enhancement in data representation for topics, and its navigation in UI
  • Enhancement in M2MBridge observation production configuration graphical navigation
  • Enhancement in Activity resources configuration graphical navigation
  • Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)
  • Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas
  • Added terraformer and geolib libraries to the json editor on reasoner

Changes

  • Resources with supported properties that were added or removed from their metadata appear as dirty (to be saved) in the editor and a message is shown
  • Security changes
    • Actors in follower admin are automatically refreshed according to the services they are subscribed to. (requires only publication of the activity with new actors, and follower sign in)
  • Supported properties holding links to entities can now be forced to use current tenant constraint by setting to true the property forceTenantConstraint in its semantic
  • Add json schema as supported property validator
  • Observation production configuration was moved from Activity to M2MBridge
  • Activity configuration keep CRUD producer thing types configuration
  • Target topics for CRUD observations are defined by name convention (they can not be customized anymore )

Semantic changes

  • Removed thing types iBeacon and EddystoneBeacon, use BLEBeaconScanner instead
  • Changes to amtechM2mBridge thing type
    • Added fields m2mbridgeAgregationInstances, m2mbridgeAggregationTypes to handle aggregations (see enhancements above).
    • Added fields bridgestartedobservationconfig,bridgestoppedobservationconfig, bridgeerrorobservationconfig for bridge observation configuration
    • Added fields observationproduction for observation production configuration (formerly a field of Activities)
  • Changes in Activities
    • Remove field observationproductionconfig which is now on amtechM2mBridge
    • Added field crudobservationproducers to hold the crud producer thing types.
  • Thing instances
    • Removed field activityForObsProduction
  • Support for new Edge Thing Types
    • ArduinoSerial
    • BLEODB2Scanner
    • LibeliumMeshlium
    • OPCUADevice
    • BLETISensorTagScanner

Bug fixes

  • Automatic follower username depended on the login letter case.
  • Roles were not correctly filtered when editing team member roles
  • Invited followers acquired all actors when owner subscribed to a service
  • Thing collections can not be deleted from the UI anymore
  • Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs
  • Navigator breadcrumb lost root url when deleting a supported property from inside
  • Observation Guest tenants and guest users can now be added to thing instances inside the update actions

Core technology update

  • Titan 1.0
  • TinkerPop 3.1
  • Java 8
  • Kafka 0.10.01
  • Storm 1.0.2
  • Cassandra 2.0.17
  • Elasticsearch 1.5.2

Release June 13th ( 2016-06-13 )

Enhancement

  • Validating an activity updates publish button without refreshing
  • Validation bridge observation configuration at follower UE
  • New Observation production configuration view at Activity Tree View
  • Activity graphical browser
  • Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor.
  • Invited followers can not see the services anymore
  • <Enter> on pagesize input text send the refresh action
  • Click on access control filter will refresh the editor

Bug fixes

  • JsonLd button did not show from inside of thing and observation types
  • Issues in spatial closestResource constraint with rectangles
  • Fix update guest tenant for services in service screen
  • Change observation production configuration to validate that crud topics have no placeholders
  • Fix crud observations sent to new topics
  • Send observation from reasoners
  • Access control filter now works on selection dialogs

Troubleshooting

  • Redeploy activities sending observations

Release May 27th ( 2016-05-27 )

Changes

  • Multiple access control changes, enforcing actors in follower for validations of observation production
  • Changes in observation production configuration
    • Multiple bridge instances allowed
    • Things include the reference to the specific observation production configuration they use
  • Changes in access control for Topics. Topics are public and access control is enforced on observations

Semantic changes

  • New Thing Types : GPIOPinRaspberryPi and GPIORaspberryPi
  • New Observation Types : gpioRaspberryPiPinRead and gpioRaspberryPiPinWrite
  • Removed Observation Types : snmpError and snmpTrap

Enhancements

  • An M2MBridge can be configured without the need of reasoners
  • Spatial fields on observer constraints activate now the “save” button on input
  • Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.
  • Invitations can be handled (deleted, resent) from Invite window.
  • The followers can see the actors assigned to them for the current tenant in their profile
  • Creators can edit their topics and create new ones.
  • The UI for followers is now similar to that for creators.
  • Followers can create and send observations from the simulator page
  • Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself
  • Added help link (to the related topic in AmTech wiki) to some selection windows
  • An activity can be published without reasoners when it has observation production configuration set
  • Floating menu is now at the top of the window

Bug fixes

  • Error in timeline when set fields to view but no field to group by
  • Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields
  • Issues on spatial constraints: intersect and closest resources
  • Changes on observer constraints were not taken into account in some cases
  • Use of IsRequired constraint on observation fields made observers impossible to save.
  • Simple search works now also on selection dialogs

Known issues

  • Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly

Troubleshooting

In order to solve son compatibility issues, all creators must perform the following actions on their data :

  • Publish activity
  • Update guest tenants in things that have that property with a value