The ArcGIS Experience Builder update includes new widgets, new templates, and additional widget settings. Highlights are listed below.
- Accessibility—Four more widgets support accessibility features: Accordion, Bookmark, Search, and Swipe. This release also adds accessibility support for other specific widget settings. For the Button widget, the Link to page top setting and all of the Button click message actions support keyboard navigation. For the Filter widget, custom filters and the Horizontal and Icon arrangement styles support accessibility features. For the Text widget, you can now define heading levels. This release optimizes the code structure of the Views Navigation and Menu widget to improve their accessibility. In theme settings, you can change the color of the focus indicator that shows which interactive element of the app page has keyboard focus. By default, the focus indicator color is linked to the primary theme color. It is a different shade of that color. Changing the primary theme color also changes the focus indicator color. If you change the focus indicator color with its associated color picker, the two colors un-link, but you can click Reset to re-link them. It is recommended that you use any of the following full-screen templates to make accessible experiences: Billboard, Dart, Foldable, JewelryBox, Launchpad, Plateau, Pocket, and Tab.
- Actions—Adds three new data actions: Edit, Select, and Show pop-up. You can use the Edit data action to select a feature in another widget, open an Edit widget, and start editing the feature. The target Edit widget must be in a Widget Controller widget and must be connected to the same data source as the source widget. You can use the Select data action to select loaded records. You can use the Show pop-up data action to make the pop-up appear on the map for selected, loaded, or current records. Object identifier fields are now excluded from use with the Statistics data action. The Select widget and Feature Info widget load pop-up fields in data actions. If you run the Statistics data action with either widget, you can view statistics for fields used in pop-ups. A Table widget can now target itself with the View in table data action. This allows you to, for example, select some records and view them in a new sheet in the same table. Some message actions, including Zoom to, now prompt you to choose trigger data. Trigger data is the data that triggers the message action. It can either be all of the data connected to the source widget, or some specific data. If you use the Show on map data action to view features from another widget in a Map widget, the features that you add to the map also appear in layer lists. A Map widget now returns to its default extent after you unselect a feature in a List widget that is configured with the Zoom to or Pan to message actions. Additionally, widgets that you move to the pending list do not appear as available targets when you are adding a message action. If you move a widget to the pending list that is already the target of a message action, that message action is turned off only for the device modes where you moved the widget to the pending list.
- Builder—The advanced settings of the Button, Menu, Views Navigation, and Widget Controller widgets can now inherit style settings from the app theme. If any of the sections under Advanced are unavailable, it means the settings are synced to the theme. You can still customize any of the advanced settings. If you do, the Reset button appears next to each section that you customize. Click this button to return to the theme style. Additionally, when you duplicate a page, view, section, or window, widgets in the duplicate layout maintain the same relationships with each other and with the framework as the original widgets.
- Data sources—Experience Builder now supports subtype group layers. Additionally, Experience Builder now supports dynamic imagery layers without field information. For many widgets, the way you connect to a data source is unified and improved. The Edit widget, Feature Info widget, Map Layers widget, Search widget, Select widget, and Table widget now allow you to connect to individual data sources or interact with a Map widget. When you choose to interact with a Map widget, the interacting widget connects to the first map on the current page automatically and syncs with data from the map. In widget settings, if you switch between data views that come from the same data source, the widget retains all of its settings. You do not need to reconfigure anything. If you connect a widget, such as a Table widget or Select widget, to a Map widget with Interact with a Map widget mode and do not customize layers, any map layer fields that are used in pop-ups are considered used fields and appear in exports from those widgets.
- Export—You can open the new Export settings panel from the Data panel in the builder. All maps and scenes in the app and their supported layers appear in a Layers list. You can allow exporting and choose supported file formats for individual layers. You can also use batch options to turn on exporting and choose file formats for all layers.
- Express mode—Express mode is a new app editing mode that focuses on the most essential features. It is a simplified version of Experience Builder designed to allow you to efficiently make an app. You can choose from nine mapcentric templates. You can add widgets in specific places in each template, and each template is optimized for medium- and small-screen devices. If you start in express mode and then decide you want to access all of the Experience Builder app editing features, you can move an app from express mode to full mode. However, you cannot move an app from full mode to express mode.
- Images—You can upload WebP images.
- Layer selector component—You can search for layers by name and use the Batch options drop-down menu to apply options to all available layers. The Edit, Map Layers, Processing Templates, Select, Swipe, and Table widgets all use this component.
- Sharing—If you click More in the toolbar at the top of the builder, you can scan QR codes to open the draft and published versions of an app. This is useful if you want to quickly view an app on a mobile device. You can also download .png files of the QR codes.
- Style settings—In widget style settings, you can now style all sides of the widget panel border at the same time or style each of them separately. This enhancement also applies to widgets that have border settings in their Content settings (List, Card, Button, and Views Navigation).
- Templates—Adds the Poster window template, the Catalog and Edifice full-screen templates, the Prism and Vista multi-page templates, and four new scrolling page templates: Booth, FAQ, Recap, and Skyline.
- Updating—In the builder, widgets now update to the latest available version when you open at least one of their type of widget. Opening a widget means switching to the page or view that contains the widget. When you open a specific type of widget in the builder, all widgets of that type upgrade simultaneously. For example opening one Map widget updates all Map widgets in an app.
- URL parameters—Adds the zoom_to_selection parameter. To make all maps zoom to selected features, you can add zoom_to_selection=true to the app URL. To make all maps pan to selected features, you can add zoom to selection=false. The General tab on the left of the builder now includes a Zoom to selected features check box under Manage URL status. The check box appears if you turn on Data selection. Check the box to include the zoom_to_selection=true parameter in the app URL when the user selects a feature.
Widgets
Other improvements include the following new and updated widgets:
- Accordion widget (new)—The Accordion widget is a layout container that you can use to organize other widgets into a vertically stacked menu with expand and collapse buttons.
- Flow Row widget (new)—The Flow Row widget is a layout container that you can use to position content in a continuous row on a page. It is similar to the Row widget, except the area of the Row widget is divided into 12 discrete columns, while the Flow Row widget is continuous, similar to a scrolling page and the Column widget. When you remove a widget from a Flow Row widget, any remaining widgets shift to fill the remaining space.
- Oriented Imagery Viewer widget (new)—Interact with and visualize oriented imagery layers, which can contain imagery captured from any angle—including oblique, bubble, street-side, inspection, and 360-degree images—in a 2D map or 3D scene. Oriented imagery can be sourced from a variety of camera devices, including mobile cameras, drones, and terrestrial sensors.
- Processing Templates widget (new)—Apply raster function templates to their associated imagery layers. ArcGIS imagery layers can have associated processing templates, called raster function templates, which are reusable items that can contain one or more raster functions chained together. You can use this widget to change imagery layer display on the fly.
- Add Data widget—At run time, you can drag the corners of the Add data panel to resize it. You can now sort items by relevance to the search term. You can upload multiple files at the same time from local storage. You can upload up to 30 files at once. Additionally, you can choose to include the Rename button for each added data source in the widget panel.
- Analysis widget—Adds two new spatial analysis tools: Tabulate Area and Zonal Geometry as Table. Tabulate Area calculates the cross-tabulated areas between two datasets and reports results as a table. Zonal Geometry as Table calculates geometry measures for each zone in a dataset and reports results as a table. If a parameter is not required (Required: False), you can uncheck the Visible check box to remove the parameter from the widget. You can edit the names of custom geoprocessing tools that you add in the widget's settings. Geoprocessing tools can return various error, warning, and status messages, and you can now choose which kinds of messages you want a custom tool to give to users. The widget supports three new data types—GPArealUnit, GPMultiValue:GPArealUnit, and GPComposite—as input and output data for custom geoprocessing tools. The widget now supports map service layers as input layers and supports subtype group layers.
- Basemap Gallery widget—When you are importing basemaps, you can now sort basemaps by relevance to a search term, date modified, title, view count, or owner. For those last four categories, you can also choose a sort direction. Additionally, you can add basemaps by URL. The widget supports five types of basemap layers by URL: VectorTileLayer, ImageryLayer, ImageryTileLayer, TileLayer, and MapImageLayer. You can edit the attributes, including the label and thumbnail, of a basemap that you add by URL.
- Bookmark widget—You can hide bookmark names from bookmarks in the grid, gallery, and slides templates. If the template you choose supports bookmark names or descriptions, you can customize the font, style, color, and size. You can hide bookmark icons from the list template. The grid and gallery templates have enhanced arrangement settings. You can choose to honor bookmark sizing from the connected web map or web scene. The Bookmark widget automatically connects to the first Map widget in the current page and displays any bookmarks from that map by default. The settings for customizing a bookmark's title, description, and image are improved to make them more user friendly.
- Business Analyst widget—Adds more ways to calculate travel time buffers. You can create buffers based on driving time, rural driving time, and trucking time. For all three, you can choose a travel direction, either away from the facility or toward the facility. Additionally, you can include traffic in travel time calculations, based on either live traffic or typical traffic for a specific time and day of the week. You can set a time offset for traffic conditions. There is new documentation about adding a custom GeoEnrichment utility service by URL.
- Coordinates widget—You can use the new Use transform forward setting to specify whether you want to perform a datum transformation in the forward or reverse direction. You can enter a label for each coordinate system that you add. By default, the label is the coordinate system's name.
- Chart widget—You can now use a layer's symbology to color a chart. The bar and column charts now support time binning when you make the category field a date field. For line charts, if you use a number field as the category field, you can numerically parse the field as continuous or discrete on an axis. Parsing is the process of converting a string representation of a number into a numeric representation. You can turn off x- and y- axis labels. For series charts, you can hide any series that is empty, meaning it contains no data points, from the chart and legend. The widget now generates a default title based on your data. You can change this title in the widget's settings. You can now customize the label for an auxiliary guide by changing its color, style, and size. The Chart widget no longer supports using ID fields for statistics other than count. If you have an existing chart that does this, the chart may fail and you should reconfigure the widget. For applicable charts, you can define the amount of space in pixels between tick marks on the value axis. There are three new label behaviors—Default, Stagger, and Wrap—that you can use to make category axis labels easier to read. You can include counts of values and percentage labels in pie chart legends. You can enter a message to display when no data is selected or the chart is otherwise not displaying data.
- Classic Oriented Imagery widget (previously the Oriented Imagery widget)—With the addition of the Oriented Imagery Viewer widget in this update, this widget is now named the Classic Oriented Imagery widget.
- Directions widget—You can edit a route by clicking the map to add stops and barriers. Barriers allow you to define parts of a road network that cannot be traversed. The new Optimize order tool calculates the best route for your stops using optimized routing. You can choose a system of measurement for values displayed in the widget, either imperial or metric. By default, this is the system defined in your profile settings. You can add point layers as search sources. You can limit search results to only include places or features within the current map extent. Additionally, you can enter a country code to limit search results to that country. You can choose to have route layers created by the Directions widget appear in layer lists, such as the Map Layers widget and the Map widget Layers tool.
- Draw widget—Adds a text drawing tool for writing text on a map. The tool includes common text formatting options that allow you to customize the font, font size, color, outline width, outline color, opacity, background color, and background opacity. You can now include drawn features as a layer in layer lists, such as the Map Layers widget and the Map widget Layers tool. If you turn on tooltips in the widget settings, users can press Tab to type values in the tooltips that appear while drawing features. Users can press Enter to set input values. Users can also press Tab to navigate between input fields. Additionally, the Draw widget now supports snapping settings. In the widget settings, you can use Flexible mode to allow users to change snapping settings at run time, or use Prescriptive mode to make the snapping settings you configure unchangeable by users at run time. In Flexible mode, you can turn on a grid that overlays on the map. Users can snap drawings to the grid. The widget also adds two new measurement units for length—nautical miles and yards—and one new unit for area—square yards.
- Edit widget—You can connect individual data sources or interact with a Map widget. If you connect the Edit widget to a Map widget, all layers from the Map widget are automatically synced to the Edit widget. If you only want to connect specific map layers to the widget, you can open the Select layers panel and turn on Customize layers. You can have the Enable tooltips option be turned on by default when the widget first loads. You can show vertices for selected line and polygon features. Users can drag, add, and delete vertices. The Edit features and Create features sections now only appear in the widget panel at run time if you turn on the relevant editing capabilities in the widget's settings. In Flexible mode, you can turn on a grid that overlays on the map. Users can snap features to the grid. If you attempt to do something that would discard any edits without saving them, such as change your selection, the widget warns you that you have unsaved edits that could be lost and prompts you to either confirm or cancel.
- Elevation Profile widget—You can generate an elevation profile from multiple elevation layers. You can select lines from layers added at run time with the Add Data widget and use them to generate an elevation profile. Highlight next selectable is a new setting under Selectable Layers. You can choose whether to highlight connected line segments that can be selected next. You can allow the user to select one or multiple line segments at a time to generate an elevation profile. The widget now uses the Map widget highlight color to highlight features on the map. Selecting features with the Elevation Profile widget now also selects them at the data source level.
- Embed widget—The widget can autoplay a YouTube video if you include the autoplay parameter in a URL or HTML iframe. For a YouTube video to autoplay, your browser site settings must allow sound. If you display text in the Embed widget with HTML, you can apply the app theme font to the text.
- Feature Info widget—The new Show index setting allows you to show the total number of features in a layer. You can add a Clear selection button to the widget panel.
- Filter widget—If you want users to create their own filter clauses at run time, you can add custom filters in the widget's settings. When you add a custom filter, you choose the data, and at run time the user can add clauses and clause sets using an expression builder. You can add a Turn off all filters button to the widget panel. This update removes the limitation that caused the operators is in the last, is not in the last, is in the next, and is not in the next to only work with ArcGIS Online hosted feature services.
- Grid widget—The buttons in the widget toolbar for adding new grid items, formerly named Split horizontally and Split vertically, are now named Insert after and Insert below. Additionally, you can choose a grid item to appear first when the app is viewed on a small-screen device.
- List widget—Adds a new category for list templates: Flow. In these templates, list items are scroll vertically and behave like Flow Row widgets. When you remove a widget from one of these templates, any remaining widgets shift to fill the remaining space.
- Map widget—You can make pop-ups appear at the Default docked position or switch to Custom and choose one of six anchor points within the frame of the Map widget. The default position is the top right corner of the map on large- and medium-screen devices and the bottom of the map on small-screen devices. The zoom_to_selection URL parameter now supports all three selection types: selections based on recordID (id), selection based on features' locations relative to other features (geometry), and selections based on attributes (where). If you configure another widget to target the Map widget with the Record selection changes trigger and the Zoom to or Pan to action, you can now turn on Return to the initial map extent when selection is cleared. If you do, the map automatically zooms or pans back to its initial extent once you remove the selection. If you use the Show on map message or data action to view features from another widget in a Map widget, the features that you add to the map also appear in layer lists, and you can use the new Set as operational layers setting to enable pop-ups for those layers. Some message actions, including Zoom to and Pan to, now prompt you to choose trigger data. Trigger data is the data that triggers the message action. It can either be all of the data connected to the source widget, or some specific data. When you configure the Record selection changes trigger with the Flash or Filter actions, you can use the new Automatic setting to make the widget flash or filter if the data from the source widget is in the Map widget. To save space, the settings in the Map widget's settings panel are collapsed by default. For 2D maps, you can limit the scale range that users can zoom to. Zoom levels can range from building rooms to the entire globe. One the scale range bar, an indicator shows the scale of the current map view. You can drag the minimum and maximum scales to change the range. You can also click the two drop-down menus to choose scales or enter specific scale values. The map bar or bars show the level of detail of the basemaps in the connected maps. If the minimum and maximum scale values are both outside of the level of detail range, a warning appears. Additionally, when you add a Zoom to message action and choose Automatic for the Zoom scale, the widget has an improved ability to zooms to appropriate scales. Specifically, when you configure the Zoom to message action with the Search widget and use a locator source, the locator source generates extent data when you search for an address of place, and Experience Builder now uses that extent data to zoom to an appropriate scale.
- Map Layers widget—You can turn pop-ups on or off for each layer. When pop-ups are turned on for a layer, they appear when you click a feature in that layer. You can choose to expand all group layers by default when the widget first loads. The new Visibility range tool lets you specify the zoom levels at which layers appear. You can include a Tables section in the widget that lists any tables from the connected map or scene. You can add a button at the top of the widget panel that opens a drop-down menu for applying batch options to all layers in the widget. You can add a tool for change the transparency of layers with a slider. You can choose to display layers added run time, with widgets such as the Add Data widget, in the layer list.
- Menu widget—You can enter a border radius for the widget background in pixels or percent.
- My Location widget—Now out of beta. Layer visibility settings are synced between the My Location widget and the Swipe, Map Layers, and Map widgets. If you hide a layer in one widget, it is also hidden for the other widgets. You can show the Locations and Paths layers created by the My Location widget in the layer lists of other widgets, such as the Map Layers widget and the Map widget Layers tool.
- Near Me widget—If a data source has related data and you configure related records in pop-ups in Map Viewer, you can view related records in the Near Me widget. You can include polygons that intersect with an input location in results. You can choose to include features from layers that have their visibility turned off in an analysis results. A loading button now appears while an analysis is running. Users can click this button to cancel an analysis if it is taking too long. You can export to PDF. If you do not need advanced reporting capabilities, you want better performance, and you do not need to customize the print layout, exporting to PDF with the Export data action is the easiest way to generate a report. Additionally, you can save the input location of an analysis as a feature layer and save a search area as a polygon layer. Additionally, the widget supports five more data actions—Zoom to, Pan to, Show on map, Set location, and Plan route.
- Print widget—Supports dynamic elements in layouts from custom print services. You can have dynamic text and dynamic tables in a print layout. If there are any dynamic elements in a layout, you can click Select data to connect each element to a data source.
- Query widget—You can allow users to run spatial filters with runtime data, such as layers added with the Add Data widget.
- Search widget—You can add individual search sources or interact with a Map widget. If you connect to a Map widget, by default the Search widget uses any layer and locators that are already configured as map search sources. If you want to change the search sources, you can turn on Customize search sources and select available sources from the list that appears, or add new sources by clicking New search source. Additionally, in the Select data panel, you can click a web map or service to add all of its layers as search sources at the same time. You can automatically select the first result when the user performs a search without having to turn on the result panel. If you are using the ArcGIS World Geocoding Service, you can enter a country code to narrow search results to that country. When there are multiple search sources, you choose to include the drop-down menu that allows users to turn individual sources on and off. When you choose Interact with a Map widget, you can limit search results to only include places within the current map extent. You can also allow users to perform local searches. Local searches prioritize results that are near the current map center. You can set a minimum scale at which to apply local search.
- Select widget—You can connect the widget individual data sources or interact with a Map widget. If you connect to a Map widget, all visible layers in the connected maps or scenes are automatically synced to the Select widget. You can turn on Customize layers to choose specific layers to make selectable.
- Sidebar widget—When you configure the Open sidebar message action with the Record selection changes trigger, you are prompted to choose trigger data. Trigger data is the data that triggers the message action. It can either be all of the data connected to the source widget, or some specific data. Additionally, you can set the size of the sidebar based on percent of the widget panel.
- Table widget—You can connect individual layers or interact with a Map widget. If you connect to a Map widget, any web maps or web scenes in the Map widget appear in a list in the Table widget's settings. Optionally, you can choose which layers from these maps and scenes to include in the table. Additionally, the Table widget can target itself with the View in table data action. This is useful if you want to, for example, select some records and view them in a new sheet in the same table. The new Filter by map extent tool allows you to filter the table based on the current map extent. You can include an Attachments column at the end of each sheet in a table. If a feature has any attachments, you can view them from the Table widget. If a layer supports attachments and editing, and if the user has editing privileges, the user can add, update, and delete attachments.
- Text widget—You can insert images into a Text widget. You can upload files from local storage or by providing a URL. The Text widget supports https and base64 URLs. You can upload files in PNG, GIF, JPG, JPEG, BMP and WebP formats. There are three options for aligning images with text: You can place images in line with text, wrap text around images, or have text appear above and below images. You can set links on images and provide alternative text for assistive technology, such as screen readers. You can apply heading and paragraph formatting to text. You can apply six different heading levels. When you select the entire text box, text font color now also applies to bullets and numbering in lists.
- Timeline widget—You can connect individual data sources or interact with a Map widget. If you connect to a Map widget, the Timeline widget automatically syncs any time-aware data from the Map widget. There is a new method for visualizing data, Show current features. With this option, the widget only shows data at one particular point in time. The timeline will have a point that modes along the slider. Additionally, you can now choose to have the Timeline filtering applied option be turned on or off by default when the widget first loads at run time. You can set a level of display accuracy for the widget, ranging from years to seconds.
- Views Navigation widget—You can enter a border radius for the widget background in pixels or percent.
- Widget Controller widget—You can align widgets in the controller. Note that you will only notice a difference between alignments if the width or height of the controller is greater than the total length of the widgets. If there are too many widgets to fit in the length of the controller, you can now add arrows for navigating through all the widgets or add a button labeled More widgets to the end of the controller. When the user clicks this button, a window appears listing the remaining widgets. When you configure the Open widget message action, you are now prompted to choose trigger data. Trigger data is the data that triggers the message action. It can either be all of the data connected to the source widget, or some specific data. Additionally, the widget toolbar now includes the Manage widgets button. You can click this button to view a list of all the widgets in the controller. You can reorder widgets, remove them, or place them in a group. You create a group by in the controller by dragging a widget on top of another widget in the Manage widgets panel. Groups are simply Accordion widgets. They are useful because they allow you to place multiple widgets in one panel in the controller. A group has all the same settings as an Accordion widget, the only difference is that it is named a Group in the page outline. When you click a group in the controller, widgets in the group appear in a vertically stacked menu with expand and collapse buttons.