ArcGIS Enterprise

Dev Summit 2021: SOIs for multi-editor collaboration in utility networks

Enabling multiple GIS users within your organization to collaborate simultaneously on the same portion of a network can be a challenge, especially when the users perform edits and analyses across different branch versions.

At the Developer Summit 2021 plenary, Daniel Thibault demonstrated how you can use the ArcGIS Enterprise SDK to implement a Server Object Interceptor (SOI) that facilitates collaboration and coordination. Using an SOI developed with .NET, he showed how you, as a GIS administrator, can allow GIS users in your organization to visualize the map areas that are being edited by their peers across all branch versions.

Watch the plenary video below, and then read the rest of the blog for a summary of the processes that Daniel explored in his demo.

Frist, Daniel, as a GIS administrator, created a project in ArcGIS Pro that referenced the Naperville Foundation Utility Network service with the demo SOI extension enabled on it. The project also included a collaboration layer labeled Edit Areas.

ArcGIS Pro project referencing the Naperville Foundation Utility Network and has a demo SOI enabled on it.
Daniel's ArcGIS Pro project referenced the Naperville Foundation Utility Network and had the demo SOI enabled.

Next, he showed the workflows of two fictitious GIS users in his organization—Peter and Nancy—working on the same portion of the network but in different branch versions. Peter was designing an extension of the low voltage line to add more streetlights along the boulevard, and Nancy was integrating data gathered from a field inspection.

Nancy's and Peter's GIS workflows displayed side-by-side.
Nancy's project window is on the left and Peter's is on the right.

On Peter’s map, the areas highlighted in blue represent dirty areas, which are created automatically when users edit features that are part of a utility network. Dirty areas indicate potential changes to the network that have not yet been reflected in the network topology.

After making the required edits, Peter clicked the Validate command in the Network Topology group, which triggered the demo SOI to intercept the request made to the REST operation and invoke the processing of the dirty areas.

The SOI instantaneously populated the Edit Areas collaboration layer with a new edit area highlighted in yellow on Nancy’s and Peter’s maps. This lets Nancy know that another GIS user is making edits in the same area simultaneously.

Edit areas are highlighted in yellow on both Nancy’s and Peter’s maps.
Areas highlighted in yellow represent the edit areas.

The edit areas remained on both maps until Peter’s version was deleted. The demo SOI then intercepted a subsequent request to process the removal of the edit areas from the “Edit Areas” feature class.

Finally, Daniel highlighted the two Utility Network API interfaces that powered the demo SOI: the IBaseNetwork interface and the IDEBaseNetwork interface.

Two Utility Network API interfaces that powered the demo SOI are shown.
Daniel's SOI makes use of the IBaseNetwork interface and the IDEBaseNetwork interface. Note that the code is in .NET.

Try it for yourself

Daniel’s demo showed a glimpse of what can be achieved with the use of an SOI. Visit the ArcGIS Enterprise SDK page to learn more about creating SOIs that can facilitate your GIS work.

About the authors

Aawaj is a product engineer on the ArcGIS Enterprise team.

Daniel is a Product Engineer on the Utility Network team. Prior to joining Esri, he spent over 15 years in the electric distribution and telecom industries, working mainly in GIS.

Next Article

Step by Step: Chart Viewer in ArcGIS Instant Apps

Read this article