11-16-2019, 01:28 AM
Hello folks,
This update was inspired by a couple of our LiveCloud users. Credit has been applied by the appropriate note. Thanks for the great feedback!
The rest of the changes were derived from our NurseNotes service. The biggest changes are to auth, offline support, and upload of transactions. As always, we hope you find these improvements useful to your apps. Have a great weekend!
######## VERSION 2.3.8 (2019/11/15)
News: IMPORTANT CHANGES! While not required, it is highly suggested that you export the Toolkit to take advantage of these improvements.
- - - - - - - - - -
Added: cdb_authStatus() API for verifying auth status. The data returned is an array like gCSIauthA["target"]["cloud"]["true or false"] and ["local"]["true or false"]. A string of 'False' indicates that no authentication has taken place.
Added: cdb_setUploadMethod 'async' or 'sync' command. The default method is 'sync' if no method has been set. You can control which form to use for cloud calls. In general, you will get better performance from 'async' calls. But, we can not guarantee the order of data being sent with 'async' because the individual transactions are sent very close to each other. When data is sent using 'sync' the APIs will wait for confirmation that the transaction was received before proceeding with the next transaction.
Added: You can now delay Create, Update, Delete, and Merge transactions from being processed. Pass pInternalA["delaySend"] in any of CUDM calls to delay their processing. All delayed transactions are stored in cdbCache. This is a useful way to keep your app offline for performance reasons. Use cdb_flushCache to process the delayed transactions at a time that makes the most sense for your apps.
Added: You can right-click your project and copy your projectID to your clipboard.
Improved: cdbi_tableID can take a single table name, comma delimited list of table names, and an '*'. Single table name returns a string tableID, multiple table names, and '*' return a string list of tableName, tableID. The returned data is an array instead of a string.
Improved: Downloading data will error out immediately if the client is offline. Before, we were trying for the life of the timeout value.
Improved: cdb_flushCache no longer tries three times flush the cache when things go wrong.
Improved: When doing cloud transactions, the locally cached data will no longer automatically flush. We decided to give this control to the developer. To flush your cache, pass cdb_flushCache. Side note: if a Create, Update, Delete, or Merge to cloud is processed, then the cache will be flushed to maintain the order of transactions based on cdbDateCreated value.
Improved: cdb_loadTable will no longer delete clusters that can not be opened. This will be useful for dealing with clients that forget their password. The previous behavior would delete data that could not be decrypted.
Improved: cdb_sync has been optimized to restructure the incoming data to match the client's cluster size.
Improved: csi_loadTable with no params passed uses a more accurate method to determine which tables are not in memory yet and loads them.
Improved: When loading tables, if the cluster size does not match the intended cluster size, we longer delete the clusters.
Improved: cdb_SDK no longer loads all the tables for you.
Improved: When using cdb_auth, the email is now case-sensitive. This falls in line with the fact that we hash the passwords, therefore, making case-sensitivity matter.
Improved: Error reporting from cdb_loadTable
Improved: cdb_auth now does local as well as cloud authentication. You can check your current authentication with the new cdb_authStatus() API.
Improved: All API calls that could modify/delete data will use the authentication status to determine if the action should be allowed.
Improved: All cached cloud calls will get updated authentication credentials at the time the data is flushed to ensure the cloud will receive the data.
Improved: cdbCache is exempt from authentication because it needs to write data before authentication usually takes place.
Improved: Offline mode is determined almost instantaneously, giving your apps a more performant feel.
Improved: cdb_exportAsJSON can take a parameter that contains a full path where you want the data to be written. All tables are now consolidated into single files for easier processing. (Credit to WhenInSpace)
Improved: Many internal APIs have been updated to work with the updated authentication improvements.
Improved: Many internal error messages have been updated to enhance the robustness of all calls.
Bugfix: Fixed an issue where cloning a project could fail. (Credit to Clarence Martin)
This update was inspired by a couple of our LiveCloud users. Credit has been applied by the appropriate note. Thanks for the great feedback!
The rest of the changes were derived from our NurseNotes service. The biggest changes are to auth, offline support, and upload of transactions. As always, we hope you find these improvements useful to your apps. Have a great weekend!
######## VERSION 2.3.8 (2019/11/15)
News: IMPORTANT CHANGES! While not required, it is highly suggested that you export the Toolkit to take advantage of these improvements.
- - - - - - - - - -
Added: cdb_authStatus() API for verifying auth status. The data returned is an array like gCSIauthA["target"]["cloud"]["true or false"] and ["local"]["true or false"]. A string of 'False' indicates that no authentication has taken place.
Added: cdb_setUploadMethod 'async' or 'sync' command. The default method is 'sync' if no method has been set. You can control which form to use for cloud calls. In general, you will get better performance from 'async' calls. But, we can not guarantee the order of data being sent with 'async' because the individual transactions are sent very close to each other. When data is sent using 'sync' the APIs will wait for confirmation that the transaction was received before proceeding with the next transaction.
Added: You can now delay Create, Update, Delete, and Merge transactions from being processed. Pass pInternalA["delaySend"] in any of CUDM calls to delay their processing. All delayed transactions are stored in cdbCache. This is a useful way to keep your app offline for performance reasons. Use cdb_flushCache to process the delayed transactions at a time that makes the most sense for your apps.
Added: You can right-click your project and copy your projectID to your clipboard.
Improved: cdbi_tableID can take a single table name, comma delimited list of table names, and an '*'. Single table name returns a string tableID, multiple table names, and '*' return a string list of tableName, tableID. The returned data is an array instead of a string.
Improved: Downloading data will error out immediately if the client is offline. Before, we were trying for the life of the timeout value.
Improved: cdb_flushCache no longer tries three times flush the cache when things go wrong.
Improved: When doing cloud transactions, the locally cached data will no longer automatically flush. We decided to give this control to the developer. To flush your cache, pass cdb_flushCache. Side note: if a Create, Update, Delete, or Merge to cloud is processed, then the cache will be flushed to maintain the order of transactions based on cdbDateCreated value.
Improved: cdb_loadTable will no longer delete clusters that can not be opened. This will be useful for dealing with clients that forget their password. The previous behavior would delete data that could not be decrypted.
Improved: cdb_sync has been optimized to restructure the incoming data to match the client's cluster size.
Improved: csi_loadTable with no params passed uses a more accurate method to determine which tables are not in memory yet and loads them.
Improved: When loading tables, if the cluster size does not match the intended cluster size, we longer delete the clusters.
Improved: cdb_SDK no longer loads all the tables for you.
Improved: When using cdb_auth, the email is now case-sensitive. This falls in line with the fact that we hash the passwords, therefore, making case-sensitivity matter.
Improved: Error reporting from cdb_loadTable
Improved: cdb_auth now does local as well as cloud authentication. You can check your current authentication with the new cdb_authStatus() API.
Improved: All API calls that could modify/delete data will use the authentication status to determine if the action should be allowed.
Improved: All cached cloud calls will get updated authentication credentials at the time the data is flushed to ensure the cloud will receive the data.
Improved: cdbCache is exempt from authentication because it needs to write data before authentication usually takes place.
Improved: Offline mode is determined almost instantaneously, giving your apps a more performant feel.
Improved: cdb_exportAsJSON can take a parameter that contains a full path where you want the data to be written. All tables are now consolidated into single files for easier processing. (Credit to WhenInSpace)
Improved: Many internal APIs have been updated to work with the updated authentication improvements.
Improved: Many internal error messages have been updated to enhance the robustness of all calls.
Bugfix: Fixed an issue where cloning a project could fail. (Credit to Clarence Martin)