Editing Versioned Services

1320
4
04-01-2014 10:52 AM
BrendanDwyer
Occasional Contributor
I have a question about how to set up services on versioned datasets. 

We have user groups around the country and we are going to make a version off the default sde for each of them to edit.  Lets say our setup looks like this:

default version
    -> Blue version
    -> Red version
    -> Green version

Each group version is at the same level.  I get how to make this work in desktop.  Each group will connect arcmap to their version of the database, edit the layers and then reconcile the changes up to the default version.  The default version will be the authoritative version so we will definitely create services for layers in the default version.

But how do I set this up to enable group users to edit feature services?  If I allow users to edit the features of the default version services, it would bypass their version and defeat the purpose of versioning. 

But if I create services for each version, I'd be serving a lot of redundant layers and multiplying the load on the server machine.

Am I missing something?  Does ESRI have a tool or feature to handle this?  Are their best practices for this situation? 

Any help will be appreciated.
Tags (2)
0 Kudos
4 Replies
WilliamCraft
MVP Regular Contributor
Which version of ArcGIS are you using?  Are you planning to edit the feature services through an ArcMap client or via ArcGIS Server using a web application?
0 Kudos
BrendanDwyer
Occasional Contributor
Which version of ArcGIS are you using?  Are you planning to edit the feature services through an ArcMap client or via ArcGIS Server using a web application?


We are on ArcGIS 10.2.1. 

We want users to be able to edit through an sde connection in ArcMap, edit feature services in ArcMap and a web appliction (mostly Arc Portal federated to Arc Server).
0 Kudos
WilliamCraft
MVP Regular Contributor
In terms of editing you would need to publish three map services with feature capabilities, each connecting to their applicable transactional version.  Separately, you can run an automated batch reconcile and post script to push changes to and bring changes down from the DEFAULT version every 30 seconds, 1 minute, etc.  This will allow your editors to see the changes made by others without much of a wait.
0 Kudos
IsmaelChivite
Esri Notable Contributor
Hi,

I completely agree that you could create a different feature service for every version. Alternatively, if you are willing to write a custom web application, you can publish a single feature service, and let web applications switch the version to be displayed/edited on the fly. In fact, it is possible to create new versions from a web application, if you every need to do that as well.  I have seen people create such custom web applications and have the apps switch to the appropriate version without the user knowing. Say John connects, then the web app switches to Johns version. And I Adam connects, the same web app, against the very same feature service persists all changes from Adam into Adams version.

An example is showed here  http://video.arcgis.com/watch/1703/web-editing-in-arcgis-for-server   You will want to fast forward until 53:30.

  This capability was added in ArcGIS 10.1. You can learn more about it here http://resources.arcgis.com/en/help/rest/apiref/  (look for "gdbVersion" in the What is new section). You will notice that operations for querying, editing and exporting map images support this parameter.

  Out of the box applications such as the Viewers or ArcMap do not use this capability (although you could still use ArcMap against your geodatabase directly instead of going through the feature serice), but you could through your own applications.  Using this technique can make everything easier to administer (you do not need to create new services when a new version is created).

Ismael
0 Kudos