Hi everyone, in my application, I have several tables which are described roughly as following:
1. Main tasks (only managers can have access to this table to add any tasks into daily tasks)
2. Daily tasks (managers and employees both have access to this table with different privileges. In this table, employees will be able to insert up to 5 pictures. At the end of the day, the managers will sign off each completed tasks)
3. Location of tasks (I connected this table to the Main tasks table in order to show the location where the task should be handled by the employees)
**Main tasks and Daily tasks tables consist of about 42 columns**
So I set the action of my application where rows of data in the Main tasks table can be pushed to the Daily tasks table and afterwards delete the particular row of data in the Main tasks after it has been successfully pushed to the other table.
In the future, as days go by, the data in the Daily tasks table will increase and I believe the sync time for my application will also take some time due to the amount of pictures and signatures (in the image form) will have to be loaded every time managers/employees load the application. There has been already cases where my application will just close or crash while syncing.
I have thought of a way of pushing all the signed off tasks from the Daily tasks table to another table which I may call it as (Verified completed tasks) so as to reduce the loading/syncing time at the Daily tasks table. This particular Verified completed tasks table will only be accessed by managers or clients to see the lists of the signed off completed tasks.
This brought me to think if is it possible to fetch data from a spreadsheet or a database (in my case pulling data from my Verified completed tasks table) without having to load them into AppSheet? I believe with this way, it will not increase the time taken for the app to load all the information properly or I should say overload my application with the amount of data (images especially). Furthermore, my data is approximately about 4000+ rows in my Main tasks table and each item in the future will consist of 1-5 images when employees attach them at the Daily tasks table.
Thank you everyone for reading my long post!
AppSheet has certain recommended approaches to achieve improvement in sync times.
" if is it possible to fetch data from a spreadsheet or a database (in my case pulling data from my Verified completed tasks table) without having to load them into AppSheet"
Not directly. But you can achieve a similar effect by using a combination of security filters and usersettings. Please take a look at the below article and especially at the section "Reduce the amount of data transferred "
Also help articles on two topics of Security filters and usersettings.
https://help.appsheet.com/en/articles/954497-security-filters-the-essentials
https://help.appsheet.com/en/articles/901334-user-settings-the-essentials
Thanks for the response @Suvrutt_Gurjar. I have a follow-up query. In this application, I have actually 4 different departments using the same table structures at the back end. Each departments have their own managers and employees. However, at this current stage, all 4 different departments + 1 view (for client to check the progress of these 4 departments) are all sharing one application. I did my best to limit each different departments to their own data in respective of managers and employees data. Will it better for me to split these 4 departments into their own specific applications and then apply security filters rather than combining all 4 departments in one application with security filters in place? My biggest concern is still with data expansion as time goes by and affecting data syncing of end-users of my application. Thank you!
Hi @Justlookinghere ,
I believe it is a very subjective question. It will depend on many factors such as what you mean "data expansion" . How large the data is really going to grow. What kind of virtual columns you have in your app as they also significantly add to sync time.
In general it is obvious that if you have 4 different apps, you will have less data per app to handle. However, four different apps addressing the same functionality means more maintenance - typically 4 times the changes if those apps are identical as you say.
Also just by dividing the apps the sync time may not reduce by 1/4 . It depends on other factors such as your plan ( for degree of parallelism - number of tables loaded simultaneously) etc.
In general , good use of security filters should help. However even security filters have more prominent effect if you use SQL database as compared to spreadsheet.
So all in all, this topic has no straightforward answer to be answered based on small details as it is a multidimensional topic.
I may request you to read many enlightening posts on security filters, sync performance improvement in help articles and in the community.
Thank you so much for insightful input! I will have to consider a lot of things and tackle on the best method in reducing the impact of my backend structures to my end-users.
User | Count |
---|---|
18 | |
11 | |
11 | |
8 | |
4 |