Versioning Variations: An In-Depth Look at Using ArcGIS Pro SDK with Geodatabase Versioning

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello everyone i'm asis lomsa product engineer at hd geo data management team in this demo i'll show you various versioning operations using arcgis pro sdk in enterprise geodatabase versioning allows multiple editors to alter the same data in an enterprise database without applying logs or duplicating the data as the agenda of the demo i'll talk about creating versions switching versions posting and reconciling versions and deleting the versions so let's dive into details on creating and changing versions to create versions first of all you need to prepare the data set that support versioning in order to do that you have to publish the feature service and enable the support for versioning which i have done prior to this demo and to create the version we'll use version managers create person method this method takes person description and default person as a parameter the version description defines the person name person and the version access type after creating multiple versions we'll switch the data set versions by using change version method and this change version method takes two parameter from version and two person let's look into the demo here i'm using the grand theta national park sample data set you can see camp sites park rails park boundaries and camping areas but we are mostly focusing on manipulating the campsite we'll create move and delete the campsites on the right hand side you see the document add-in created for this demo let me create a couple of versions using this demo app before creating version 3 let me put a breakpoint and then we'll walk through the code yet the breakpoint got hit i got the geodatabase instance from active map layers from jira advanced instance i got the person manager and use that person manager to find the default person and use that default version to create a new version here i describe the person description it has a person name person description and person access type as a public the new version with person name three is created i'll go ahead and continue here we can see version three but this map is still pointing to the default version let's go to select and switch the versions i'm going to select version 3. in the content pane you see the name change it change into person three now let's switch to person two version 2 before switching back to version 3 i'll put the breakpoint and switch method our breakpoint got hit we got the geodatabase which is of course coming from active map and then person manager coming out of geodatabase and use that person manager to get the current version which is currently selected on the map and two version the person would like to switch and here is the change version method that takes the current person and two person to switch the versions now our version is switch back to version 3. so far we have created three different versions but we haven't made any changes on this version data and all persons are inherited from the default versions they have identical data now let's um switch gear towards update data in a version and transfer the changes from local version to default version and also pull the data from defaults version to local version using posting and reconciling the post is a technique to transfer your local changes to the default person and reconcile is a technique to pull updates from default version to local version default version is the root version which is the parent of all other versions you maintain and update the default version by posting changes to it from its child persons for both posting and reconciling we define the reconcile description object the reconcile description defines ways to handle conflict detection conflict resolution and post with this let's look into the demo for this demo i would like to move these two features out of the boundary and i will create two features over here let me put a breakpoint on post method and hit post the breakpoint cut here we have share database version manager current person uh the person which has the local changes and the parent person is default version here i describe the reconcile description which says conflict resolution as continue conflict detection by row and conflict resolution type as paper added with first is true let's skip selection for partial posting for now and where is the current person the reconcile method which will transfer our local changes to the default version at this point i'll just go ahead and continue with this custom message we can say that our version is successfully posted let's switch back to the default version and see the changes here in the default version you can see two newly created campsites and two newly moved campsites but those versions that are created earlier version one and person two are still pointing to the old data set let's switch to one of them and see what it looks like now version 2 got selected these campsites are still inside the boundary and you cannot see the newly created campsites so i'll go ahead and hit the reconcile to pull the changes from default version to the local version before going to that i'll put a breakpoint and reconcile method same age earlier database person manager current person parent person here is the reconcile description for reconcile the post flag is false that means uh it pulls the updates from default person to the local person and use the same code version that reconcile to pull the updates see if it has any conflicts no conflict at this point i'll just go and hit continue now we can see the campsite that i just moved outside of the camping area and to newly created features so far i've shown you the simpler workflow of posting and reconciling which moves all the changes in the local version now let's look into the advanced posting workflow which is used to transfer part of local changes to the default version and it is called partial posting for parcel posting you need to select the features that you want to transfer to the default person it is supported on arcgis 10.9 however it is not supported yet for utility networks parcel fabrics and topology the reconcile description for parcel posting has a one extra member in addition to our regular posting which is partial postage selections where we assign our selected feature and also to support the partial posting of deleted features i have set up an attribute rule on feature glass to keep log of deleted features in a separate table as in upper right square snippet with this let's look into the parcel posting demo for parcel post i'll select version one i'll move those campsites i'll delete those and i'll create two campsite here and from each operation i'll pick one for parcel posting i'll pick one from mob one from create and we'll pick one from those deleted features in this deleted feature list box here i'll go ahead and add selected it's so to display the deleted features and i'll select one and then hit the post here we see the similar information as earlier we have gear database person manager current person parent person same reconcile description here is the key part for the parcel posting here i am getting list of selections and i'm assigning those list of selections to parcel push selections member of reconcile description object with this current version the reconcile method our partial port could transfer to the default person go and hit continue success now let's go to the default version and see the results here you see out of two created features only what got transferred to default out of two mode feature only one cut outside of the boundary and out of two delete features cam size only one got deleted in the default to track the deleted campsite features i have set up an attribute rule on campsite feature class that locks the object id of deleted campsite in campsites log deleted table and this arrow triggers during delay it basically says store the deleted features object id into a deleted cam size object id and campsites log deleted table now let's move into another topic which is delete there are two things you need to keep in mind during delay you cannot delete the default version and you can delete a version that is currently in use and we use the person that delete method to delete a version let's look into the demo since this map is pointing to default we can select and delete any of those versions over here so i'll go ahead and i'll go ahead and delete version 3. version 3 got deleted before i select and delete another one let me go ahead and put the breakpoint it's the backbone and percentage delete it will delete the person hit continue person to get deleted same with person one version one also got deleted with this delete operation i would like to end the demo session hope it has been helpful thank you for your time
Info
Channel: Esri Events
Views: 156
Rating: 5 out of 5
Keywords: Esri, ArcGIS, GIS, Esri Events, Geographic Information System, Geodatabase, Branch versioning, Editing
Id: aW_fKevf4HQ
Channel Id: undefined
Length: 18min 39sec (1119 seconds)
Published: Tue May 18 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.