Custom dashboards that are either on the "More" menu or on the home screen can potentially be slow. The primary issue with this is that the screen is not usable when the dashboard cards are running.
Fixing the performance of each card is beyond the scope of this card as it includes custom queries. Additionally, since the query is slow, it is also not possible to make the app responsive during this time.
The one thing we can do is to provide the organisation and the user the ability to control when each card is synced. There are some other minor performance bottlenecks that are currently present.
Existing performance bottlenecks
The cards currently get refreshed twice (both in home screen and on the Dashboard screen)
The cards refresh when going back to the Menu page for non-home dashboards
Cards also refresh even if users use other buttons on the home screen such as "More". This is unnecessary as well
Future changes (for reference)
In the future, we will do the following changes to the dashboard cards
Add filters
Add concept based search
Deprecate MyDashboard with custom dashboards for the home page
Solution
Organisations will have the ability to control whether a card is autorefresh or not. The default will be true to maintain consistency with existing implementations. Implementers can go ahead and make it false in the Offline Cards screen
For cards that do not have an autorefresh, there will be a refresh button on the card. There will also be the date/time when it was last refreshed on the card
If there are cards in a dashboard that do not have autorefresh, there will be a top-level refresh button that refreshes all cards
Issues with double rendering will be fixed
Eventually (not in scope of this version)
Users will have the ability to override the default organisation setting of autorefresh to suit their specific needs
Decisions for autorefresh will be taken automatically by the app
Problem statement
Custom dashboards that are either on the "More" menu or on the home screen can potentially be slow. The primary issue with this is that the screen is not usable when the dashboard cards are running.
Fixing the performance of each card is beyond the scope of this card as it includes custom queries. Additionally, since the query is slow, it is also not possible to make the app responsive during this time.
The one thing we can do is to provide the organisation and the user the ability to control when each card is synced. There are some other minor performance bottlenecks that are currently present.
Existing performance bottlenecks
Future changes (for reference)
In the future, we will do the following changes to the dashboard cards
Solution
Eventually (not in scope of this version)