The pivot role of ArcGIS Pro in collaboration with ArcGIS online is getting stuff ready almost instantly. When all the elements are sorted, the layer can be shared with the web-based platform with one click. It applies to all the generic layers and the setup made before it, allowing relevant files to migrate. The task is pretty straightforward since only styling and attribute tables are considered. However, if we plan to utilize this layer in the broader sense, for example, by filling out the questionnaire on-site, we should consider advanced preparation. Besides sharing the layer with all its equipment, the question form should also be prepared. This stage will prevent us from creating questions whenever we are later in the Field Maps Designer app by doing it once and for all. This text will run you through all the steps to consider upon successfully preparing the Field Maps Designer questionnaire.
1. You probably prepared the Excel file, including the fields you want to add to the existing attribute table layer in ArcGIS Pro. They include the field alias in the left column and the field alias in the right column. This file isn’t necessary if you manually input all these fields. However, having it in case the ArcGIS Pro attribute table is lost is good. When deciding to append these fields automatically, this example of a .csv file can be appended in the attribute table unless you don’t have the columns fit in.

I don’t need the column headers because I currently show the manual input. The automated one is presented in the video below. You need to ensure that column A corresponds to the alias—the string that will represent/formulate the question and the name of the field that this question will reflect from the code perspective.
When opening your layer’s attribute table in ArcGIS Pro, you will see a list of horizontally placed fields corresponding to specific inputs. To add new fields in the Contents section, we must right-click on our layer -> Data Design -> Fields (Pic. 2).

A very similar way is to open the attribute table of our layer, where instead of Data Design, you click Attribute Table. When the Fields section is selected, a separate input is opened next to the attribute table. Unlike this one, where we can click to add a new row with value, here, analogically, we can add the field (Pic. 3).

2. Adding a field manually lets you control all the features you want to implement with the new field. The numbers highlight these features. Click the box (1) to add a new field. Then, a new row opens, where you can input the new field details. The Field Name and Alias (2) are the most representative, as they display what the question is for and how it’s defined from a coding perspective. These two inputs are enough to classify the new field as correct (3), shown by the greenish box on the very left. It is essential to specify the correct data type. The Text (4) will be used in all the cases brought to this example. Moreover, the text type requires a length definition, which has 255 characters by default but can be expanded (5).
The last but most important factor regarding input types is the domain definition (6), which we will discuss in our next point.
Remember to save these fields. You can do this by clicking the Save signature button in the top bar (Pic. 4) or closing the tab.

3. Now, you must prepare the domains for your new fields. For this purpose, you can use the analogic .csv files, as discussed above and in this text, to autoload field values to Field Maps Designer. The columns must have headers specified (Pic. 5).

Next, this set of values must be loaded to ArcGIS Pro. There are two ways of doing it, whichever is more comfortable for you. The first method is nothing else like dragging this .csv file into the Contents panel of ArcGIS Pro, which finally falls under the Standalone table (Pic. 6).

Another option is to load this file from the tool, which extracts the domain content from the .csv table. This is the Table to Domain tool and can be found at the Top bar -> Analysis -> Tools -> Table To Domain (2) after starting typing in the search box as shown below (1) (Pic. 7).

The image above displays these two ways of loading the .csv table into the algorithm. Whichever you are comfortable with, it can be done by pulling the existing Standalone table (3A) or loading the .csv file externally (3B). Both options are correct. When the input table is selected, you must cater to other necessary options, which are indeed marked by the red asterisk. An example of how they should be filled in is shown below (Pic. 8).

As specified in the Input Table (A), the tool automatically recognizes the column headers discussed earlier (Pic. 5), which must be assigned to the correct section. You would know best which column falls under the Code Field (B) and which for the Description Field (C). Considering my example, it is the Code and Alias accordingly. The most important is the Input Workspace (D), which determines the database in which the given domain will be stored. I would preferably use the database appropriate for your project. Sometimes, this window comes out with nothing. Then, you would need to refresh it. Ensure your selection is from the Databases folder, not the project database file. The Domain Name (E) is called your Code Field by default, but it’s highly advisable to change it. The Domain Description (F) takes the name of your Description Field, although in this case, it’s not as important as its name, so that you can leave it. The Update Option (G) allows you to Append or Replace the values. The second one can be used when the domain exists, but we changed its overall content. Look also at the gear icons (H), where you can determine how your values would be ordered. Once you are okay with everything, click the “Run” button.

4. The domain should appear in the domain list, which can be opened from the Domain field. This list contains all the domains assigned to the given database. Therefore, keeping them tidy is vital, especially if you have several different fields. I suggest you add some capital prefixes, which will help you order them later, at least alphabetically. Because one value corresponds to the individual domain, you must repeat this process for other questions (.csv files). Using the Table To Domain tool again will update you with the last input. Apart from loading the new .csv file, you must update the domain name (Pic. 10).

Assuming you have completed all the domains and assigned them to your values, the final Fields should look like the ones below (Pic. 11).

You might realize that something has been forgotten and the input isn’t good enough. Domains can always be edited in the Domains section. You can access it by going to Main Bar -> Data -> Domains. Then, you will see the list of domains, where both Domain Name and Description are editable, the same as Split Policy and Merge Policy. Unfortunately, you cannot change the field type, which must be considered before creating the new field. You can add/delete the domain input if you realize something isn’t right enough (Pic. 12).

Adding new inputs to your domain is the same as adding a new field. You need to click in the box at the bottom (A) and add the Code value and its Description.
5. Finally, you can share the layer in ArcGIS Online. After setting it up on your map, you can enter the Field Maps Designer and check your inputs (Pic. 13).

When clicking on the question (field) we’ve edited, you can see that the list of values has been loaded correctly. Some default settings, like the Include “No value” option, might be awkward. The Logic settings must also be specified. As discussed earlier, the field type can’t be changed here, nor can the Field name.

When entering the Edit list, you can see all the content specified within the domain created in ArcGIS Pro. This list is editable so that you can drag, remove, or add new queries as usual in Field Maps Designer.
Mariusz Krukar
Links:
- https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/create-domain.htm
- https://pro.arcgis.com/en/pro-app/latest/help/data/geodatabases/overview/create-modify-and-delete-domains.htm
Youtube: