We recently ran into an issue where an existing publicly shared WebApp (built with online WebApp Builder) suddenly required a login. We then found out, that a layer has been added to the underlying WebMap, which was only shared with the organisation. As the WebMap and the App were already shared and accessible to everyone before, it took time to find out which layer caused the issue.
We had to click on the share button again, and there the information about the unshared layer popped up. Removing the concerned layer didn't completely solve the problem; we had to edit the WebApp, open the Layer Widget, check if the layer was really gone (was the case), close the widget, and save the App.
To avoid this kind of problem, I suggest one or both of the following enhancements:
- In the Add Layer dialog, add a checkbox to only show layers shared with everyone
- While saving an existing publicly shared WebMap, show a message if it contains unshared items (including the name of the layer) -> same as it is the case for the sharing dialog.
- Do not redirect to the sign in page (instead of opening the App), when only one layer is not accessible, but use the same dialog with login window, as appears when the map contains a secured (external) layer. This one you can dismiss and still use the app.
cc: Eugene Maridadi