As we all know, we still often have to rely o...

As we all know, we still often have to rely on backend google scripts to do more complex operations like multi-row aggregations and such. This forces us to prompt our users for multiple refresh after a single entry. This is a pretty significant user experience killer, not to mention the high risk to data consistency. Are there any progresses made towards resolving this weakness?

I may be oversimplifying, but what is needed is a mechanism, or a column type, that says to appsheet that this row must complete a backend script operation, and that it needs to be refreshed once more transparently to the user (from the user perspective it is a single save operation). Obviously this would be super time costly, but never as costly as having to do multiple refreshes. And a much better workflow.

For example: Letโ€™s say we have a new column type called โ€œCallbackโ€. This tells appsheet that it must cache the row data from a form save operation, and that it needs to re-read the row in n miliseconds, and if โ€œCallbackโ€ value = โ€œDoneโ€ (which would have been set by the backend script), it re-saves the whole row. There could also be a โ€œnumber of retriesโ€ parameter on the Callback column, so if the Callback value is never set to โ€œDoneโ€ (because the backend script is failing) the complete row update is canceled with an appropriate error message.

0 3 337
3 REPLIES 3

@praveenHi Praveen. The scripts are synchronous. They are executed after a row update, scheduled as an OnChange event. Also note that one of the function creates new rows following the changed row.

There is an idea behind of this post, no doubt. On the other handโ€ฆ if we could reduce the background syncing cycle a lot, which is now 30 minute, it could do the same behavior. Adding @praveen

@Christian_Farley2, I assume the backend script you are running is asynchronous? Solutions based on timing are brittle.

However, @Philip_Garrett_Appsh is currently exploring using a mechanism that will notify our system when changes occur to the sheet, and then use that to notify the apps as well. This is a multi-month engineering investment but its goal is to solve for all these cases where the data in the app is stale or needs manual refresh.

Top Labels in this Space