Currently, if you have a joined hosted feature layer view setup for a feature layer, you cannot edit the data schema of the layer in ArcGIS Online. This means you cannot add or remove fields, or alter the domains for the features unless you remove the view. This is extremely cumbersome, as we are using the joined hosted feature layer views for many of our features, but also need to periodically make changes to the data schema.
Please allow joined hosted feature layer views to be used while also allowing changes to the data schema of the features. This would save us so much time not having to continually delete and recreate the views.
EDIT: I have not had time to further test this. I wrote it from memory and it may be mistaken. I'm leaving it for now, in case someone is able to do further testing.
The solution that has been working for me so far is to not delete the joined view, but rather use the REST endpoint: delete from definition. Once the joined view is removed from the service definition, the source layer schema can be edited. You can then use add to definition to re add the joined hosted feature layer(s) back to the service. As long as you add definitions in the appropriate order (so that they have the same service id number they did before removal), apps that consume the joined-hosted-feature-layer-view should continue working: the service itself has not been removed and the id has not changed. The benefit of using the REST endpoints is that you can add many joined hosted feature layers to a single service. This of course should all be done programmatically (I'm using arcgis python api), so that service definitions (joined hosted feature layer view definitions) can be added and removed with the push of a button.
@jfisher Thank you. So you are effectively disconnecting the joined view from the source and then reconnecting? Can you please share more of your workflow and where to find ':remove from definition' in the REST endpoint
I'm unable to make schema edits to a hosted feature layer at the moment. I did have a number of joins and after lots of investigation came across this forum post. I've deleted the join views, which obviously stopped the web map which was accessing these from working, and I still seem to have a schema lock!
If data schemas become locked then we need a clear message to the user telling them why and how.
@LaurenBallantyne I've tagged you in as you wrote the blog linked above. Please can you provide an update about this. Thanks.
This poses a huge problem for me every day. ESRI, can you please allow changes to the data schema without having to undo all of the joined views I've put into place?
You can use the update definition on the joined view to allow schema changes to true which should allow you to make schema changes to the source. If you want to add a field and have that field to propagate to the joined view, then you would have to do like @jfisher mentioned, delete the definition of the view and add definition which you need to include the new field.
Agree with all of the above, this is a real showstopper to our org using live joins. A solution or effective workaround would be hugely appreciated. Then we can retire cumbersome overnight processes.
Hi @AbdiHassan That's a good suggestion, I'd like to try that, but would need more guidance on exactly how to do it as I don't have a lot of time to experiment. I still believe that it needs a UI not dissimilar to the update view UI, especially as it was announced in June 2023 that we would be able to update schema. We add fields all the time and don't want to be faffing around with the JSON. Most of our Hosted feature services are sync enabled, so sync errors would also be a concern, You can also see that a lot of people are confused when a joined view layer is in place that they cannot update schema, especially as there is little warning that this is the case. This NEEDS something better than what we have currently. I don't understand why this is not prioritised.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.