I have a customer that would like to create an app using Web App Builder and make this available to end users, but limit/filter the data within it for some users based on either an area (e.g. extent/polygon) or an attribute (e.g. region name).
We can use hosted feature layer views to acheive the filtering, creating one view per region and sharing this with the appropriate users via groups. However, I cannot currently see a way to easily consume those separate hosted layer views within a single Web App Builder app, as this is based on a web map that contains the base hosted feature layer. If I supply a different web map as a parameter in the URL for the app (effectively substituting the base layer with the view), then various widgets in the app do not work correctly as I assume they are referencing the base hosted feature layer.
The only approach currently seems to be:
- Create the hosted feature layer view with the appropriate filter for the region.
- Share the view with the appropriate group.
- Create a new web map with the same symbology/settings as the main web map.
- Create a new web app with WAB with the same configuration as the main app.
- Share the new web map and app with the appropriate group.
However, with possibly hundreds of different regions, this approach will become a management nightmare, especially when functionality needs to be added/changed.
Can anyone suggest a better approach? For example, can layer details be passed in to the web app as parameters so that all widgets reference the new layer?
My personal opinion is that there should be a way to limit the geographical extent accessible to a specific user in ArcGIS Online as we have had a number of requests for this type of filtering and the hosted layer view does not fulfill these requirements.
Any thoughts appreciated. Ideally we wanted to avoid custom development, but would consider this if its the only sensible approach.