http://wiki.amtech.mx/mediawiki/api.php?action=feedcontributions&user=Hector&feedformat=atomAMTech WikiDocs - User contributions [en]2024-03-28T13:33:50ZUser contributionsMediaWiki 1.26.0http://wiki.amtech.mx/mediawiki/index.php?title=Smart_Mobile_Gateway_Privacy_policy&diff=4216Smart Mobile Gateway Privacy policy2023-10-16T18:11:01Z<p>Hector: </p>
<hr />
<div><br />
The Smart Mobile Gateway is a device tracking application. It allows to gather and send information to be used within the AMTech services. The user accepts the present privacy policy by signing in on the applications. The application is <br />
<br />
* <big>'''Information we collect and how we use it'''</big><br />
<br />
- ''The login credentials: user id or email, tenant and password'':<br /><br />
The application needs the user to provide the AMTech platform signing information in order to sign up on AMTech platform and to use them to grant access to AMTech services. This information is kept while the device is provisioned<br />
<br />
- ''The SSAID associated to the user and the device'':<br /><br />
used as unique identifier of the digital twin associated to the device. This value will be different for other users and other applications on the same device and it changes on factory resets as stated [https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID here]<br />
<br />
- ''Device status information'': <br /><br />
Information like battery, memory, disk usage, plugin status, etc, are sent to the AMTech services to allow to monitor the health status of the device. <br />
<br />
- ''Location information'': <br /><br />
The location information, fine or coarse according to the device owner selection, will be sent to AMTech service for monitoring purposes. The user can stop the location monitoring by changing the configuration on the AMTech platform<br />
<br />
- ''Proximity Ble devices advertisement packages'': <br /><br />
Ble advertisements are scanned whenever the device is configured to do it. This information can be used for indoor location in the AMTech services or to monitor beacon and AMTech ble devices that has been provisioned on the platform. The user can stop the ble scanning feature by changing the configuration on the AMTech platform <br />
<br />
- ''Application logs'': <br /><br />
Some information are stored locally on the device for logging purposes. AMTech will not have access to it except if the user sends it to explicitly. We will ask for it only for debugging and bug tracing.<br />
<br />
* <big>'''How they are used or transferred'''</big><br />
<br />
The information gathered by the application is sent as observation [[Sensor's network|see here]] to the AMTech's data storage. All the users of tenant used as credentials, and those of the tenant with whom the data was shared will have access to those observations by them self or by the services where they are subscribed. AMTech uses HTTPS and MQTT as communication protocol so we ensure only that we use the security they provide, so the user accepts the risks associated to that when he uses the application. <br />
<br />
The data that is gathered and transmitted as configured on the associated digital twin in the AMTech platform. The location information, the ble scan features and other plugins can be disabled there when they are not needed.<br />
<br />
* <big>'''Data sharing'''</big><br />
AMTech does not share any information with anyone, but the users can share them directly or via the services to which the tenant is subscribed. AMTech can not be held responsible for any unwanted sharing but we can help to trace if the reason is a problem on our side or if it is due to a poor configuration. The owner of the tenant used in the credential will have access to all the data through the tools provided by AMTech for the monitoring activity.<br />
<br />
* <big>'''Third party applications'''</big><br />
Third party application can communicate through the Smart Mobile Gateway to send more information to our platform. AMTech can not be considered responsible of the data they gather and transfer through it.</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Smart_Mobile_Gateway_Privacy_policy&diff=4215Smart Mobile Gateway Privacy policy2022-09-16T20:00:02Z<p>Hector: </p>
<hr />
<div><br />
The Smart Mobile Gateway is a device tracking application. It allows to gather and send information to be used within the AMTech services. The user accepts the present privacy policy by signing in on the applications. The application is <br />
<br />
* <big>'''Information we collect and how we use it'''</big><br />
<br />
- ''The login credentials: user id or email, tenant and password'':<br /><br />
The application needs the signing information provided by the user when he sign up on AMTech platform and it is used to grant access to AMTech services. <br />
<br />
- ''The SSAID associated to the user and the device'':<br /><br />
used as unique identifier of the digital twin associated to the device. This value will be different for other users and other applications on the same device and it changes on factory resets as stated [https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID here]<br />
<br />
- ''Device status information'': <br /><br />
Information like battery, memory, disk usage, plugin status, etc, are sent to the AMTech services to allow to monitor the health status of the device.<br />
<br />
- ''Location information'': <br /><br />
The location information, fine or coarse according to the device owner selection, can be sent to AMTech service for monitoring purposes. <br />
<br />
- ''Proximity Ble devices advertisement packages'': <br /><br />
Ble advertisements are scanned whenever the device is configured to do it. This information can be used for indoor location to complement the GPS information <br />
<br />
- ''Application logs'': <br /><br />
Some information are stored locally on the device for logging purposes. AMTech will not have access to it except if the user send it to explicitly. We will ask for it only for debugging and bug tracing.<br />
<br />
* <big>'''How they are used or transferred'''</big><br />
<br />
The information gathered by the application is sent as observation [[Sensor's network|see here]] to the AMTech's data storage. All the users of tenant used in the credentials, and those of the tenant with whom the data was shared will have access to those observations by them self or by the services where they are subscribed. AMTech uses HTTPS and MQTT as communication protocol so we ensure only that we use the security they provide, so the user accepts the risks associated to that when he uses the application. <br />
<br />
The data that is gathered and transmitted as configured on the associated digital twin in the AMTech platform. The location information and the ble scan features can be disabled there if it is not needed.<br />
<br />
* <big>'''Data sharing'''</big><br />
AMTech does not share any information with anyone, but the users can share them directly or via the services to which the tenant are subscribed. AMTech can not be held responsible for any unwanted sharing but we can help to trace if the reason is a problem on our side or if it is due to a poor configuration. The owner of the tenant used in the credential will have access to all the data through the tools provided by AMTech for the monitoring activity.<br />
<br />
* <big>'''Third party applications'''</big><br />
Third party application can communicate through the Smart Mobile Gateway to send more information to our platform. AMTech can not be considered responsible of the data they gather and transfer through it</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Smart_Mobile_Gateway_Privacy_policy&diff=4214Smart Mobile Gateway Privacy policy2022-09-16T19:45:34Z<p>Hector: </p>
<hr />
<div><br />
The Smart Mobile Gateway is a device tracking application. It allows to gather and send information to be used within the AMTech services. The user accepts the present privacy policy by signing in on the applications. The application is <br />
<br />
* <big>'''Information we collect and how we use it'''</big><br />
<br />
- ''The login credentials: user id or email, tenant and password'':<br /><br />
The application needs the signing information provided by the user when he sign up on AMTech platform and it is used to grant access to AMTech services. <br />
<br />
- ''The SSAID associated to the user and the device'':<br /><br />
used as unique identifier of the digital twin associated to the device. This value will be different for other users and other applications on the same device and it changes on factory resets as stated [https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID here]<br />
<br />
- ''Device status information'': <br /><br />
Information like battery, memory, disk usage, plugin status, etc, are sent to the AMTech services to allow to monitor the health status of the device.<br />
<br />
- ''Location information'': <br /><br />
The location information, fine or coarse according to the device owner selection, can be sent to AMTech service for monitoring purposes. <br />
<br />
- ''Proximity Ble devices advertisement packages'': <br /><br />
Ble advertisements are scanned whenever the device is configured to do it. This information can be used for indoor location to complement the GPS information <br />
<br />
- ''Application logs'': <br /><br />
Some information are stored locally on the device for logging purposes. AMTech will not have access to it except if the user send it to explicitly. We will ask for it only for debugging and bug tracing.<br />
<br />
* <big>'''How they are used or transferred'''</big><br />
<br />
The information gathered by the application is sent as observation [[Sensor's network|see here]] to the AMTech's data storage. All the users of tenant used in the credentials, and those of the tenant with whom the data was shared will have access to those observations by them self or by the services where they are subscribed. AMTech uses HTTPS and MQTT as communication protocol so we ensure only that we use the security they provide, so the user accepts the risks associated to that when he uses the application. <br />
<br />
The data that is gathered and transmitted as configured on the associated digital twin in the AMTech platform. The location information and the ble scan features can be disabled there if it is not needed.<br />
<br />
* <big>'''Data sharing'''</big><br />
AMTech does not share any information with anyone, but the users can share them directly or via the services to which the tenant are subscribed. AMTech can not be held responsible for any unwanted sharing but we can help to trace if the reason is a problem on our side or if it is due to a poor configuration. <br />
<br />
* <big>'''Third party applications'''</big><br />
Third party application can communicate through the Smart Mobile Gateway to send more information to our platform. AMTech can not be considered responsible of the data they gather and transfer through it</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Smart_Mobile_Gateway_Privacy_policy&diff=4213Smart Mobile Gateway Privacy policy2022-09-15T14:22:39Z<p>Hector: </p>
<hr />
<div><br />
The Smart Mobile Gateway is a device tracking application. It allows to gather and send information to be used within the AMTech services. The user accepts the present privacy policy by signing in on the applications. The application is <br />
<br />
* <big>'''Information we collect and how we use it'''</big><br />
<br />
- ''The login credentials: user id or email, tenant and password'':<br /><br />
The application needs the signing information provided by the user when he sign up on AMTech platform and it is used to grant access to AMTech services. <br />
<br />
- ''The SSAID associated to the user and the device'':<br /><br />
used as unique identifier of the digital twin associated to the device. This value will be different for other users on the same device and other applications and it changes on factory resets as stated [https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID here]<br />
<br />
- ''Device status information'': <br /><br />
Information like battery, memory, disk usage, plugin status, etc, are sent to the AMTech services to allow to monitor the health status of the device.<br />
<br />
- ''Location information'': <br /><br />
The location information, fine or coarse according to the device owner selection, can be sent to AMTech service for monitoring purposes. <br />
<br />
- ''Proximity Ble devices advertisement packages'': <br /><br />
Ble advertisements are scanned whenever the device is configured to do it. This information can be used for indoor location to complement the GPS information <br />
<br />
- ''Application logs'': <br /><br />
Some information are stored locally on the device for logging purposes. AMTech will not have access to it except if the user send it to explicitly. We will ask for it only for debugging and bug tracing.<br />
<br />
* <big>'''How they are used or transferred'''</big><br />
<br />
The information gathered by the application is sent as observation [[Sensor's network|see here]] to the AMTech's data storage. All the users of tenant used in the credentials, and those of the tenant with whom the data was shared will have access to those observations by them self or by the services where they are subscribed. AMTech uses HTTPS and MQTT as communication protocol so we ensure only that we use the security they provide. As it is known, HTTPS is encrypted protocol but MQTT is not, so the user accepts the risks associated to that when he uses the application.<br />
<br />
The data that is gathered and transmitted is configured on the associated digital twin in the AMTech platform. The location information and the ble scan features can be disabled there if it is not needed.<br />
<br />
* <big>'''Data sharing'''</big><br />
AMTech does not share any information with anyone, but the users can share them directly or via the services to which the tenant are subscribed. AMTech can not be held responsible for any unwanted sharing but we can help to trace if the reason is a problem on our side or if it is due to a poor configuration. <br />
<br />
* <big>'''Third party applications'''</big><br />
Third party application can communicate through the Smart Mobile Gateway to send more information to our platform. AMTech can not be considered responsible of the data they gather and transfer through it</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Smart_Mobile_Gateway_Privacy_policy&diff=4212Smart Mobile Gateway Privacy policy2022-09-14T21:12:29Z<p>Hector: </p>
<hr />
<div><br />
The Smart Mobile Gateway is a device tracking application. It allows to send the information gathered by the device in order to be used within the AMTech services. The user accepts the present privacy policy by signing in on the applications <br />
<br />
* <big>'''Information we collect and how we use it'''</big><br />
<br />
- ''The login credentials: user id or email, tenant and password'':<br /><br />
The application needs the signing information provided by the user when he sign up on AMTech platform and it is used to grant access to AMTech services. <br />
<br />
- ''The SSAID associated to the user and the device'':<br /><br />
used as unique identifier of the digital twin associated to the device. This value will be different for other users on the same device and other applications and it changes on factory resets as stated [https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID here]<br />
<br />
- ''Device status information like battery, memory, disk usage, plugin status, etc. '': <br /><br />
Gathered to keep track of the device health status in AMTech services.<br />
<br />
- ''Location information, fine or coarse according to the device owner selection.'': <br /><br />
The location allows to keep track of the position of the device on AMTech services. <br />
<br />
- ''Proximity Ble devices advertisement packages'': <br /><br />
Ble advertisements are scanned whenever the device is configured to do it. This information can be used for indoor location to complement the GPS information <br />
<br />
- ''Application logs'': <br /><br />
Some information are stored locally for logging purposes. This information is stored locally and AMTech will not have access to it except if the user send it to us explicitly. We will ask for it only in case of further debugging needs<br />
<br />
* <big>'''How they are used or transferred'''</big><br />
<br />
All the information <br />
<br />
* <big>'''Data sharing'''</big></div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Smart_Mobile_Gateway_Privacy_policy&diff=4211Smart Mobile Gateway Privacy policy2022-09-14T21:11:39Z<p>Hector: </p>
<hr />
<div><br />
The Smart Mobile Gateway is a device tracking application. It allows to send the information gathered by the device in order to be used within the AMTech services. The user accepts the present privacy policy by signing in on the applications <br />
<br />
* <big>'''Information we collect and how we use it'''</big><br />
<br />
- ''The login credentials: user id or email, tenant and password'':<br /><br />
The application needs the signing information provided by the user when he sign up on AMTech platform and it is used to grant access to AMTech services. <br />
<br />
- ''The SSAID associated to the user and the device'':<br /><br />
used as unique identifier of the digital twin associated to the device. This value will be different for other users on the same device and other applications and it changes on factory resets as stated [https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID here]<br />
<br />
- ''Device status information like battery, memory, disk usage, plugin status, etc. '': <br /><br />
Gathered to keep track of the device health status in AMTech services.<br />
<br />
- ''Location information, fine or coarse according to the device owner selection.'': <br /><br />
The location allows to keep track of the position of the device on AMTech services. <br />
<br />
- ''Proximity Ble devices advertisement packages'': <br /><br />
Ble advertisements are scanned whenever the device is configured to do it. This information can be used for indoor location to complement the GPS information <br />
<br />
- ''Application logs'': <br /><br />
Some information are stored locally for logging purposes. This information is stored locally and AMTech will not have access to it except if the user send it to us explicitly. We will ask for it only in case of further debugging needs<br />
<br />
* <big>'''How they are used or transferred'''</big><br />
<br />
All the information <br />
<br />
* <big>'''Data sharing'''</big></div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Smart_Mobile_Gateway_Privacy_policy&diff=4210Smart Mobile Gateway Privacy policy2022-09-14T21:10:24Z<p>Hector: </p>
<hr />
<div><br />
The Smart Mobile Gateway is a device tracking application. It allows to send the information gathered by the device in order to be used within the AMTech services. The user accepts the present privacy policy by signing in on the applications <br />
<br />
* <big>'''Information we collect and how we use it'''</big><br />
<br />
- ''The login credentials: user id or email, tenant and password''. The application needs the signing information provided by the user when he sign up on AMTech platform and it is used to grant access to AMTech services. <br />
<br />
- ''The SSAID associated to the user and the device'': used as unique identifier of the digital twin associated to the device. This value will be different for other users on the same device and other applications and it changes on factory resets as stated [https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID here]<br />
<br />
- ''Device status information like battery, memory, disk usage, plugin status, etc. '': Gathered to keep track of the device health status in AMTech services.<br />
<br />
- ''Location information, fine or coarse according to the device owner selection.'': The location allows to keep track of the position of the device on AMTech services. <br />
<br />
- ''Proximity Ble devices advertisement packages'': Ble advertisements are scanned whenever the device is configured to do it. This information can be used for indoor location to complement the GPS information <br />
<br />
- ''Application logs'': Some information are stored locally for logging purposes. This information is stored locally and AMTech will not have access to it except if the user send it to us explicitly. We will ask for it only in case of further debugging needs<br />
<br />
* <big>'''How they are used or transferred'''</big><br />
<br />
All the information <br />
<br />
* <big>'''Data sharing'''</big></div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Smart_Mobile_Gateway_Privacy_policy&diff=4209Smart Mobile Gateway Privacy policy2022-09-14T21:09:48Z<p>Hector: </p>
<hr />
<div><br />
The Smart Mobile Gateway is a device tracking application. It allows to send the information gathered by the device in order to be used within the AMTech services. The user accepts the present privacy policy by signing in on the applications <br />
<br />
<big>* '''Information we collect and how we use it'''</big><br />
<br />
- ''The login credentials: user id or email, tenant and password''. The application needs the signing information provided by the user when he sign up on AMTech platform and it is used to grant access to AMTech services. <br />
<br />
- ''The SSAID associated to the user and the device'': used as unique identifier of the digital twin associated to the device. This value will be different for other users on the same device and other applications and it changes on factory resets as stated [https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID here]<br />
<br />
- ''Device status information like battery, memory, disk usage, plugin status, etc. '': Gathered to keep track of the device health status in AMTech services.<br />
<br />
- ''Location information, fine or coarse according to the device owner selection.'': The location allows to keep track of the position of the device on AMTech services. <br />
<br />
- ''Proximity Ble devices advertisement packages'': Ble advertisements are scanned whenever the device is configured to do it. This information can be used for indoor location to complement the GPS information <br />
<br />
- ''Application logs'': Some information are stored locally for logging purposes. This information is stored locally and AMTech will not have access to it except if the user send it to us explicitly. We will ask for it only in case of further debugging needs<br />
<br />
<big>* '''How they are used or transferred'''</big><br />
<br />
All the information <br />
<br />
<big>* '''Data sharing'''</big></div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Smart_Mobile_Gateway_Privacy_policy&diff=4208Smart Mobile Gateway Privacy policy2022-09-14T21:08:34Z<p>Hector: </p>
<hr />
<div><br />
The Smart Mobile Gateway is a device tracking application. It allows to send the information gathered by the device in order to be used within the AMTech services. The user accepts the present privacy policy by signing in on the applications <br />
<br />
<big>* '''Information we collect and how we use it'''</big><br />
<br />
- ''The login credentials: user id or email, tenant and password''. The application needs the signing information provided by the user when he sign up on AMTech platform and it is used to grant access to AMTech services. <br />
<br />
- ''The SSAID associated to the user and the device'': used as unique identifier of the digital twin associated to the device. This value will be different for other users on the same device and other applications and it changes on factory resets as stated [https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID here]<br />
<br />
- ''Device status information like battery, memory, disk usage, plugin status, etc. '': Gathered to keep track of the device health status in AMTech services.<br />
<br />
- ''Location information, fine or coarse according to the device owner selection.'': The location allows to keep track of the position of the device on AMTech services. <br />
<br />
- ''Proximity Ble devices advertisement packages'': Ble advertisements are scanned whenever the device is configured to do it. This information can be used for indoor location to complement the GPS information <br />
<br />
- ''Application logs'': Some information are stored locally for logging purposes. This information is stored locally and AMTech will not have access to it except if the user send it to us explicitly. We will ask for it only in case of further debugging needs<br />
<br />
<big>* How they are used or transferred</big><br />
<br />
All the information <br />
<big>* Data sharing</big></div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Smart_Mobile_Gateway_Privacy_policy&diff=4207Smart Mobile Gateway Privacy policy2022-09-14T21:06:38Z<p>Hector: </p>
<hr />
<div><br />
The Smart Mobile Gateway is a device tracking application. It allows to send the information gathered by the device in order to be used within the AMTech services. The user accepts the present privacy policy by signing in on the applications <br />
<br />
* '''Information we collect and how we use it'''<br />
<br />
- ''The login credentials: user id or email, tenant and password''. The application needs the signing information provided by the user when he sign up on AMTech platform and it is used to grant access to AMTech services. <br />
<br />
- ''The SSAID associated to the user and the device'': used as unique identifier of the digital twin associated to the device. This value will be different for other users on the same device and other applications and it changes on factory resets as stated [https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID here]<br />
<br />
- ''Device status information like battery, memory, disk usage, plugin status, etc. '': Gathered to keep track of the device health status in AMTech services.<br />
<br />
- ''Location information, fine or coarse according to the device owner selection.'': The location allows to keep track of the position of the device on AMTech services. <br />
<br />
- ''Proximity Ble devices advertisement packages'': Ble advertisements are scanned whenever the device is configured to do it. This information can be used for indoor location to complement the GPS information <br />
<br />
- ''Application logs'': Some information are stored locally for logging purposes. This information is stored locally and AMTech will not have access to it except if the user send it to us explicitly. We will ask for it only in case of further debugging needs<br />
<br />
* How they are used or transferred<br />
<br />
All the information <br />
* Data sharing</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Smart_Mobile_Gateway_Privacy_policy&diff=4206Smart Mobile Gateway Privacy policy2022-09-14T21:06:04Z<p>Hector: </p>
<hr />
<div><br />
The Smart Mobile Gateway is a device tracking application. It allows to send the information gathered by the device in order to be used within the AMTech services. The user accepts the present privacy policy by signing in on the applications <br />
<br />
* '''Information we collect and how we use it'''<br />
<br />
''The login credentials: user id or email, tenant and password''. The application needs the signing information provided by the user when he sign up on AMTech platform and it is used to grant access to AMTech services. <br />
<br />
''The SSAID associated to the user and the device'': used as unique identifier of the digital twin associated to the device. This value will be different for other users on the same device and other applications and it changes on factory resets as stated [https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID here]<br />
<br />
''Device status information like battery, memory, disk usage, plugin status, etc. '': Gathered to keep track of the device health status in AMTech services.<br />
<br />
''Location information, fine or coarse according to the device owner selection.'': The location allows to keep track of the position of the device on AMTech services. <br />
<br />
''Proximity Ble devices advertisement packages'': Ble advertisements are scanned whenever the device is configured to do it. This information can be used for indoor location to complement the GPS information <br />
<br />
''Application logs'': Some information are stored locally for logging purposes. This information is stored locally and AMTech will not have access to it except if the user send it to us explicitly. We will ask for it only in case of further debugging needs<br />
<br />
* How they are used or transferred<br />
<br />
All the information <br />
* Data sharing</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=AMTech_Help_Contents&diff=4205AMTech Help Contents2022-09-13T18:58:56Z<p>Hector: </p>
<hr />
<div>;A Platform as a Service [https://en.wikipedia.org/wiki/Platform_as_a_service (PaaS)] for the easy creation, deployment and management of [https://en.wikipedia.org/wiki/Internet_of_Things (IoT)] solutions and for the easy integration with existing applications<br />
# [[AMTech|Core Concepts]]<br />
#* [[AMTech#PaaS|PaaS]]<br />
#* [[AMTech#Thing|Thing]]<br />
#* [[AMTech#IoT|IoT]]<br />
#* [[AMTech#Big Data & Real time|Big Data & Real time]]<br />
# [[Cloud]]<br />
#* [[IoT Semantics]]<br />
#* [[IoT Domain Application Protocol]]<br />
#* [[IoT Restful API]]<br />
#* [[Tenants and users definition | Tenants definition]]<br />
#* [[Access control]]<br />
#* [[l10n|Mutilanguage Support]]<br />
# [[Amtech Platform]]<br />
#* [[Things]]<br />
#** [[Location]]<br />
#** [[Proximity area]]<br />
#** [[Floor plan]]<br />
#** [[Thing snapshots|Snapshots]]<br />
#** [[CRUD observations]]<br />
#* [[Sensor's network|Observations]]<br />
#* [[Activities]]<br />
#** [[Reasoners]]<br />
#** [[Actions]]<br />
#** [[Execution status]]<br />
#** [[Hello World activity flow]]<br />
#** [[Import/Export]]<br />
#** [[Execution engine]]<br />
#** [[Services|Services (SaaS)]]<br />
#* [[Observers| Real Time Views]]<br />
#* [[User registration]]<br />
#* [[Centralized Management|Centralized management of bridge instances]]<br />
#* [[UE|User experience]]<br />
# [[Edge| Edge]]<br />
#* [[Mqtt]]<br />
#* [[M2M Bridge|(M2M-Bridge)]]<br />
#* [[Mesh Network| Mesh Network]]<br />
# [[Data Analytics (Datalake)]]<br />
#* [[Config]]<br />
# [[Recipes]]<br />
#* [[Recipes#Counting_area_occupancy|Counting area occupancy]]<br />
#* [[Recipes#Execute_action_at_a_specific_time|Execute action at a specific time]]<br />
#* [[Recipes#Execute_action_every_30_min|Execute action every 30 min]]<br />
#* [[Cloud configuration for M2MBridge]]<br />
#* [[Recipes#Send_notifications_to_emails.2Fphone_numbers_defined_in_the_thing_instances|Send notifications to emails and phone numbers defined in the thing instances]]<br />
#* [[Recipes#Bridge_and_instances_crud|Bridge reacting to changes in the things instances associated with it]]<br />
#* [[Data migration using Export/Import]]<br />
# Supporting documents<br />
#* [[Feature list]]<br />
#* [[Architecture overview]]<br />
#[[FAQs (Frequently asked questions)]]<br />
#[[What is next]]<br />
#[[Releases]]<br />
#Privacy policy<br />
#* [[Smart Mobile Gateway Privacy policy|Smart mobile gateway]]</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Smart_Mobile_Gateway_Privacy_policy&diff=4203Smart Mobile Gateway Privacy policy2022-09-13T18:57:42Z<p>Hector: Hector moved page Privacy policy to Smart Mobile Gateway Privacy policy</p>
<hr />
<div>''Smart Mobile Gateway Android App Privacy policy''<br />
The Smart Gateway Mobile app is a device tracking application. It allows to <br />
<br />
* Information we collect<br />
* How they are collected<br />
* How they are used<br />
* Data sharing</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Privacy_policy&diff=4204Privacy policy2022-09-13T18:57:42Z<p>Hector: Hector moved page Privacy policy to Smart Mobile Gateway Privacy policy</p>
<hr />
<div>#REDIRECT [[Smart Mobile Gateway Privacy policy]]</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Smart_Mobile_Gateway_Privacy_policy&diff=4202Smart Mobile Gateway Privacy policy2022-09-13T18:34:57Z<p>Hector: Created page with "''Smart Mobile Gateway Android App Privacy policy'' The Smart Gateway Mobile app is a device tracking application. It allows to * Information we collect * How they are colle..."</p>
<hr />
<div>''Smart Mobile Gateway Android App Privacy policy''<br />
The Smart Gateway Mobile app is a device tracking application. It allows to <br />
<br />
* Information we collect<br />
* How they are collected<br />
* How they are used<br />
* Data sharing</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=AMTech_Help_Contents&diff=4201AMTech Help Contents2022-09-02T15:19:23Z<p>Hector: </p>
<hr />
<div>;A Platform as a Service [https://en.wikipedia.org/wiki/Platform_as_a_service (PaaS)] for the easy creation, deployment and management of [https://en.wikipedia.org/wiki/Internet_of_Things (IoT)] solutions and for the easy integration with existing applications<br />
# [[AMTech|Core Concepts]]<br />
#* [[AMTech#PaaS|PaaS]]<br />
#* [[AMTech#Thing|Thing]]<br />
#* [[AMTech#IoT|IoT]]<br />
#* [[AMTech#Big Data & Real time|Big Data & Real time]]<br />
# [[Cloud]]<br />
#* [[IoT Semantics]]<br />
#* [[IoT Domain Application Protocol]]<br />
#* [[IoT Restful API]]<br />
#* [[Tenants and users definition | Tenants definition]]<br />
#* [[Access control]]<br />
#* [[l10n|Mutilanguage Support]]<br />
# [[Amtech Platform]]<br />
#* [[Things]]<br />
#** [[Location]]<br />
#** [[Proximity area]]<br />
#** [[Floor plan]]<br />
#** [[Thing snapshots|Snapshots]]<br />
#** [[CRUD observations]]<br />
#* [[Sensor's network|Observations]]<br />
#* [[Activities]]<br />
#** [[Reasoners]]<br />
#** [[Actions]]<br />
#** [[Execution status]]<br />
#** [[Hello World activity flow]]<br />
#** [[Import/Export]]<br />
#** [[Execution engine]]<br />
#** [[Services|Services (SaaS)]]<br />
#* [[Observers| Real Time Views]]<br />
#* [[User registration]]<br />
#* [[Centralized Management|Centralized management of bridge instances]]<br />
#* [[UE|User experience]]<br />
# [[Edge| Edge]]<br />
#* [[Mqtt]]<br />
#* [[M2M Bridge|(M2M-Bridge)]]<br />
#* [[Mesh Network| Mesh Network]]<br />
# [[Data Analytics (Datalake)]]<br />
#* [[Config]]<br />
# [[Recipes]]<br />
#* [[Recipes#Counting_area_occupancy|Counting area occupancy]]<br />
#* [[Recipes#Execute_action_at_a_specific_time|Execute action at a specific time]]<br />
#* [[Recipes#Execute_action_every_30_min|Execute action every 30 min]]<br />
#* [[Cloud configuration for M2MBridge]]<br />
#* [[Recipes#Send_notifications_to_emails.2Fphone_numbers_defined_in_the_thing_instances|Send notifications to emails and phone numbers defined in the thing instances]]<br />
#* [[Recipes#Bridge_and_instances_crud|Bridge reacting to changes in the things instances associated with it]]<br />
#* [[Data migration using Export/Import]]<br />
# Supporting documents<br />
#* [[Feature list]]<br />
#* [[Architecture overview]]<br />
#[[FAQs (Frequently asked questions)]]<br />
#[[What is next]]<br />
#[[Releases]]<br />
#[[Privacy policy]]</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4200Releases2022-06-07T20:16:33Z<p>Hector: /* Developers notes */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
'''Metadata'''<br />
* import types: <br />
** (done) smgw and its observations<br />
* update supported properties validation: <br />
** Things<br />
*** (done) _name<br />
** Observations<br />
*** (done) targetthings<br />
*** (done) producer<br />
* (done) update supported property observation limit to less than 3<br />
* Changes on '''sc''' field <br />
** Make explicit measurement unit for distance on '''sc''' fields<br />
** ''Notify losts devices'' have a wrong ''s'' <br />
<br />
* Import resources:<br />
** (done) monitoringSmartMobileGateways <br />
** (done) GPSMonitoring<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
* Validation failed for long WKT strings<br />
* Observer edition failed due to fields of type object<br />
* Observation scheduling failed to restart after memory failures<br />
<br />
'''Improvements'''<br />
* Several improvements in authentication/authorization.<br />
** Changes in authentication/authorization cache.<br />
** The impersonation of a user in a tenant is now allowed to the follower admin of that tenant.<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version<br />
* Observations of type thingLocated are sent on things location changes<br />
* 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.<br />
* The dashboard backend is now deployed by tenant.<br />
* MQTT accepts only observations where the producer (isP=true in targetThings) exists<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
'''Fixes'''<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4199Releases2022-06-06T16:22:54Z<p>Hector: /* Developers notes */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
'''Metadata'''<br />
* import types: <br />
** (done) smgw and its observations<br />
* update supported properties validation: <br />
** Things<br />
*** (done) _name<br />
** Observations<br />
*** (done) targetthings<br />
*** (done) producer<br />
* (done) update supported property observation limit to less than 3<br />
*Make explicit measurement unit for distance on '''sc''' fields<br />
<br />
* Import resources:<br />
** (done) monitoringSmartMobileGateways <br />
** (done) GPSMonitoring<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
* Validation failed for long WKT strings<br />
* Observer edition failed due to fields of type object<br />
* Observation scheduling failed to restart after memory failures<br />
<br />
'''Improvements'''<br />
* Several improvements in authentication/authorization.<br />
** Changes in authentication/authorization cache.<br />
** The impersonation of a user in a tenant is now allowed to the follower admin of that tenant.<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version<br />
* Observations of type thingLocated are sent on things location changes<br />
* 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.<br />
* The dashboard backend is now deployed by tenant.<br />
* MQTT accepts only observations where the producer (isP=true in targetThings) exists<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
'''Fixes'''<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4197Releases2022-05-09T21:04:45Z<p>Hector: /* Developers notes */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
'''Metadata'''<br />
* import types: <br />
** (done) smgw and its observations<br />
* update supported properties validation: <br />
** Things<br />
*** (done) _name<br />
** Observations<br />
*** (done) targetthings<br />
*** (done) producer<br />
* (done) update supported property observation limit to less than 3<br />
<br />
* Import resources:<br />
** (done) monitoringSmartMobileGateways <br />
** (done) GPSMonitoring<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
* Validation failed for long WKT strings<br />
* Observer edition failed due to fields of type object<br />
* Observation scheduling failed to restart after memory failures<br />
<br />
'''Improvements'''<br />
* Several improvements in authentication/authorization.<br />
** Changes in authentication/authorization cache.<br />
** The impersonation of a user in a tenant is now allowed to the follower admin of that tenant.<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version<br />
* Observations of type thingLocated are sent on things location changes<br />
* 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.<br />
* The dashboard backend is now deployed by tenant.<br />
* Mqtt accepts only observations where the producer (isP=true in targetThings) exists<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
'''Fixes'''<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4196Releases2022-05-09T20:38:58Z<p>Hector: /* To be released */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
'''Metadata'''<br />
* import types: <br />
** (done) smgw and its observations<br />
* update supported properties validation: <br />
** Things<br />
*** _name<br />
** Observations<br />
*** targetthings<br />
*** producer<br />
* update supported property observation limit to less than 3<br />
<br />
* Import resources:<br />
** (done) monitoringSmartMobileGateways <br />
** (done) GPSMonitoring<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
* Validation failed for long WKT strings<br />
* Observer edition failed due to fields of type object<br />
* Observation scheduling failed to restart after memory failures<br />
<br />
'''Improvements'''<br />
* Several improvements in authentication/authorization.<br />
** Changes in authentication/authorization cache.<br />
** The impersonation of a user in a tenant is now allowed to the follower admin of that tenant.<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version<br />
* Observations of type thingLocated are sent on things location changes<br />
* 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.<br />
* The dashboard backend is now deployed by tenant.<br />
* Mqtt accepts only observations where the producer (isP=true in targetThings) exists<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
'''Fixes'''<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4195Releases2022-05-09T20:22:26Z<p>Hector: /* To be released */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
'''Metadata'''<br />
* import types: <br />
** (done) smgw and its observations<br />
* update supported properties validation: <br />
** Things<br />
*** _name<br />
** Observations<br />
*** targetthings<br />
*** producer<br />
* update supported property observation limit to less than 3<br />
<br />
* Import resources:<br />
** (done) monitoringSmartMobileGateways <br />
** (done) GPSMonitoring<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
* Validation failed for long WKT strings<br />
* Observer edition failed due to fields of type object<br />
* Observation scheduling failed to restart after memory failures<br />
<br />
'''Improvements'''<br />
* Several improvements in authentication/authorization.<br />
** Changes in authentication/authorization cache.<br />
** The impersonation of a user in a tenant is now allowed to the follower admin of that tenant.<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version<br />
* Observations of type thingLocated are sent on things location changes<br />
* Projects for the storage of observation in the datalake and the backend and frontend of the <br />
dashboard were adapted to support the deployment of premises.<br />
* The dashboard backend is now deployed by tenant.<br />
* Mqtt accepts only observations where the producer (isP=true in targetThings) exists<br />
<br />
'''Metadata'''<br />
* update validation schema for targetthings<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
'''Fixes'''<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4194Releases2022-05-09T20:10:44Z<p>Hector: /* Release Dec 5th (2021-12-05) */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
'''Metadata'''<br />
* import types: <br />
** (done) smgw and its observations<br />
* update supported properties validation: <br />
** Things<br />
*** _name<br />
** Observations<br />
*** targetthings<br />
*** producer<br />
* update supported property observation limit to less than 3<br />
<br />
* Import resources:<br />
** (done) monitoringSmartMobileGateways <br />
** (done) GPSMonitoring<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
* Validation failed for long WKT strings<br />
* Observer edition failed due to fields of type object<br />
* observation scheduling failed to restart after memory failures<br />
<br />
'''Improvements'''<br />
* Several improvements in authentication/authorization.<br />
** Changes in authentication/authorization cache.<br />
** The impersonation of a user in a tenant is now allowed to the follower admin of that tenant.<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version<br />
* Observations of type thingLocated are sent on things location changes<br />
* Projects for the storage of observation in the datalake and the backend and frontend of the <br />
dashboard were adapted to support the deployment of premises.<br />
* The dashboard backend is now deployed by tenant.<br />
* Mqtt accepts only observations where the producer (isP=true in targetThings) exists<br />
<br />
'''Metadata'''<br />
* update validation schema for targetthings<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
'''Fixes'''<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4193Releases2022-05-09T20:09:37Z<p>Hector: /* To be released */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
'''Metadata'''<br />
* import types: <br />
** (done) smgw and its observations<br />
* update supported properties validation: <br />
** Things<br />
*** _name<br />
** Observations<br />
*** targetthings<br />
*** producer<br />
* update supported property observation limit to less than 3<br />
<br />
* Import resources:<br />
** (done) monitoringSmartMobileGateways <br />
** (done) GPSMonitoring<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
* Validation failed for long WKT strings<br />
* Observer edition failed due to fields of type object<br />
* observation scheduling failed to restart after memory failures<br />
<br />
'''Improvements'''<br />
* Several improvements in authentication/authorization.<br />
** Changes in authentication/authorization cache.<br />
** The impersonation of a user in a tenant is now allowed to the follower admin of that tenant.<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version<br />
* Observations of type thingLocated are sent on things location changes<br />
* Projects for the storage of observation in the datalake and the backend and frontend of the <br />
dashboard were adapted to support the deployment of premises.<br />
* The dashboard backend is now deployed by tenant.<br />
* Mqtt accepts only observations where the producer (isP=true in targetThings) exists<br />
<br />
'''Metadata'''<br />
* update validation schema for targetthings<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4191Releases2022-05-09T18:20:09Z<p>Hector: /* Developers notes */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
'''Metadata'''<br />
* import types: <br />
** (done) smgw and its observations<br />
* update supported properties validation: <br />
** Things<br />
*** _name<br />
** Observations<br />
*** targetthings<br />
*** producer<br />
* update supported property observation limit to less than 3<br />
<br />
* Import resources:<br />
** (done) monitoringSmartMobileGateways <br />
** (done) GPSMonitoring<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
* Validation failed for long WKT strings<br />
* Observer edition failed due to fields of type object<br />
* observation scheduling failed to restart after memory failures<br />
<br />
'''Improvements'''<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version<br />
* Observations of type thingLocated are sent on things location changes<br />
<br />
'''Metadata'''<br />
* update validation schema for targetthings<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4190Releases2022-05-09T18:18:25Z<p>Hector: /* To be released */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
'''Metadata'''<br />
* import types: smgw and its observations<br />
* update supported properties validation: <br />
** Things<br />
*** _name<br />
** Observations<br />
*** targetthings<br />
*** producer<br />
* update supported property observation limit to less than 3<br />
<br />
* Import resources:<br />
** (done) monitoringSmartMobileGateways <br />
** (done) GPSMonitoring<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
* Validation failed for long WKT strings<br />
* Observer edition failed due to fields of type object<br />
* observation scheduling failed to restart after memory failures<br />
<br />
'''Improvements'''<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version<br />
* Observations of type thingLocated are sent on things location changes<br />
<br />
'''Metadata'''<br />
* update validation schema for targetthings<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4189Releases2022-05-02T18:04:25Z<p>Hector: /* Developers notes */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
'''Metadata'''<br />
* import types: smgw and its observations<br />
* update supported properties validation: <br />
** Things<br />
*** _name<br />
** Observations<br />
*** targetthings<br />
*** producer<br />
* update supported property observation limit to less than 3<br />
<br />
* Import resources:<br />
** (done) monitoringSmartMobileGateways <br />
** (done) GPSMonitoring<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
<br />
'''Improvements'''<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version<br />
<br />
'''Metadata'''<br />
* update validation schema for targetthings<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4188Releases2022-05-02T18:03:19Z<p>Hector: /* Developers notes */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
'''Metadata'''<br />
* import types: smgw and its observations<br />
* update supported properties validation: <br />
** Things<br />
*** _name<br />
** Observations<br />
*** targetthings<br />
*** producer<br />
* update supported property observation limit to less than 3<br />
<br />
* Import resources:<br />
**smartGatewayMonitoring<br />
**smartGpsMonitoring<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
<br />
'''Improvements'''<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version<br />
<br />
'''Metadata'''<br />
* update validation schema for targetthings<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4187Releases2022-05-02T17:19:13Z<p>Hector: /* Developers notes */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
'''Metadata'''<br />
* import types: smgw and its observations<br />
* update supported properties validation: <br />
** Things<br />
*** _name<br />
** Observations<br />
*** targetthings<br />
*** producer<br />
* update supported property observation limit to less than 3<br />
<br />
* Import resources:<br />
** /amtech/linkeddata/types/composite/activity/supportedProperties/pubPending<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
<br />
'''Improvements'''<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version<br />
<br />
'''Metadata'''<br />
* update validation schema for targetthings<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4186Releases2022-05-02T13:38:48Z<p>Hector: /* Developers notes */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
'''Metadata'''<br />
* import types: smgw and its observations<br />
* supported property: targetthings<br />
now=Date.now()<br />
db.getCollection('supportedProperties').updateMany({_name:"targetthings"},{<br />
$set:{<br />
_lastmodified:NumberLong(now),<br />
"validationjsonschema":"{\n\t\"title\": \"Target things configuration schema\","+<br />
"\n\t\"type\": \"array\","+<br />
"\n\t\"items\": {"+<br />
"\n\t\t\"type\":\"object\","+<br />
"\n\t\t\"properties\": {"+<br />
"\n\t\t\t\"thingType\": {"+<br />
"\n\t\t\t\t\"description\": \"Target thing type\","+<br />
"\n\t\t\t\t\"type\": \"string\""+<br />
"\n\t\t\t},"+<br />
"\n\t\t\t\"isP\": {"+<br />
"\n\t\t\t\t\"description\": \"Is Producer\","+<br />
"\n\t\t\t\t\"format\": \"checkbox\","+<br />
"\n\t\t\t\t\"type\": \"boolean\""+<br />
"\n\t\t\t},"+<br />
"\n\t\t\t\"thingsId\": {"+<br />
"\n\t\t\t\t\"description\": \"Target thing ID or uri\","+<br />
"\n\t\t\t\t\"type\": \"array\","+<br />
"\n\t\t\t\t\"items\":{"+<br />
"\n\t\t\t\t\t\"type\":\"string\""+<br />
"\n\t\t\t\t}"+<br />
"\n\t\t\t},"+<br />
"\n\t\t\t\"proximityarea\": {"+<br />
"\n\t\t\t\t\"description\": \"Use this thing ID as proximity for these target things\","+<br />
"\n\t\t\t\t\"type\": \"string\""+<br />
"\n\t\t\t},"+<br />
"\n\t\t\t\"setProximityLocation\": {"+<br />
"\n\t\t\t\t\"description\": \"Update the location of these things taken the location of the thing specified in the proximityarea property\","+<br />
"\n\t\t\t\t\"type\": \"boolean\""+<br />
"\n\t\t\t}"+<br />
"\n\t\t},"+<br />
"\n\t\t\"required\": ["+<br />
"\n\t\t\t\"thingType\","+<br />
"\n\t\t\t\"thingsId\","+<br />
"\n\t\t\t\"isP\""+<br />
"\n\t\t]"+<br />
"\n\t}"+<br />
"\n}"<br />
}<br />
})<br />
* Change observation limit on supported properties to less than 3<br />
now=Date.now()<br />
db.getCollection('supportedProperties').updateMany({"observationslimit":{$gt:3}},{<br />
$set:{<br />
_lastmodified:NumberLong(now)<br />
"observationslimit":3<br />
}<br />
})<br />
* Import resources:<br />
** /amtech/linkeddata/types/composite/activity/supportedProperties/pubPending<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
<br />
'''Improvements'''<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version<br />
<br />
'''Metadata'''<br />
* update validation schema for targetthings<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4185Releases2022-04-20T15:12:17Z<p>Hector: /* Developers notes */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
'''Metadata'''<br />
* import types: smgw and its observations or <br />
* supported property: targetthings<br />
now=Date.now()<br />
db.getCollection('supportedProperties').updateMany({_name:"targetthings"},{<br />
$set:{<br />
_lastmodified:NumberLong(now),<br />
"validationjsonschema":"{\n\t\"title\": \"Target things configuration schema\","+<br />
"\n\t\"type\": \"array\","+<br />
"\n\t\"items\": {"+<br />
"\n\t\t\"type\":\"object\","+<br />
"\n\t\t\"properties\": {"+<br />
"\n\t\t\t\"thingType\": {"+<br />
"\n\t\t\t\t\"description\": \"Target thing type\","+<br />
"\n\t\t\t\t\"type\": \"string\""+<br />
"\n\t\t\t},"+<br />
"\n\t\t\t\"isP\": {"+<br />
"\n\t\t\t\t\"description\": \"Is Producer\","+<br />
"\n\t\t\t\t\"format\": \"checkbox\","+<br />
"\n\t\t\t\t\"type\": \"boolean\""+<br />
"\n\t\t\t},"+<br />
"\n\t\t\t\"thingsId\": {"+<br />
"\n\t\t\t\t\"description\": \"Target thing ID or uri\","+<br />
"\n\t\t\t\t\"type\": \"array\","+<br />
"\n\t\t\t\t\"items\":{"+<br />
"\n\t\t\t\t\t\"type\":\"string\""+<br />
"\n\t\t\t\t}"+<br />
"\n\t\t\t},"+<br />
"\n\t\t\t\"proximityarea\": {"+<br />
"\n\t\t\t\t\"description\": \"Use this thing ID as proximity for these target things\","+<br />
"\n\t\t\t\t\"type\": \"string\""+<br />
"\n\t\t\t},"+<br />
"\n\t\t\t\"setProximityLocation\": {"+<br />
"\n\t\t\t\t\"description\": \"Update the location of these things taken the location of the thing specified in the proximityarea property\","+<br />
"\n\t\t\t\t\"type\": \"boolean\""+<br />
"\n\t\t\t}"+<br />
"\n\t\t},"+<br />
"\n\t\t\"required\": ["+<br />
"\n\t\t\t\"thingType\","+<br />
"\n\t\t\t\"thingsId\","+<br />
"\n\t\t\t\"isP\""+<br />
"\n\t\t]"+<br />
"\n\t}"+<br />
"\n}"<br />
}<br />
})<br />
* Change observation limit on supported properties to less than 3<br />
now=Date.now()<br />
db.getCollection('supportedProperties').updateMany({"observationslimit":{$gt:3}},{<br />
$set:{<br />
_lastmodified:NumberLong(now)<br />
"observationslimit":3<br />
}<br />
})<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
<br />
'''Improvements'''<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version<br />
<br />
'''Metadata'''<br />
* update validation schema for targetthings<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4184Releases2022-04-19T22:17:11Z<p>Hector: /* Developers notes */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
'''Metadata'''<br />
* supported property: targetthings<br />
db.getCollection('supportedProperties').updateMany({_name:"targetthings"},{<br />
$set:{<br />
"validationjsonschema":"{\n\t\"title\": \"Target things configuration schema\","+<br />
"\n\t\"type\": \"array\","+<br />
"\n\t\"items\": {"+<br />
"\n\t\t\"type\":\"object\","+<br />
"\n\t\t\"properties\": {"+<br />
"\n\t\t\t\"thingType\": {"+<br />
"\n\t\t\t\t\"description\": \"Target thing type\","+<br />
"\n\t\t\t\t\"type\": \"string\""+<br />
"\n\t\t\t},"+<br />
"\n\t\t\t\"isP\": {"+<br />
"\n\t\t\t\t\"description\": \"Is Producer\","+<br />
"\n\t\t\t\t\"format\": \"checkbox\","+<br />
"\n\t\t\t\t\"type\": \"boolean\""+<br />
"\n\t\t\t},"+<br />
"\n\t\t\t\"thingsId\": {"+<br />
"\n\t\t\t\t\"description\": \"Target thing ID or uri\","+<br />
"\n\t\t\t\t\"type\": \"array\","+<br />
"\n\t\t\t\t\"items\":{"+<br />
"\n\t\t\t\t\t\"type\":\"string\""+<br />
"\n\t\t\t\t}"+<br />
"\n\t\t\t},"+<br />
"\n\t\t\t\"proximityarea\": {"+<br />
"\n\t\t\t\t\"description\": \"Use this thing ID as proximity for these target things\","+<br />
"\n\t\t\t\t\"type\": \"string\""+<br />
"\n\t\t\t},"+<br />
"\n\t\t\t\"setProximityLocation\": {"+<br />
"\n\t\t\t\t\"description\": \"Update the location of these things taken the location of the thing specified in the proximityarea property\","+<br />
"\n\t\t\t\t\"type\": \"boolean\""+<br />
"\n\t\t\t}"+<br />
"\n\t\t},"+<br />
"\n\t\t\"required\": ["+<br />
"\n\t\t\t\"thingType\","+<br />
"\n\t\t\t\"thingsId\","+<br />
"\n\t\t\t\"isP\""+<br />
"\n\t\t]"+<br />
"\n\t}"+<br />
"\n}"<br />
}<br />
})<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
<br />
'''Improvements'''<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version<br />
<br />
'''Metadata'''<br />
* update validation schema for targetthings<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4183Releases2022-04-19T22:13:35Z<p>Hector: /* To be released */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
<br />
'''Improvements'''<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version<br />
<br />
'''Metadata'''<br />
* update validation schema for targetthings<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4182Releases2022-04-11T19:17:49Z<p>Hector: /* To be released (security deployment for amtech-authorizer & DAP micros) */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
<br />
'''Improvements'''<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version <br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4181Releases2022-04-11T19:15:00Z<p>Hector: </p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
'''Fixes'''<br />
* Observation storage configuration could be assigned on reasoner action bindings<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
== To be released ==<br />
'''Fixes'''<br />
* Removed observation storage from reasoner bindings<br />
* Proximity ancestor queries are now functional<br />
* Issues selecting topics in reasoner UI<br />
<br />
'''Improvements'''<br />
* Added the possibility to create digital twins from templates of the same tenant in the UI<br />
* Upgraded json editor to 2.6.1 version <br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4180Releases2022-04-11T19:02:40Z<p>Hector: /* Release May 16th */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
'''Fixes'''<br />
* Observation storage configuration could be assigned on reasoner action bindings<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th (2018-05-16) ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4179Releases2022-04-11T19:01:31Z<p>Hector: /* Release July 17th */</p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
'''Fixes'''<br />
* Observation storage configuration could be assigned on reasoner action bindings<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th (2021-07-17) ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4178Releases2022-04-11T19:01:01Z<p>Hector: </p>
<hr />
<div>== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
'''Fixes'''<br />
* Observation storage configuration could be assigned on reasoner action bindings<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4177Releases2022-04-11T18:53:15Z<p>Hector: </p>
<hr />
<div><br />
OJO<br />
== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
'''Fixes'''<br />
* Observation storage configuration could be assigned on reasoner action bindings<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release July 17th ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value<br />
<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4176Releases2021-12-09T22:56:07Z<p>Hector: /* To be released (security deployment for amtech-authorizer & DAP micros) */</p>
<hr />
<div>== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value<br />
<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
<br />
== Release July 17th ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== Release September 5th (2021-09-05) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
* Fix for bridge clone validation (template owner validation)<br />
* Fix for activity import (checks for entity type)<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
* Logs for mongo cursor<br />
<br />
== Release Dec 5th (2021-12-05) ==<br />
* Property for pending publication in activity (requires adding metadata for supported property)<br />
* Fix for deleting user from legacy IdM even if it does not exist in current IdM<br />
* Topics were not shown in reasoners tree<br />
* Fix for observation scheduler service memory usage (Deployed on Sept 20th)<br />
* Fix for users in tenant cache (related to user's migration)<br />
* Add new props to all thing types (isTemplate, templateUri, and observationStorageConfig). Required to manage DT in data-lake<br />
* Improve invite flow : do not invalidate invitation until user in created or added to the tenant<br />
* Fix bug on user delete <br />
* Snaphost limited to 300 per thing, and 3 per property<br />
<br />
''' Data update '''<br />
* POST istemplate and observationstorageconfig supp props<br />
<br />
== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
* vernemq redis lua extension for validating target things - validates target things with isP=true exist in DAP DB<br />
'''Fixes'''<br />
* Observation storage configuration could be assigned on reasoner action bindings<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for unique dashboards name in tenant - db.getCollection('dashboards').createIndex( { name: 1, tenant: 1 }, { unique: true } )<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Config&diff=4174Config2021-12-06T18:52:20Z<p>Hector: </p>
<hr />
<div>Required configuration for saving observations in data analytics storage automatically:<br />
* thing instance with:<br />
** isTemplate=false<br />
** property observationStorageConfig including the list of types of observations to save<br />
*** observationType<br />
*** limit of the number of observations to store<br />
*** cleanup scheduling</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4151Releases2021-07-26T17:21:25Z<p>Hector: /* To be released (security deployment for amtech-authorizer & DAP micros) */</p>
<hr />
<div>== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value<br />
<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
<br />
== Release July 17th ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for dashboards name (db.getCollection('dashboards').createIndex( { name: 1 }, { unique: true } ))<br />
<br />
== To be released (others) ==<br />
'''Fixes'''<br />
* Image fields and floorplans may show old images because of browser cache<br />
* Map filter remained on entity type page<br />
<br />
'''Improvements'''<br />
* Proximity area floorplans are also shown in the map<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4150Releases2021-07-26T17:13:51Z<p>Hector: /* To be released (security deployment for amtech-authorizer & DAP micros) */</p>
<hr />
<div>== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value<br />
<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
<br />
== Release July 17th ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
* Fix for Spanish locale in user profile<br />
* Ordering OTA version list<br />
* Fix for empty OTA message<br />
* Property 'description' not considered as core property anymore so it allows update from the centralizd mgmt<br />
* Fix for consuming observations from topics - reuse of client id causing bug that showed old observations. Client id is unique per user ID<br />
<br />
''' Improvements '''<br />
* UX refactoring<br />
* Reasoners execution<br />
* UI - reasoners & observers loading <br />
* UI - consume observations from topics - clean start everytime the user opens the topics page<br />
* Mqtt broker configs - check inflight messages<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints were not assigned in the observer definition<br />
* Observation storage config added to smart types<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
* Entity-class property description coreProperty false<br />
<br />
== To be released (security deployment for amtech-authorizer & DAP micros)==<br />
* Deploy authorizer private key (amtech-authorizer keys)<br />
* Deploy DAP public key (dap resources)<br />
<br />
* observation storage microservice<br />
* dashboard microservice<br />
<br />
''' Data changes '''<br />
* target things with proximityArea and setProximityLocation properties in observations (see spottedDevice)<br />
* Create TTL index for observation-storage (db.getCollection('observations').createIndex( { "occurrencetime": 1 }, { expireAfterSeconds: 60 } ))<br />
* Create unique index for dashboards name (db.getCollection('dashboards').createIndex( { name: 1 }, { unique: true } ))<br />
<br />
== To be released (other)<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4131Releases2021-03-04T02:37:42Z<p>Hector: /* To be released */</p>
<hr />
<div>== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value<br />
<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
<br />
== To be released ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
<br />
<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints where not assigned in the observer definition<br />
* Smart monitoring config (new SP in activity)<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after a device is seen in range<br />
*** set time to notify devices "Seen" again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added thing type sbe for smart beacon eddystone<br />
** Add type to stgActor in stgMonitoring activity<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4130Releases2021-03-04T02:35:36Z<p>Hector: /* To be released */</p>
<hr />
<div>== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value<br />
<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
<br />
== To be released ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
<br />
<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints where not assigned in the observer definition<br />
* Smart monitoring config (new SP in activity)<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after seen a device in range<br />
*** set time to notify devices Seen again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
* Added 3 thing types:<br />
** stpn: Smart proximity MESH node<br />
** stpr: Smart proximity MESH root<br />
** sbe: Smart beacon eddystone<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4119Releases2021-02-17T17:14:17Z<p>Hector: /* To be released */</p>
<hr />
<div>== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value<br />
<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
<br />
== To be released ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
<br />
<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints where not assigned in the observer definition<br />
* Smart monitoring config (new SP in activity)<br />
<br />
<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema <br />
*** included the possibility of filtering the eddystone device detected<br />
*** possible to send News immediately after seen a device in range<br />
*** set time to notify devices Seen again<br />
*** removed mesh configuration<br />
* Scheduled-job metadata<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4116Releases2021-02-08T20:56:32Z<p>Hector: /* To be released */</p>
<hr />
<div>== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value<br />
<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== Release Jan 6th (2021-01-06) ==<br />
''' New functionality '''<br />
* Mesh validations for STPG instances<br />
<br />
''' Fixes '''<br />
* Centralized management (In production since Nov 8th)<br />
** Allow update of properties of type json<br />
** Send crud observation for all updated instances <br />
<br />
<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
Change log [[File:change-log-prod-20210106.txt]]<br />
<br />
== Release Jan 15th (2021-01-15)==<br />
* Bugfix for OTA dialog<br />
* Support for spatial constraint parameter when executing observers via REST API call<br />
<br />
<br />
== Release Jan 24th (2021-01-24) ==<br />
* Fix for sending scheduled observation in infinite loop (occurrence 0)<br />
<br />
<br />
== To be released ==<br />
''' Minor fixes '''<br />
* UI fix for hiding Service Logs when not in the Service page<br />
* Hiding OTA button after 2nd thing type is added to observer<br />
* Fix for centralized management when updating json property<br />
* Fix for removing scheduled jobs when activity is redeployed<br />
* Remove error message shown in observers after a successful execution via DAP<br />
* Fix for automatically sharing API observers and Follower observers when activity is redeployed<br />
<br />
<br />
<br />
''' New features '''<br />
* Scheduled jobs viewer for follower admin<br />
* Support for constraints as parameters when executing observer via DAP, even if the constraints where not assigned in the observer definition<br />
<br />
''' Data changes '''<br />
* Added two new thing types STPN and STPR for proximity gateway mesh nodes and roots respectively<br />
* STPG<br />
** update supported property "sc" json schema to include the possibility of filtering the device detected<br />
** removed mesh configuration from "sc"<br />
* Scheduled-job metadata<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4026Releases2020-10-12T15:51:58Z<p>Hector: /* To be released */</p>
<hr />
<div>== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value<br />
<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== To be released ==<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
<br />
* Scheduled jobs<br />
** add supported property origin<br />
<br />
<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
* STPG<br />
** update supported property "sc" json schema to include the possibility of filtering the device detected<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=4025Releases2020-10-09T15:59:39Z<p>Hector: /* To be released */</p>
<hr />
<div>== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value<br />
<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
== Release Beta Prod 2020-09-22 ==<br />
''' Backend functionality '''<br />
* New functionality for sending OTA Update notification to smart devices via mqtt message<br />
* Misc changes in crud (smart types and bridge send internal crud without requiring any config)<br />
<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
* Ota updates type<br />
* Ota Collection Index : db.getCollection('otaUpdates').createIndex({"@id":1}, {"unique":1})<br />
* Schedule jobs indices<br />
* Scheduled jobs object<br />
<br />
== To be released ==<br />
'''Data changes'''<br />
* Update tenant name SP with length limit<br />
* Update activity name SP with length limit<br />
<br />
* Scheduled jobs<br />
** add supported property origin<br />
<br />
<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
* STPG<br />
** update supported property "sc" json schema<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=3987Releases2020-04-28T17:27:12Z<p>Hector: /* To be released */</p>
<hr />
<div>== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value<br />
<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
== To be released ==<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Scheduled jobs object<br />
<br />
* Reasoners<br />
** Update metadata for supported property ''sources''<br />
<br />
* M2MBridge<br />
** Set readonly to true to all observation production configuration<br />
<br />
'''Backend changes'''<br />
*Add new collections for scheduling object (can be done running corresponding script)<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)</div>Hectorhttp://wiki.amtech.mx/mediawiki/index.php?title=Releases&diff=3986Releases2020-04-28T16:27:40Z<p>Hector: /* To be released */</p>
<hr />
<div>== Release August 12th (2017-08-12) ==<br />
'''New'''<br />
*Amtech IoT demo webpage<br />
*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.<br />
*Master/slave architecture now supported among bridges in a M2mBridge's network by using Digi mesh network technology.<br />
*Thing types for ''m2mBridge'' plugins<br />
**''BLEBluvisionBeeksScanner'' scanner to handle Beeks beacon encoding<br />
**''waspmoteBLECentral'' plugin for Libellium BLE sensors<br />
**''Trilaterator''<br />
*Enforce type publication for publishing Activity (on validations for publishing)<br />
'''Enhancements'''<br />
*Clicking on marker clusters in a map show all the resources opened<br />
*DAP insertion accepts now location fields with only wkt besides the expected stringified json format {\“wkt\”:\”...\”}<br />
*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<br />
'''Bug fixes'''<br />
*Target thing field on observations are correctly validated now in the UI<br />
*Observers using observations’ target thing return nothing when the received observation does not include the observed thing type<br />
*Fields of type json allows now bindings in actions<br />
*Json editor did not work for some jsonschema<br />
*Error parsing wkts with scientific notation (e.g. 1e-10)<br />
<br />
== Release May 29th (2017-05-29) ==<br />
'''New'''<br />
*Service to export spatial query results to an image or pdf document. [[IoT_Restful_API#Get_image_representation_of_ spatial_ query_results|Details]]<br />
'''Enhancements'''<br />
*Added endpoint to retrieve the center of a resource location<br />
*Bridges have now a collection of reasoners on the edge<br />
*Actors names under tenant (allow same actor name to be used by different tenants)<br />
*Floorplan images can now be exported/imported<br />
'''Changes'''<br />
*The floorplan calibration allows now to use not only rectangles but also parallelograms<br />
*The timeline is only computed and updated when the user says so by using corresponding floating menu button or timeline refresh button<br />
*Search for name and description based on whole words (temporary)<br />
*Observers: closest resource constraints can not be used with multiple thing types<br />
'''Bug fixes'''<br />
*''isEmbedded'' is not any more in supported property metadata for primitive types.<br />
*Solved issue with the autogenerated name for some objects like observations and the new constraints for this field<br />
*Better alignment among versions from kafka and storm components<br />
*Moved to new storm-kafka-client external library that leverage the new kafka consumer's API<br />
*CRUD observations for followers and impersonator inside activity execution<br />
<br />
== Release Feb (2017-02) ==<br />
'''Enhancements'''<br />
* Performance improvement in topology queries and UI queries (things collections, things inside collection, specific thing, notifications)<br />
'''Changes'''<br />
* Do not allow update of regExp or validationSchema on published properties<br />
* Removed property destination (edge/cloud) from observation production config<br />
* Removed aggregation properties from bridge<br />
<br />
== Release December 2nd (2016-12-02) ==<br />
'''Enhancements'''<br />
*Added endpoint for EPC Tags encoding/decoding.<br />
*Shared observers can only be edited by owner tenant.<br />
*Better error message when the tenant had not access to a resource<br />
*''BLETISensorTagScanner'' new logic to tiSensorTagReadFrequency supported property; if it set the tag can be discover and tematics read with the specified frequency.<br />
*Added support for thread-independent transactions in DB Manager.<br />
Kafka upgraded to version 0.10.1.0.<br />
<br />
'''Changes'''<br />
*The symbol # can not be used on any resource name.<br />
*It is not possible anymore to have a thing type and an observation type with the same name.<br />
*Date data edition allows now to navigate by year and months.<br />
'''Bug fixes'''<br />
*Observers did not handle correctly the resource types with underscores (“_”).<br />
*Date fields made crash reasoner editor.<br />
*Date constraint default values were inverted.<br />
*Reasoner menu did not show all the fields when there were too many<br />
*Create thing action failed when the entity type defined a field of type collection<br />
*Removing supported properties named value from thing types or observation types made some data inconsistent.<br />
*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.<br />
*Several issues solved regarding actions that create things with embedded content (things or collections of things).<br />
<br />
'''New'''<br />
*''BLEServicesReader'' generic bluetooth services and characteristics reader <br />
*''ModbusDevice'' implements the possibility of sending commands to a device through the modbus protocol (set a register or a group of registers).<br />
<br />
== Release October 11th (2016-10-11) ==<br />
'''Enhancements'''<br />
* Added the possibility to create supported properties to hold thing types and collection of thing types<br />
* 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<br />
** ''m2mbridgeAgregationInstances'' The list of instances that will act as aggregators, only one aggregator by Thing type is allowed on a local area network.<br />
** ''m2mbridgeAggregationTypes'' The list of things types that will act as source for aggregation.<br />
* Validation of M2MBridge instance<br />
* Validation of M2MBridge network<br />
* Enhancement in data representation for topics, and its navigation in UI<br />
* Enhancement in M2MBridge observation production configuration graphical navigation<br />
* Enhancement in Activity resources configuration graphical navigation<br />
* Bridge software can be downloaded by the creators from the platform (inside Sensor Network menu)<br />
* Values are validated when setting literal values to actions in the reasoner editor except for json validation schemas<br />
* Added ''terraformer'' and ''geolib'' libraries to the json editor on reasoner<br />
'''Changes'''<br />
* 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<br />
* Security changes<br />
** 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)<br />
* 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<br />
* Add json schema as supported property validator<br />
* Observation production configuration was moved from Activity to M2MBridge<br />
* Activity configuration keep CRUD producer thing types configuration<br />
* Target topics for CRUD observations are defined by name convention (they can not be customized anymore )<br />
'''Semantic changes'''<br />
* Removed thing types ''iBeacon'' and ''EddystoneBeacon'', use ''BLEBeaconScanner'' instead<br />
* Changes to ''amtechM2mBridge'' thing type<br />
** Added fields ''m2mbridgeAgregationInstances'', ''m2mbridgeAggregationTypes'' to handle aggregations (see enhancements above).<br />
** Added fields ''bridgestartedobservationconfig'',''bridgestoppedobservationconfig'', ''bridgeerrorobservationconfig'' for bridge observation configuration<br />
** Added fields ''observationproduction'' for observation production configuration (formerly a field of Activities)<br />
* Changes in Activities<br />
** Remove field ''observationproductionconfig'' which is now on ''amtechM2mBridge''<br />
** Added field ''crudobservationproducers'' to hold the crud producer thing types.<br />
* Thing instances<br />
** Removed field ''activityForObsProduction''<br />
* Support for new Edge Thing Types <br />
** ''ArduinoSerial''<br />
** ''BLEODB2Scanner''<br />
** ''LibeliumMeshlium''<br />
** ''OPCUADevice''<br />
** ''BLETISensorTagScanner'' <br />
'''Bug fixes'''<br />
* Automatic follower username depended on the login letter case.<br />
* Roles were not correctly filtered when editing team member roles<br />
* Invited followers acquired all actors when owner subscribed to a service<br />
* Thing collections can not be deleted from the UI anymore<br />
* Followers have access control filter unchecked (and hidden) for thing collections in selection dialogs<br />
* Navigator breadcrumb lost root url when deleting a supported property from inside<br />
* Observation Guest tenants and guest users can now be added to thing instances inside the update actions<br />
'''Core technology update'''<br />
* Titan 1.0<br />
* TinkerPop 3.1<br />
* Java 8<br />
* Kafka 0.10.01<br />
* Storm 1.0.2<br />
* Cassandra 2.0.17<br />
* Elasticsearch 1.5.2<br />
<br />
== Release June 13th ( 2016-06-13 ) ==<br />
'''Enhancement'''<br />
* Validating an activity updates publish button without refreshing<br />
* Validation bridge observation configuration at follower UE<br />
* New Observation production configuration view at Activity Tree View<br />
* Activity graphical browser<br />
* Navigation will ask for confirmation regarding unsaved changes for observers, reasoners and tree editor. <br />
* Invited followers can not see the services anymore<br />
* <Enter> on pagesize input text send the refresh action<br />
* Click on access control filter will refresh the editor <br />
'''Bug fixes'''<br />
* JsonLd button did not show from inside of thing and observation types<br />
* Issues in spatial closestResource constraint with rectangles<br />
* Fix update guest tenant for services in service screen<br />
* Change observation production configuration to validate that crud topics have no placeholders<br />
* Fix crud observations sent to new topics<br />
* Send observation from reasoners<br />
* Access control filter now works on selection dialogs<br />
'''Troubleshooting'''<br />
* Redeploy activities sending observations<br />
<br />
== Release May 27th ( 2016-05-27 ) ==<br />
'''Changes'''<br />
* Multiple access control changes, enforcing actors in follower for validations of observation production<br />
* Changes in observation production configuration<br />
** Multiple bridge instances allowed<br />
** Things include the reference to the specific observation production configuration they use<br />
* Changes in access control for Topics. Topics are public and access control is enforced on observations<br />
<br />
'''Semantic changes'''<br />
* New Thing Types : ''GPIOPinRaspberryPi'' and ''GPIORaspberryPi''<br />
* New Observation Types : ''gpioRaspberryPiPinRead'' and ''gpioRaspberryPiPinWrite''<br />
* Removed Observation Types : ''snmpError'' and ''snmpTrap''<br />
<br />
'''Enhancements'''<br />
* An M2MBridge can be configured without the need of reasoners <br />
* Spatial fields on observer constraints activate now the “save” button on input<br />
* Access control filter is now on the editor bar for more visibility. Default value logic was improved for better user experience.<br />
* Invitations can be handled (deleted, resent) from Invite window.<br />
* The followers can see the actors assigned to them for the current tenant in their profile<br />
* Creators can edit their topics and create new ones.<br />
* The UI for followers is now similar to that for creators.<br />
* Followers can create and send observations from the simulator page<br />
* Actions on resources ( publish, delete, send, ... ) can be done now also from the resource itself <br />
* Added help link (to the related topic in AmTech wiki) to some selection windows<br />
* An activity can be published without reasoners when it has observation production configuration set<br />
* Floating menu is now at the top of the window<br />
<br />
'''Bug fixes'''<br />
* Error in timeline when set fields to view but no field to group by<br />
* Aggregation fields work accept now several constraints on the same fields and constraints involving several aggregation fields<br />
* Issues on spatial constraints: intersect and closest resources<br />
* Changes on observer constraints were not taken into account in some cases<br />
* Use of IsRequired constraint on observation fields made observers impossible to save.<br />
* Simple search works now also on selection dialogs<br />
<br />
'''Known issues'''<br />
* Observations sent by reasoners with action "Send Obsevation". Those observations not being delivered properly<br />
<br />
'''Troubleshooting''' <br />
<br />
In order to solve son compatibility issues, all creators must perform the following actions on their data :<br />
* Publish activity<br />
* Update guest tenants in things that have that property with a value<br />
<br />
<br />
== Release Feb 23rd ( 2018-02-23 ) ==<br />
Migration to MongoDB backend<br /><br />
<br />
'''New'''<br />
* Allow followers to export/import things<br />
* Allow publishing multiple types at once<br />
* Support observers execution with parameters via direct requests to the DAP API<br />
* Show types each actor gives access to in the user profile<br />
* Default follower can subscribe only to its creator services<br />
<br /><br />
'''Bug Fixes'''<br />
* Fixed logout error after changing password<br /><br />
'''Enhancements'''<br />
* Required and published properties can be removed if no instances exist<br />
* Automatically keep guests in sync for things embedded in other things<br />
* Integration of jsonSchema for target things edition<br />
<br />
== Release March 29th (2018-03-29) ==<br />
'''New'''<br />
* Barcode encoding/decoding service<br />
* I2C interface to integrate I2C sensors to M2MBridge<br />
<br />
'''Enhancements'''<br />
* Support for properties of type collection of strings in things and observation<br />
* Support for constraints “array contains” in observers for properties of type collection of strings<br />
* Allow sharing types to specific tenants<br />
* Changes in activity publication policies regarding types publications. Activity automatically publishes types to the same tenant of service<br />
<br />
'''Fixes'''<br />
* Temporary fix for chrome bug on visibility attribute<br />
* Icons on editors and map are now correct<br />
* Fix observers with date constraints (on core and custom properties of type Datetime)<br />
* Fix validation of observers with missing types<br />
<br />
== Release April 24th (2018-04-24) ==<br />
'''New'''<br />
* [[M2MBridge updates|New DAP service for managing M2MBridge fresh installs and updates]].<br />
* The M2MBridge now supports [[Observations production and consumption#Observations Produced|heartbeats]], configurable as an optional observation production configuration from the amtechM2mBridge type.<br />
'''Fixes'''<br />
* Fix for crud observations being sent when a property value is updated with the same value<br />
* 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<br />
* Fix for importing things using its json definition<br />
* Fix for publishing activity without guest tenant (only the default follower tenant added by default)<br />
'''Enhancements'''<br />
* Performance improvements for deletion of multiple resources at the same time via UI<br />
* Include refresh option for observers of things<br />
* Clear activity observers when the user navigates out of it (do not keep it as a filter, like the observer of things)<br />
* Automatically update bridge observation production configuration when a bridge instance is deleted.<br />
<br />
<br />
== Release May 16th ==<br />
''' Fixes '''<br />
* Fix for observers paging in UI<br />
* Fix for default values in new role policies<br />
* Fix for increment/decrement functions in reasoners supporting double values<br />
<br />
''' New '''<br />
* 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.<br />
* New topics for error and success messages under promise feedback topic<br />
<br />
<br />
== Release July 18th (2018-07-18) ==<br />
''' New '''<br />
* Centralized management of thing instances<br />
* Show observers result count<br />
<br />
'''Enhancements'''<br />
* Added argument for DAP requests on observer execution endpoint<br />
** entityTypeToIgnore: accept comma separated list of thing types to be ignored in observer execution<br />
<br />
''' Fixes '''<br />
* Fix for error on user sign up with browser auto-complete functionality<br />
* Fix for clearing observer view from things page<br />
* UI fix for validating a single bridge after navigating to the instance<br />
* Fix for deleting activities not published<br />
* Set user in new thing from observation, when creating things inside activities using security from observation<br />
* Fix for observers with multiple location constraints on the same field while doing REST requests<br />
<br />
'''M2MBridge compatibility and updates'''<br />
* M2MBridge should be running the version 1.4.12 or superior.<br />
* ''BLEbeaconsScanners'' can now send the observations with some given time interval. Set ''observationDeliveryInterval'' to the number of milliseconds of the interval<br />
* A pinging mechanism was implemented in the Digi Mesh network to acknowledge the master of the presence of nodes.<br />
<br />
'''Data changes'''<br />
* Add new properties to BLEbeaconsScanners<br />
** acceptTypeUrl<br />
** acceptTypeUid<br />
** sendSmoothingSeen<br />
** observationDeliveryInterval<br />
* Remove eddystoneBrodcast observation<br />
<br />
== Release July 14th (2019-07-14) ==<br />
''' Enhancements '''<br />
* Security changes<br />
** Activities security context according to the security info of the observation triggering the execution<br />
** No need to configure security context for reasoners and actions, it is all automatically taken from the observation<br />
* Validate observations produced in actions have actors<br />
* CRUD production simplified (crud producers configured in the activity only. Core types AmtechM2mBridge and SmartTracker always produce crud)<br />
* Send crud observations for all bridge child resources (to be used on the edge)<br />
* Crud for bridge and its child resources are sent to the topic amtechM2mBridge/<bridgeId>/crud<br />
* Accepted commands added to Thing Types so that it can reflect the list of accepted commands by a thing participating in an M2MBridge configuration.<br />
* Observers and reasoners on the edge allow now custom criteria in Javascript for observation filtering<br />
* Support parameter for cloning bridge only if the cloud version is newer than the edge version<br />
** Any update in a resource contained in a bridge will update the last modified date of the bridge<br />
* Openam - LDAP migration<br />
<br />
''' Fixes '''<br />
* Security fix for navigating collections of things in followers with actors with checkUser<br />
* Fix for floor plan in thing types (REQUIRES UPDATING FLOOR PLAN IN TYPES THAT ALREADY HAVE IT)<br />
* Validation for API observers and Follower's Observers in Activity: check types involved in those observers have actors<br />
* Observer execution endpoint allows now to activate constraints via url arguments<br />
* Visualized fields on timeline is working again<br />
* Fixed issue with proximity areas and popup labels in the map <br />
* Add system message to all custom messages defined by the user for validation of ranges in metadata<br />
* Show error when executing activity with observer filtering target things, but running with observation without target things<br />
* Fix metadata for Thing Types - remove unused properties from older versions to avoid warning upon creation of new types<br />
<br />
''' API changes'''<br />
* Crud observations<br />
** New properties added: range, membersRange, oldlastmodified, newlastmodified<br />
** Properties newvalue and oldvalue with values in its original datatype. Values were represented as String in previous versions<br />
* User <br />
** remove property amtechroles. User roles are now stored in property "roles" and user actors are in the property "actors" <br />
** rename property amtechgroups to tenants<br />
* Observers execution with parameters<br />
** 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)<br />
<br />
''' Data changes '''<br />
* wio, gpio, etc:<br />
** GPIOPinRaspberryPi<br />
** GPIORasberryPi<br />
** gpioRaspberryPiPinRead<br />
** gpioRaspberryPiPinWrite<br />
** QRCodeReader<br />
** QRCodeRead<br />
** QRCodeStartScanning<br />
** QRCodeStopScanning<br />
** wioLink<br />
** wioNode<br />
** wioLinkObservation<br />
** wioLinkCmd<br />
** WioDevice<br />
** WioDeviceCmd<br />
** WioDeviceObservation<br />
** MCP4XXXXDevice<br />
** MCP4XXXXSet<br />
** MCP4XXXXShutdown<br />
* Smart tracker thing type<br />
* Smart tracker keys type<br />
* Tracker keys collection and indices<br />
* Accepted commands in blank instance of entity type<br />
* Supported properties on ThingMagicEpcReader<br />
** disableAntennaDetection<br />
** readPower<br />
** writePower<br />
* commands to pause and resume LLRP readings<br />
** cmdLLRPPauseRead<br />
** cmdLLRPResumeRead<br />
* user password reset metadata<br />
* Crud observation new properties<br />
* Thing Type metadata<br />
* Related to amtechM2mBridge<br />
** action-custom for edge reasoners<br />
* query-predicate<br />
** add predicate to query-class<br />
** reasoner on the edge SP actions change in @type<br />
<br />
== Release Dec 21st (2019-12-21) ==<br />
''' New features '''<br />
* Bridge offline functionality<br />
<br />
''' Fixes '''<br />
* Deployment : Several software updates<br />
* Fix for CRUD observations - send crud on delete conditions fixed<br />
* Fix bridge delete for bridges with constraints in reasoners<br />
* 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<br />
* Better error management in observation's enrichment topology.<br />
<br />
''' Enhancements '''<br />
* Performance enhancement on all operations when sending CRUD observations - reusing principal for sending crud<br />
* Upgraded logstash<br />
* Storm bug fix upgrade<br />
* Add username to the new tenants created, with the name of the user that registered the tenant<br />
== To be released ==<br />
'''Data changes'''<br />
* SmartThing thing type<br />
* SmartThingStatus observation type<br />
<br />
* Scheduled jobs<br />
** add supported property origin<br />
* Scheduled jobs object<br />
<br />
'''Backend changes'''<br />
*Add new collections for scheduling object (can be done running corresponding script)<br />
<br />
== Developers notes ==<br />
'''Developers Notes'''<br />
* Requires common playbook execution to update hosts<br />
* Required tomcat upgrade for webapps<br />
* Git tag with AMtech platform code - all tested passed: readyForProd20191015 (pending for logstash upgrade to be released)<br />
* 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:<br />
** <code>sudo update-ca-certificates -f</code> (should generate the content of the file)<br />
** <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>)</div>Hector