Best way to create a sync between AGOL ArcGIS Portal Hosted feature service and SDE

1259
4
02-04-2023 05:49 AM
JoseSanchez
Occasional Contributor III

Hello everyone,

I need to create a web application to edit points, lines and polygons in ArcGIS Portal or AGOL.
Layers are located in SDE and users are going to use this web application for editing purposes, to digitize points, lines and polygons.

I am currently looking for options and I would like to know what solution do you recommend for editable layers:
- Feature hosted layers
- Feature layers linked to SDE

For Feature hosted layers.
How do I synchronize the Feature Hosted layer with SDE?


For Feature layers linked to SDE.

We work on a versioned SDE database.I haven't seen any sample in Web Application Builder or Experience Builder that shows how to create a version, edit the version and then post and reconcile.

Is there a way to create a version when the editor open the web application? Or does the Feature layer get created always pointing to the same version in SDE?

Do you recommend Web Application Builder or Experience Builder?

Thank you

0 Kudos
4 Replies
wizgis
by
Occasional Contributor II

Hey @JoseSanchez 

Greetings, 

Regarding your first question of synchronizing hosted feature layer with SDE, here I am assuming you have published a hosted feature service to ArcGIS Online and I just wanted to let you know that you won't be able to synchronize any hosted feature service published to ArcGIS Online as when we are publishing anything to ArcGIS Online the data gets copied over to ESRI's database. 

Additionally, regarding the second question of feature layers linked to SDE since you are working with a versioned database I believe you might have to register each version separately with ArcGIS Enterprise

Here are some links that might help: 

https://support.esri.com/en/technical-article/000012208 

https://doc.arcgis.com/en/arcgis-online/reference/faq.htm#anchor7 

Hope this helps. 

 

 

0 Kudos
JoseSanchez
Occasional Contributor III

Thank you for your answer @wizgis 

We are currently synchronizing  published hosted feature services in AGOL or ArcGIS Portal via Python scripts that copy the whole  published hosted feature service to the same FC in SDE or partially just copying the changes done during the day. But I was wondering if there is any tool in Esri that allows to replicate changes from a hosted feature class to its equivalent in SDE?

 

Regarding the second question, I would like to know what is the best practice to work with a layer that is versioned on SDE and that is going to be edited on the web (WAB or EB)?

 - create and register a version of the database called 'WebEdits" and associate it by default to the web application (WAB or EB), then a version administrator will post/reconcile edits from version "WebEdits" to default, in order to make them available to everyone. 

- Other options I do not know

 

https://pro.arcgis.com/en/pro-app/latest/help/data/geodatabases/overview/publish-branch-versioned-da...

 

 

 

 

 

0 Kudos
JoseSousa
Esri Contributor

Hi @JoseSanchez ,

You can create a collaboration workspace between your ArcGIS Enterprise (guest) and ArcGIS Online (host). The host (ArcGIS Online) must grant the guest (ArcGIS Enterprise) with Send and Receive access to the collaboration workspace.

Synchronization feature layer edits two-way

Starting at 10.9, when a participant has Send and Receive access to a collaboration workspace, they can allow two-way syncing of data edits to feature layers they share as copies, allowing two-way sharing of data edits. When a scheduled synchronization occurs, edits made to the source feature layer will be shared to the receiving participant and edits made by the receiving participant will be shared to the source layer. Synchronizations are initiated by the guest on scheduled intervals. During synchronizations, content newly shared to the collaboration group, as well as the deltas for previously shared content, will be synchronized with other participants' groups.

Check this link for further details.

Regarding your second question, I would recommend that you use Branch Versioning as it can scale a lot better. You can create custom branches in ArcGIS Pro and configure your web map to point to a specific named branch if you want or you can leave it pointing to the default branch. 

ArcGIS Experience Builder also has a widget for the management of branch versions: 

The default branch also scales a lot better as it does not incur in internal locking. Named branches, in a long transaction model, can't be edited by multiple users at the exact same time. In a short transaction model I believe they do support now though requires testing to be sure.

The Feature Service specification includes a property "gdbVersion" that allows you to point to a named version. Otherwise defaults to SDE.DEFAULT.

A simple way to approach this is to publish the feature service and add it to a web map. Use ArcGIS Experience Builder with the widget to manage versions and leave up to the user. Just like with ArcGIS Pro, the user will create a named version, switch to the version and do their edits. Alternatively, if you haven't protected your default version, the user can edit the layer as usual. In this case, changes would be introduced to the default version of the database.

It all depends on your use case.

Thanks,

Jose

0 Kudos
JoseSanchez
Occasional Contributor III

Thank you for answering @JoseSousa 

 




0 Kudos