…that is the question which often comes up when users first hear about branch versioning. This is followed by more questions like: “What exactly is it? Why should I use it? How will it fit into my established workflows?”
As a new user of branch versioning myself, I’ve recently spent a lot of time exploring its functionality and advantages. Surprisingly, it is quite simple and easy to implement! This new functionality within ArcGIS Pro opens up a whole new world of capabilities for data sharing, multiuser editing, and data management. Talking about these key points will help introduce the fundamentals around the subject of branch versioning, and showcase some of the exciting new potential it brings!
My hope is that I can offer a fresh perspective to help your users or organization understand branch versioning better. From there, you can decide on how to best implement it for your organization and which “type” of versioning is the best fit for you.
Let’s get started!
What is branch versioning?
If you’ve worked with versioning in the past, you’ve already used what we now call “Traditional” versioning. However, if you’re not already familiar with it, I’d recommend learning about it here:
So how does “Branch” fit into the framework of versioned editing?
Branch versioning is a new platform for multiuser editing that leverages a services-based architecture instead of depending on a database connection. It builds on the well-established capabilities of traditional versioning while improving workflow management. Because it’s designed to operate in the services environment, editing is not available when accessing branch versioned datasets directly from a database connection. Integral operations, including editing and version administration, are all performed through the ArcGIS Enterprise portal environment.
The portal serves as the gateway to powerful data integration, allowing web feature layers and portal items to be consumed through custom web (service) applications. Additionally, editors aren’t required to have direct access to the underlying source database to contribute edits. Because it’s designed to operate in the services environment, editing is not available when accessing branch versioned datasets directly from a database connection. This service-oriented architecture (SOA) takes editing workflows traditionally performed through a database connection and pushes them to the web services environment, opening the door to the modern Web GIS model. Also, through the Version Management capability (VMS), key version administration tasks are now performed through services.
What makes branch versioning unique?
It’s based on the feature services model.
As discussed above, branch versioning’s integration with ArcGIS Enterprise is what sets it apart from traditional versioning. The web-based integration brings the benefits of accessing versions and making edits from anywhere you can access the web:
- Collaboration is simpler and supports more efficient access through web GIS applications.
- Edits to a version can be posted to active feature layers, updating the data behind your web mapping applications with zero hassle.
- It takes advantage of the SOA provided through ArcGIS Enterprise, coupled with your organization’s security structure to support a robust security model.
- Scalability is made easier through the SOA, allowing versioning implementations to scale as the demands and usage grow through time.
In addition to these web-based features, there are several advantages to automation and application access. Data published and versioned through the ArcGIS Enterprise portal allows for edits to be contributed from smartphones, web applications, third-party apps, and even automated scripts using the REST API.
It’s optimized for performance and ease of use.
Branch versioning aims to resolve challenges involved with traditional versioning administration and improve upon the user experience. There are a few key features that make this possible:
- Branch versioning is based on a temporal model which archives edits in a single table that does not need to be compressed, eliminating the performance hits sometimes experienced with traditional versioning. Since branch versioning uses this model, you can now gain all the benefits of archiving without the creation of an additional class. These benefits are realized through a change in design which makes every edit operation an insert behind the scenes allowing a history of your edits (including deletes) to be saved. This provides the ability to perform undo/redo throughout the life of an edit session.
- Administration is now simpler! The core design follows a flat branched structure that improves version management immensely. Since grandchild versions are not allowed, Default is always the parent.
- Conflict management is enhanced to allow for the review of conflicts and ability to span ArcGIS Pro sessions.
Why does branch matter? What is the purpose behind this new model?
It’s the future.
Good data is vital. You already know that. Today more than ever, creating and sharing authoritative data is more important than ever. This fun world is where branch versioning operates. Branch versioning is designed to make your multi-user editing workflows simpler and more robust. The capabilities introduced through integration with web GIS expand our reach, making the sharing of data easier and more reliable, while helping to ground the flashy pictures of web apps and fancy visualizations in the reality of data.
The goal is to enable integration with the new trend in GIS towards a service-based model, opening the door for data integration into web maps, applications, and custom cloud service solutions.
In recent years, Esri has placed a large focus on reengineering ArcGIS as a services-based platform to support this web approach. Development of new products and innovation on the cutting edge of GIS science is nearly all focused on the services model. This helps to balance the needs of continuity and consistency for current users and their work, all while presenting new functionality and capabilities present within the cutting-edge ArcGIS Web Architecture. It is an exciting development in both the desktop and Web GIS worlds!
Now you can move onto part two of the series: Branch Versioning: Setting the Stage