What is the difference between a Helper table with all USC columns and a Helper table which has a Row Owner on an email which is the user’s email account? I don’t understand the nuance between the two except I could actually create multiple rows in a row-owner helper table and I can not do that in a USC helper table. Also, first use in the row owner case would have to be seeded (it would not exist upon first use unless pre-seeded with user email which is kind of a pain). In a USC helper table just having a RowID makes first-use seamless since USC means only one exists per User. In general if either helper table is SV->whole row back to the user row (a little more work with a row owner) then you have access to all the ‘vars’ that can be used in custom forms or general ‘variable passing’ between screens.
Other design question - if you have 10 custom input forms (from 10-30 columns each), is a best practice to have 10 helper tables, 1 helper table or segment them someway that makes sense?
Lastly, does Glide really only charge for 1 row even if you have 200 users accessing the helper table?
I’ve never considered a helper table being something that would ever contain row owners. In any of cases that I’ve used one, it has been a single row with USC columns. Makes the most sense to me because it’s simplest to set up and like you said, doesn’t need to be pre-seeded. The only time I have multiple rows in a helper table is if I’m doing complex calculations that require multiple rows, but I still would never use row owners.
I think that just comes down to personal preference and maintenance overhead. I try to separate them, but I’ve also shared the same helper table for similar forms (ex. a form that can be used for Add mode or Edit mode).
Yes, they only charge one row. In reality they most likely have hidden meta tables with scoped values where there is a row for each USC value, per user, per cell. So 200 users using 10 USC columns in 1 row would be 2000 rows in the meta table. Or there is a possibility that they are storing multiple cell values, per user, per row in a JSON object, which cuts it down to 200 rows. Not completely sure, but that is the most likely scenario. Likewise, I’m sure they have several other hidden meta tables to store column and table configurations. Those meta tables aren’t something we see. They take up space in Glide’s database, but we are not in charge of them so they are not billable rows in those meta tables.