Does anyone have experience with the Kanban board?
I'd like to use the Kanban add-on in an app that is running on Claris Cloud. While we use the sample data, everything seems OK. However, if we increase the number of records, and especially if we use related records, the performance is terrible. The kanban spends a lot of time displaying the wait indicator.
The answer seems to be (a) don't include any related information and/or (b) don't ever have more than a few records in the table. Can that be right?
Kanban finds records to display using the Execute Data API script step, which it does so presumably for sample simplicity and also to not have to switch context to carry out a search for data.
This happens in the KanbanFind script. I guess you aren't beholden to use this method of finding records, and so you could modify this script to find your records in some other way. If the data API is trying to find records by searching related fields, this is likely part of the issue - it may not be optimised for this, especially if you're using any unstored calculations on the LHS of your relationships.
At the end of the day a find properly optimised and based on indexed fields should be fast. The kanban also requires however to display information from those records meaning if your kanban is displaying 500 cards then that is 500 records to be downloaded from server to client (plus any related records for display/searching) - so now it becomes dependent upon your WAN speed and latency as a factor for load times.
The Kanban itself is not the issue, it's the finding and downloading of records for displaying on the Kanban.
No matter how many records are present in the table, the kanban is getting 500 records. That's the API default maximum.
Exporting the first 500 records as CSV generates a 243KB file. That is three times larger than the sample data, which is 89KB.
The actual data table has 41 fields, only two are calculations, 22 are text (no long text), 5 are dates, and 12 are numbers. All are indexable except the calculations.
Displaying the sample data on the Kanban board, with that table upped to 500 records, takes a few seconds at most. Switching to the actual data table the kanban board needs about 90 seconds to display.
Doesn't the data API (step) return everything on the nominated layout, plus all related data if related fields are present on the layout? I'd be checking what is on your target layout.
Yes, that's the normal behaviour, I'm expecting that. I've stripped away everything extra during this testing to see what is causing the problem. The target layout, which is the layout that is used to display the kanban detail / editing screen, only has a few fields on it.
The other issue that I have to deal with is that the logic supporting the Query field in the Configurator seems to be broken. Edit: not broken. The query field needs to be placed onto the same layout as the web viewer being used for the kanban board. If there are no fields on that layout the query selector is empty.
The table has about 1400 records and I want the "active" records which are at the end of the list. Even in a new database, with new kanban add-on, the Query field selector produces an empty list.
Double checking the layout I found a field from a related table. Removing that field, so that only data from the immediate table is on the Kanban detail layout immediately gave me good performance.