This is a very exciting feature addition and I'm looking forward to trying it out!
I have some initial questions
Can multiple "Filter by Property" conditions be setup? (region_id = region AND team = team etc). Appears to be the case from the language in the docs
Is there any way for an app user to access all entities if property filtering is used? Given filtering currently applies only to app users and public access links and only exact equality is supported it seems like global testing can only be done in WebForms and device testing would have to be done for each app/link user.
I try to minimise content in hierarchical entity lists by only including a single parent UUID for choice filtering (eg person list has household UUID, household list has town UUID, town list has region UUID), Only filtering "region" by property removes access to town/household/person values in the form, but the values are present on the device. Am I correct in assuming that I would have to reintroduce these values to the lists for entity filtering to work (eg add 'region' and 'team' to all lists)
Docs say there is no way to change ownership after creation - can the API still be used to change ownership (so there is no way via Central UI) or has this changed?
So glad to hear you're excited about this one, we are too!
Not currently from the UI. You can currently set multiple conditions joined with or from the API, we intend to expose this soon. We do intend to add and as well but don't have a timeline for that yet.
Not yet. Currently if an app user omits defining a property used in a filter, they won't see any Entities. So yes, we've been doing global testing with an admin user and a web form. One thing we intend to add is comparisons between user properties and constants. So for example you could express entity.region_id = user.region OR user.role = 'admin'.
Yes, that's right. Central isn't currently aware of links between Entity Lists so it's up to you to filter all lists using an appropriate property, in many cases the same one. We realize this will sometimes require editing existing lists and are going to be working on bulk update via CSV from the UI soon.
We've talked about doing this but I don't think it's implemented yet!
I have another question that is part 'what is best practice' and part 'potential future usability improvement'.
For related entity lists, generally I would put the Entity ID from the top (eg town) entity list in the first child (eg household) entity list etc etc, to avoid making other lists too large. eg;
town (may only have __id & label)
household (has a town_id field to filter by selected town)
person (has a household_id field to filter by selected household, town_id is not required)
In order to use the entity filtering behaviour, I would then have to assign the desired town __id to the customer property and also add some fields, eg;
town (now needs to duplicate __id into another field, eg town_id to match custom property)
household (already has a town_id field to match to custom property, no change needed)
person (must add a field, eg 'town_id' to match to custom property)
There's two three things here, neither are road blocks;
Could __id be used when linking to a custom property? Currently the entity ID / label cannot be used as an 'is equal to the user‘s' selection - so for top level lists the __id will need to be duplicated, making the lists larger, worst case 50%
child lists that aren't directly beneath the top level will need to add a field for the top level __id value, worst case 33% larger. No fix for this until Central is link aware
Could an additional descriptive field (eg label/description) be added to the Custom Propery? When setting up the Custom Property for an app user / public link, it will use the __id value which is not clear to its meaning without cross referencing
Edit to add: Can Custom Properties be deleted? I created one in a project and cannot see how to remove it.