When working in an enterprise geodatabase, domains have ownership associated with them. Similar to feature classes and tables, they are owned by the user that is connected when they are created. While any user can create or assign domains to their own datasets, only the owner of a domain can edit the domain properties. This means that only the owner can modify properties of the domain and perform operations like adding new value and descriptions for coded value domains.
In a hierarchal organization where data is spread across multiple departments, often times, when employees leave, or departments are restructured the dataflow is disturbed. In this situation if the domain owner leaves the department or organization, it is necessary to transfer ownership of the domain to another user in the geodatabase.
In the past, this workflow involved deleting the domain and recreating as the new user. This also required that the domain had to be unassigned from any dataset that was using it prior to being deleted. This was a very involved process for the data owners and administrators of the geodatabase.
New at ArcGIS Pro 3.0
With the ArcGIS Pro 3.0 release, users can now transfer the ownership of enterprise geodatabase domains without having to delete and recreate the domain as the new user. This can be done as the current domain owner or the geodatabase administrator by using the Alter Domain geoprocessing tool or directly in the Domains view by editing the Owner column for the domain.
- A new parameter was added to the Alter Domain geoprocessing tool. The “New Domain Owner” takes the name of the database user that the domain ownership will be transferred to.
- Directly in the Domains view
The Owner column can be edited by double-clicking the owner value you want to change the ownership of and typing the new owner database username.
UNESCO user case
Let’s walk through a scenario where the UNESCO protected sites in western Europe use the ability to transfer domains between different members of their organization.
Below, is a diagram showing how the UNESCO organization is structured. The GIS department, with two main resources of a Geodatabase Administrator and a Data Owner. The Geodatabase Administrator, whose main task is to manage the geodatabase and the Data Owner, who is responsible for loading and managing the data within the geodatabase.
The second department is the Data Standards department, that is developing guidance for how to describe and store data across the entire organization. The head of the department, Hugo, ensures the data managed by the GIS Department is following the standards in place, by applying the attribute domains created and managed by Hugo.
However, as Hugo is about to leave the department, Tim, the new data strategist, is going to take his place. As part of the role transition, Hugo will change domain ownership of his domains to Tim.
Assess the domains owned by Hugo
The first step is to survey and review the domains owned by Hugo. This can be done by opening the Domains view from a connection established by Hugo.
In the Domains view for the geodatabase, we can easily see that Hugo owns four attribute domains, but in a production geodatabase it may be necessary to use the Filter Text box to help filter only domains owned by a specific user.
When Hugo tries to change the new owner username, he gets an error message. Although he is the domain owner, because the attribute domain is assigned to a dataset, he doesn’t have access to, the operation fails.
This is a common situation when a database user creates and manages the attribute domains but does not have access to all datasets in the geodatabase that the domain is assigned to.
In order for Hugo to determine if he has access to all the datasets the domain is used in, he will use the Domain Usage pane. To access this, he will right-click on the Site Category domain in the Domains view and select Domain Usage. This opens the Domain Usage pane that displays the datasets that the domain is used in.
Hugo receives a banner in the Domain Usage pane that says ‘Partial domain usage results’. This is because Hugo doesn’t have permission to the datasets the domain is assigned to.
To transfer domain ownership, Hugo has two options:
- He can ask for data access to the datasets his domains are assigned to and then try the operation again.
- He can ask the geodatabase administrator to change the ownership for him.
Because he will be leaving the organization and following the principle of least privilege, he will ask the geodatabase administrator to perform this task.
For this workflow, we will be using the Domains view accessed from the SDE user connection.
The geodatabase administration, in this case, the SDE user, performs the same task successfully because they have permission to the datasets.
When Hugo opens the Domains view, the new owner is Tim and he doesn’t have access to the domains anymore, as the domain entries are greyed out.
When changes in the organization occur, it is better to plan and address them ahead of time. In this case, Hugo was preparing to depart his role and wanted to transfer ownership of his domain. Although GIS users would still be able to continue assigning these domains to their datasets, there will not be a dedicated user to manage the domains. To avoid having the geodatabase administrator manage the attribute domains (tasks outside of his area) and maintain a clear role structure within the organization, Tim was selected as the new domain owner.
To perform this task, we now have the option of using the Alter Domain tool or the Domains view to transfer the ownership of domains to another geodatabase user. You should always check the domain usage for the domain in the geodatabase as the owner to see if they have access to all the datasets the domain is assigned to. To learn more about how to do this using the Domain Usage pane, see Identify domain usage. It may be necessary to grant access to datasets prior to being able to successfully modify the domain owner. If granting permissions on the datasets to the current domain owner is not an option, the geodatabase administrator can be used to alter the domain owner. Keep in mind that the geodatabase administrator will also need access to the dataset the domain is assigned, in order to change ownership.
We hope that this new capability allows your organization to handle shifts in responsibility easier in regard to transferring domain ownership in your enterprise geodatabase.
- Data available on the Unesco site
- Esri Community Idea – Add Change Domain Owner tool
- ArcGIS Pro help doc- Identify domain usage
- Blog article: Discover domain usage in your geodatabase