ArcGIS Blog

Data Management

ArcGIS Enterprise

Branch Versioning: Setting the Stage

By Peter Forister

Branch versioning brings exciting features into the quickly growing services world, including multi-user editing and support for unique data types such as the utility network and parcel fabric. Setting your data up to take advantage of these features could appear daunting to new users, but is integral for successful service-based workflows. By breaking down the process, hopefully we can help make it a breeze for you!

This blog entry will provide some additional insight into the processes already outlined in the documentation. The goal is to make it easier for you and your data admins to learn, and provide the knowledge needed for implementing simple workflows. Let’s get started with the steps of preparing your data using ArcGIS Pro 2.3.

Moving on from the general concepts, how can we bring our real data into all this? To tap into the extensive environment of these feature services, let’s review the steps required to configure and publish your branch versioned data in ArcGIS Pro.

The two primary steps involved are:

  1. Registering the data as branch versioned
  2. Publishing to your ArcGIS Enterprise portal

These are relatively simple processes, but there are several important concepts to discuss along the way. Working through these carefully will help you better understand the reasoning and functionality behind each configuration step.

Step 1: Registering as Versioned

The process of preparing your data outlined below ensures that the necessary tables and fields are created to support key branch versioning functionality down the line.  All the specific information and requirements for registering a dataset as branch versioned can be found here. That’s a lot of detail however, so for introductory purposes we can cover the major points of the registering process now.

Before registering as branch versioned, you need to ensure that your database connection in ArcGIS Pro is explicitly set to Branch for the Versioning Type. You can do this in two ways:

  • Run the Update Geodatabase Connection to Branch geoprocessing tool.
  • Right click on your database connection, open the geodatabase connection properties, and change the Versioning Type option to Branch.

Now, for each feature class that you want to register as branch versioned you must perform the following steps to configure the supporting data correctly:

  • Add Global IDs: These are unique identifiers for each feature that cannot be duplicated or changed in the lifetime of the feature class. You can add these using the Add Global IDs geoprocessing tool, or through the Manage context menu for the dataset.
  • Enable Editor Tracking: This allows the base table to automatically record history for each add, update, and delete edit. It will also record the portal user’s name and save time stamps. Additionally, the tool builds the table elements necessary for enabling historical moments. This can also be done through the Enable Editor Tracking geoprocessing tool or the dataset context menu.
Overview of the configuration process
Overview of the configuration process.

Once these steps are completed, you can Register as Versioned. This entire process can be automated by using Python or ModelBuilder. From there, a script or model can be used easily for versioning multiple datasets in the future.

With all of the ideas established behind registering a dataset as branch versioned, let’s go though the actual workflows involved. This video will summarize the steps using ArcGIS Pro:

You’re now ready to move onto the publishing process!

Step 2: Publishing to Portal

Now we can get started on publishing and sharing your versioned data. This process is nearly the same for versioned data as it would be for publishing any other web feature layer in ArcGIS Pro. The notable exception you’ll see with branch versioning is the option to enable the Version Management capability in the Configuration tab.

If you’re unfamiliar with publishing from ArcGIS Pro you can learn about that here. It requires that the data source is registered with the server, and that you are connected as a user with publishing privileges. Requirements specific to sharing branch versioned data can be reviewed here.

The Share as Web Layer pane can automatically check that your datasets meet requirements before they are published.

Here’s a quick overview of the workflow for publishing:

  1. Add the branch versioned data you want to share to a map view.
  2. Open the Share as Web Layer pane. Fill in the item details, assign groups, and select the portal location.
  3. Switch over to the Configuration tab and check the Version Management box. This is optional, so analyzer errors will not be generated if it is not enabled. The section below on version management will help you determine if you need this enabled.
  4. Analyze and/or Publish as a feature service.

Version Management

Version management service (VMS) is a capability worth talking about at this point. It exposes the management capabilities necessary to support feature services that work with branch versioned datasets. Why is it important to remember and understand in the publishing stage?

  • Version Management must be active for branch versions to be managed through a services client. Once an editor consumes the layer into their client application (such as ArcGIS Pro) from their portal, the “Versioning” options for creating a user version and switching between others are made available.
  • Without it you won’t have version management capabilities, and will be forced to edit default directly. Of course, if default is protected, you won’t even be able to edit that!

For most versioned editing workflows, Version Management needs to be active.

Here’s an overview of Version Management capabilities and advantages for having it enabled:

  • Version Management workflows can be performed directly at the service level: Create, modify, and delete branch versions; Change between active versions, and reconcile or post edits; Undo and redo editing steps when working in a user version.
  • Additionally, it allows for REST service access and API integration. This is critical for developers or advanced software users, bringing the capabilities of branch versioning into third party applications and scripts.
VMS enables you to work within and manage versions via feature services.
VMS enables you to work within and manage versions via feature services.

Now that you’ve gone through these steps, your data can be accessed in your ArcGIS Enterprise portal, neatly organized in with all of your other content. From here, we will explore consuming, editing, and distributing your branch versioned data, all entirely hosted through your portal. Stay tuned!

Next blog: Editing and Administration with Branch Versioning – It’s Showtime!

Share this article