Configure a multiuser environment

To use a utility network in a multiuser environment, it must be published to an enterprise geodatabase. The following steps detail how to publish to an enterprise geodatabase to use a multiuser environment.

Set up an enterprise database

The following sections describe how to create an enterprise geodatabase, add a database user who will own the utility network classes, and create the database connection files.

Sign in to ArcGIS Enterprise

The active portal account will become the utility network owner. If you have not added your portal connection to ArcGIS Pro, use the steps in the Use ArcGIS Pro with ArcGIS Enterprise help topic to sign in.

Create an enterprise geodatabase

Use the Create Enterprise Database tool to create an enterprise geodatabase to contain your utility network.

  1. In the Geoprocessing pane, expand Toolboxes, expand the Data Management Tools toolbox, and expand the Geodatabase Administration toolset. Click the Create Enterprise Geodatabase tool.
  2. In the tool, set the following parameters:
    1. For Database Platform, select the database platform you will be using.
    2. For Instance, enter the instance connection information.
    3. For Database, specify a name of the database that will be created.
    4. For Username and Password, enter the credentials of a user who has privileges to create a database, or select Operating System Authentication if your Windows account has the appropriate permissions.
    5. For Authorization File, select the appropriate authorization file.
  3. Click Run.

Create an admin database connection

Use the Create Database Connection tool to create a database connection to the enterprise geodatabase using the admin user. This connection is used to add a database user who will own the utility network.

  1. In the Geoprocessing pane, expand Toolboxes, expand the Data Management Tools toolbox, and expand the Workspace toolset. Click the Create Database Connection tool.
  2. In the tool, set the following parameters:
    1. For Connection File Location, select a location to store the connection file. It is recommended that you use the project home folder.
    2. For Connection File Name, specify a name for the connection file. It is recommended that you use a format such as user@databasename.
    3. For Database Platform, select the database platform that is being used.
    4. For Instance/Server, enter the database connection information.
    5. For Username and Password, enter the credentials of the user that was used to create the enterprise database, and uncheck Database Authentication if using operating system authentication.
    6. For Database, select the database you created in the Create an enterprise geodatabase section above.
      Note:

      The Database parameter will populate the drop-down menu with databases that the user has access to after a valid username and password combination is entered.

    7. Expand Geodatabase Connection Properties. For Version Type, select Branch.
  3. Click Run.

Create a database user

Use the Create Database User tool to create a user in the database. This user will be the database utility network owner.

  1. In the Geoprocessing pane, expand Toolboxes, expand the Data Management Tools toolbox, and expand the Geodatabase Administration toolset. Click the Create Database User tool.
  2. In the tool, set the following parameters:
    1. For Input Database Connection, select the admin database connection file created in the previous section.
      Note:

      When navigating to select the created connection file, the view may need to be refreshed. This can be done by right-clicking a blank area on the file selection dialog box and selecting Refresh or pressing F5.

    2. For Database User and Database User Password, enter the username and password of the user who will own the utility network.
    3. For Role, the parameter can be left blank, as a role is not required.
  3. Click Run.

Create a utility network owner database connection

Use the Create Database Connection tool to create a database connection to the enterprise geodatabase using the user created in the previous section. This connection will be used to migrate your utility network from a local geodatabase to the enterprise geodatabase.

  1. In the Geoprocessing pane, expand Toolboxes, expand the Data Management Tools toolbox, and expand the Workspace toolset. Click the Create Database Connection tool.
  2. In the tool, set the following parameters:
    1. For Connection File Location, select a location to store the connection file. It is recommended that you use the project home folder.
    2. For Connection File Name, specify a name for the connection file. It is recommended that you use a format such as user@databasename.
    3. For Database Platform, select the database platform that is being used.
    4. For Instance/Server, enter the database connection information.
    5. For Username and Password, enter the credentials that were generated for the utility network owner in the previous section.
    6. Check Save username and password, to save the credentials to the connection file.
    7. For Database, select the database you created in the Create an enterprise geodatabase section above.
      Note:

      The Database parameter will populate the drop-down menu with databases that the user has access to after a valid username and password combination is entered.

    8. Expand Geodatabase Connection Properties. For Version Type, select Branch.
  3. Click Run.

Set the portal utility network owner

Before creating a utility network, an active ArcGIS Enterprise portal must be added to the project with a portal account signed in that has privileges to publish content; this includes privileges to publish server-based layers as well as create, update, and delete content. The default publisher role includes these privileges. The active ArcGIS Enterprise portal account will be recorded in the network properties as the portal utility network owner.

  1. Click the Project tab on the ribbon and click the Portals page.
    Note:
    You can also access the Portals page from the Manage Portals link in the Sign In menu.
  2. Right-click the URL and click Sign in. Enter the username and password of the user.
    Note:
    The user that you sign in as will be the portal utility network owner.
  3. Right-click the portal you just signed in to and select Set as Active Portal.

Copy the utility network and data

This section walks you through copying the utility network from a local geodatabase to an enterprise geodatabase.

Copy from a local geodatabase to an enterprise geodatabase

In the Configure a utility network environment topic, you created a single-user geodatabase that contains your utility network. In the following steps, you will use that geodatabase to load your utility network into the enterprise geodatabase that was prepared in previous steps.

  1. In a Catalog window, browse to the utility network geodatabase that was created in the single-user configuration topic.
  2. Right-click the feature dataset that contains your utility network and select Copy.
  3. In the same Catalog window, browse to the utility network owner connection file created in the previous section. Right-click the connection file and select Paste. All of your utility network feature classes will be copied to the enterprise geodatabase.

Post process

This section walks you through the post processing steps that are required prior to publishing the utility network feature service.

Note:

Closing maps improves performance. During geoprocessing, ArcGIS Pro will lock layers in the maps. For optimal performance, close all open maps, save your project, and restart ArcGIS Pro. The project will load without active maps. This will eliminate the need to lock layers when running the tools.

Set the versioning type

In previous steps, a database connection file was created for an admin user and a utility network owner user, and it was set to branch versioning. Ensure the database connection has Versioning Type set to Branch. If it does not, use the Update Geodatabase Connection Properties To Branch tool to update the versioning type.

  1. In the Geoprocessing pane, expand Toolboxes, expand the Data Management Tools toolbox, and expand the Workspace toolset. Click the Update Geodatabase Connection Properties To Branch tool.
  2. In the tool, set the following parameters:
    1. For Input Geodatabase Connection, select the connection file to update.
  3. Click Run.

Note:
Alternatively, use the Catalog Pane or Catalog View, right-click the connection file and use the Geodatabase Connection Properties dialog box for the database connection to update Versioning Type to Branch.

Register as versioned

To support the Web GIS model, allowing multiuser editing scenarios and long transactions through feature services, the classes need to be registered as branch versioned. You can use the Register As Versioned tool to register your data as versioned.

  1. In the Geoprocessing pane, expand Toolboxes, expand the Data Management Tools toolbox, and expand the Versions toolset. Click the Register As Versioned tool.
  2. In the tool, set the following parameters:
    1. For Input Dataset, select the feature dataset that contains the utility network.
      Note:

      Ensure that you use the utility network owner connection file to select the feature dataset.

  3. Click Run.

Note:
Alternatively, use the Catalog Pane or Catalog View, browse to the utility network owner connection file and right-click the feature dataset or feature class and select Manage. On the Manage dialog box, check the box next to Versioning and select Branch.

Enable replica tracking

Enabling replica tracking on your dataset allows your data to work with offline maps that have branch versioned data, with the option of creating a version for each downloaded map. You can use the Enable Replica Tracking tool to register your data as versioned.

  1. In the Geoprocessing pane, expand Toolboxes, expand the Data Management Tools toolbox, and expand the Distributed Geodatabase toolset. Click the Enable Replica Tracking tool.
  2. In the tool, set the following parameters:
    1. For Input Dataset, select the feature dataset that contains the utility network.
      Note:

      Ensure that you use the utility network owner connection file to select the feature dataset.

  3. Click Run.
  4. Repeat this process for each of the nonspatial tables located at the root of the database (WaterEdgeObject, WaterJunctionObject, StructureEdgeObject, and StructureJunctionObject).
  5. Repeat this process for each of the validation error tables (GDB_ValidationLineErrors, GDB_ValidationObjectErrors, GDB_ValidationPointErrors, and GDB_ValidationPolygonErrors).
    Note:

    Validation error tables will only exist if your database contains batch validation rules. If your database does not contain these rules, you can skip this step.

Build a publishing map

To publish an enterprise geodatabase, you need to create a publishing map. The following section walks you through how to design and create that map.

Create a map

To create a map, complete the following steps:

  1. In ArcGIS Pro, navigate to the Insert ribbon.
  2. Select New Map.
  3. In the Contents pane, right-click the map and go to properties.
  4. On the General tab, update the Name field.
  5. Click OK.

Add all required classes for the service capabilities

To enable the utility network and validation capabilities on your feature service, you need to include all classes controlled by the utility network to the map. Additionally, the error classes must also be added as well. Complete the following steps to add these layers:

Note:

To ensure optimal performance of your feature service, it is recommended to include all classes in a Feature Dataset if one class is already included in the map. This also includes any items related to those classes.

  1. In the Catalog pane, browse to the utility network owner connection file.
  2. Locate the utility network controller dataset and add it to the map.
    Note:

    The first feature class that is added will determine the coordinate system of the entire map. If you want to change the coordinate system, it can be done through the properties of the map.

  3. Select Yes when asked if you would like to add all classes that participate. By selecting Yes, it will add any feature classes that participate in the utility network topology and don't already exist in the map.
  4. Locate the error feature classes and tables and add them to the map.
  5. Locate the ServiceTerritory feature class and add it to the map.
    Note:

    It is recommended to include the ServiceTerritory feature class as a best practice, although it is optional.

Apply symbology

Set the symbology for your newly added feature classes. There is no specific symbology that is required, and it can be adjusted to fit the needs of your organization. For your convenience, there is a publishing style file that is included with the solution. This style file contains web-friendly suggested symbology.

Service layer IDs

By default, each layer you share is automatically assigned an ID based on its drawing order in the Contents pane, beginning with 0 for the first layer. If you share selected layers from your map, the IDs are based on the sequence of the selected layers, including any group layers they are contained within. As layers are added, removed, or reordered, their IDs change accordingly. Service sublayer IDs can potentially change when the web layer or service is overwritten, causing disconnects in web applications that reference the service sublayer. Manually assigning IDs to layers in your map can help you avoid having to update service sublayer references in web applications should your map contents change. Follow the steps below to manually assign IDs.

  1. In the Contents pane, right-click your map and select Properties.
  2. Check Allow assignment of unique numeric IDs for sharing web layer.
  3. Click OK.
  4. In the Contents pane, navigate to the first layer that will be published, right-click and select Properties.
  5. Under the General section, enter a numeric value in the Layer ID box and click OK.
    Note:

    Ensure that all layer IDs are unique and that the values never change once set. If these values change when attempting to republish, web services may fail to update properly.

  6. Repeat assigning a unique ID for each layer that will be published.

Publish services

This section walks you through the steps to publish the services that support the utility network solution.

Prepare to publish

To publish a service that supports the utility network, the connected ArcGIS Enterprise portal account must be the portal utility network owner. Ensure that active portal connection is set to active and it is using the portal utility network owner account.

Publish a utility network feature service

The publishing map created in the previous steps is designed to be published to ArcGIS Enterprise and provides the definition of a feature service to support a multiuser editing environment.

Note:

For more information about publishing services see the data and publishing in ArcGIS Enterprise help topic.

  1. Select all layers in your map and right-click. Select Sharing / Share as Web Layer.
  2. On the Share As Web Layer dialog box, set the following settings under the General tab:
    1. For Name, provide the name of the service to be published.
    2. For Summary, provide a short summary about the service that is being published.
    3. For Tags, provide any tags that will help identify the published service.
    4. For Data and Layer Type, select Map Image which is under Reference registered data, and check Feature.
    5. For Location, select or type a name for the folder where the service will be stored in Portal and ArcGIS Server.
  3. On the Share As Web Layer dialog box, set the following settings under the Configuration tab.
    1. Check Version Management.
      Note:

      If you do not see Version Management, ensure your data is registered as versioned and the connection that was used to build your publishing map was using branch versioning.

    2. Check Validation.
    3. Click the edit button next to Feature to configure the properties.
    4. On the Feature Properties dialog box, for Operations, select Enable Sync. Also select Create a version for each downloaded map in the now visible Sync section under Version Creation, if you want to allow offline access.
    5. On the Feature Properties dialog box, in the Properties section, in addition to the defaults, select Apply default to features with z-values and Allow geometry updates without m-value.
    6. Click the Configure Parameters button, expand the Advanced options and set Max number of coded domains to 1,000,000.
    7. Click the Configure Pooling button and verify the Instance Type is set to Dedicated instance.
  4. Click Analyze.
  5. Review the errors and warnings.
    Note:
    If you receive the error Layer data source must be registered with the server, it requires you to expand the error and right-click one of the layers and select Register Data Source With Service. This only has to be done on one layer.
    Note:
    Warnings about feature templates not set are to be expected; you can ignore these warnings.
  6. Click Analyze again after resolving any issues.
  7. Click Publish.

Adjust the editor map

The editor map that was built in the Configure a utility network environment topic will need to be adjusted to use the newly created Portal feature service. This section walks you through how to make those adjustments.

Update data sources

Use the Update Data Sources tool in the Utility Data Management Support toolbox to update the layer's data source.

  1. In the Geoprocessing pane, expand the Project toolbox section, expand the Utility Data Management Support toolbox, and expand the Map toolset. Double-click the Update Data Sources tool.
  2. In the tool, set the following parameters:
    1. For Target Workspace, select the published feature service created in the previous section.
      Note:

      You will need to use a Catalog pane or Catalog view to drag the published feature service onto the Target Workspace parameter. Feature services are not currently supported on the browse dialog box of this tool.

    2. For Maps, check the check box next to the name of your editing map.
    3. Check Update Map Spatial Reference if you want to update the map's spatial reference. Otherwise, leave it unchecked.
  3. Click Run.
  4. Review any warnings and manually correct the layers using their properties page.

Add error layers

If the model includes Validation Rules, you need to add the error layers to the editor map.

  • In the editor map, right-click the Service Territory layer and select Add Error Layers, if enabled.