Enable Apply Edits With Global Ids on ArcGIS Feature Services

10688
12
Jump to solution
07-04-2017 01:47 PM
BehrouzHosseini
Occasional Contributor

I have published a Feature Service on our ArcGIS Server 10.4.1 and in support section of the Feature Service URL I am seeing that the

ApplyEdits With Global Ids: false

enter image description here

can you please let me know why this is false? and how can I update it to True?

Tags (1)
1 Solution

Accepted Solutions
JakeSkinner
Esri Esteemed Contributor

Hi Bengi,

From the help:

ArcGIS REST API 

  • supportsApplyEditsWithGlobalIds will be true if the layer supports applying edits where globalid values provided by the client are used. In order for supportsApplyEditsWithGlobalIds to be true, layers must have a globalid column and have isDataVersioned as false. Layers with hasAttachments as true additionally require attachments with globalids and attachments related to features via the features globalid.

View solution in original post

12 Replies
JakeSkinner
Esri Esteemed Contributor

Hi Bengi,

From the help:

ArcGIS REST API 

  • supportsApplyEditsWithGlobalIds will be true if the layer supports applying edits where globalid values provided by the client are used. In order for supportsApplyEditsWithGlobalIds to be true, layers must have a globalid column and have isDataVersioned as false. Layers with hasAttachments as true additionally require attachments with globalids and attachments related to features via the features globalid.
JordanCarmona1
New Contributor III

I'm having issues with this setting as well.

   I've launched a feature service with a point layer and two related tables from a file geodatabase in ArcMap via ArcGIS Online

   The relationships are based on the globalid and the origin is set to the parent (point) layer

   I allowed all operations in the feature access tab

After the service is launched when I look at the JSON from the feature service it shows that the apply global edits is set to false:

"supportsApplyEditsWithGlobalIds" : false,    "editorTrackingInfo" : {     "enableEditorTracking" : false,      "enableOwnershipAccessControl" : false,      "allowOthersToQuery" : true,      "allowOthersToUpdate" : true,      "allowOthersToDelete" : false,      "allowAnonymousToUpdate" : true,      "allowAnonymousToDelete" : true   }, 

 

What else am I missing here?

I've read through this: Use Survey123 with existing feature services—Survey123 for ArcGIS | ArcGIS 

I'm trying to set up a survey that has multiple related tables.

0 Kudos
BrianAnderson9
New Contributor II

I also keep having this problem and found a way to fix it. I also started with a point feature class, a related table to the point feature class, and an attachment table related to the first table. I used an Esri Guid field with the same name in all the tables for the relationships. The service published fine from ArcMap, but when I went to ArcGIS Online and looked at the JSON for each (point, table, attachment table), the point and first table (which had attachments disabled) both showed the supportsApplyEditsWithGlobalIds as true but the attachment table (attachments enabled) showed supportsApplyEditsWithGlobalIds as false. What I did was to disable the attachments from the attachment table and then re-enabled it. When I checked the JSON again it showed supportsApplyEditsWithGlobalIds as true. I was then able to create a survey with Survey123 Connect for ArcGIS using the published Feature Service in ArcGIS Online. I have no clue why this worked, but it did. 

JoeBryant1
Occasional Contributor II

Thanks for sharing this "hack", Brian. I imagine that as Gregg points out below, this re-indexes the Global ID field for the layer with attachments enabled. But unlike Gregg, we don't have access to the RDBMS behind the scenes in an ArcGIS Online hosted feature service.

FYI: Your method worked for me only after I disabled/enabled attachments for every layer in the feature service.

I also attempted to update the service definition by editing the JSON at the rest/admin/service endpoint (accessed by inserting "/admin" between "/rest" and "/service" in the service URL). Just changing "supportsApplyEditsWithGlobalIds" : to "true" did not stick. Re-indexing the Global ID fields seems to be required.

I'm not sure if there is method to do this using the API other than the disable/enable workflow you found. Maybe someone else with more developer skills can enlighten us. This would be the preferable method so that we don't lose any current attachments in the re-indexing process.

0 Kudos
NaomiBegg2
Occasional Contributor III

Hi Jake

How do we update so that apply edits on globalids is supported?

I'm in a similat boat to Jordan and seem to be going around in circles with what is supported in Pro, online and Survey123.

0 Kudos
GreggRoemhildt
Occasional Contributor III

I'm also running into this in 10.7 on a postgres geodatabase. I've already verified that every table has archiving enabled, has globalids and the attachments use global ids.

What else is there to check?

0 Kudos
GreggRoemhildt
Occasional Contributor III

My solution to this was to go into the catalog view of the database, go to the table properties and Indexes, remove the GlobalID index, and re-add it with the Unique constraint. Do this on all layers in the feature services and supports ApplyEdits with GlobalIDS becomes true.

CarlosSousaFerreira
New Contributor III

This worked for me too!!!

It seems to me a little counter intuitive to have to redefine indexes created autommatically by ArcGIS tools, but it worked...

P.S.: I recreated the indexes directly in the database server, through SQL statements (Oracle DBMS)

elpinguino
Occasional Contributor II

Hi Gregg,

Not sure if you'll see this post, but hoping someone in the thread will. I'm having this issue. If I go in to each feature layer in the feature service and turn off Enable attachments and then turn it back on, ApplyEditsWithGlobalIDs becomes true. It's fine to do this now because I'm still in the development stage, but once this goes live, that's going to be a problem if I have to keep doing this because then we'll lose any forms or images the field workers have attached. What do you mean in your post above about re-add it with the Unique constraint? What is the unique constraint? Did you do this in Arcpro or AGOL? Are you saying I shouldn't apply GlobalIDs except for the one main feature layer that everything relates back to, and for the rest only have GUIDs?

0 Kudos