What's new 1.14

Builder updates

ArcGIS Experience Builder 1.14 includes several new features and enhancements as listed below:

  • Data actions—Adds two new data actions—Statistics and Add to table. Statistics allows you to generate statistics such as count, sum, average, and standard deviation for records. Add to table is a new data source level data action, meaning it you can use it to send all records in an entire data source from another widget to a table. The similar View in table data action is now a records level data action, meaning it only affects selected, current, or loaded records. The Export data action now allows you to export to ArcGIS item format.
  • General settings—The General tab on the left of the builder opens the new Experience settings or Template settings panels, where you can configure general settings for your app or template. You can use item settings to change your app or template's favicon, thumbnail, and summary. You can use time zone settings to choose how Experience Builder handles time-based data from different time zones. You can also use the settings under Manage URL status to control which URL parameters appear in the URL at run time.
  • Grid pages—The Allow expansion check box now appears on the Style tab for widgets nested in a grid. You can use this to override the Allow expansion check box that appears in a grid page's settings. This is useful if you want users to be able to expand some grid items and not others. This enhancement also applies to Grid widgets.
  • Login—If an app includes widgets, data, utility services, or other components that requires an account with certain privileges, a banner appears when the user accesses the app without the required credentials. The banner lists all the parts of the app that the user cannot access and prompts them to sign in with another account or ignore and continue without access to things. If the user chooses to ignore, the app does not request credentials again until the user refreshes the app.
  • Templates—Adds four new full-screen page templates—Dashboard, Plateau, Preface, and Sleuth. You can identify these new default templates by the New badge on their thumbnails in the Templates gallery.
  • URL parameters—Adds five new Map widget parameters which you can use to define the map center, scale, rotation, viewpoint, and layer visibility. Adds two new Search widget parameters, which you can use to show the search source and search input. Also adds the block parameter, which you can use to make the app go to a specific block on a scrolling page. The new data_s parameter replaces data_id as the parameter for selecting data records. URLs with the old data_id parameter continue to work as expected and automatically adjust to the new parameter when selections update. All Map and Search widget parameters and the data_s parameter follow a hashmark (#) instead of a question mark (?). For more information and for examples, see URL parameters.
  • Windows—The new Block page setting appears for fixed windows. If you turn off this setting, you can make a window non-modal, meaning users can interact with both the window and the page while the window is open. Window templates are organized into three categories—fixed blocker, fixed passthrough, and anchored.


Other improvements include the following new and updated widgets:

  • Select widget (new)—Allows you to select features using attribute selection, interactive map selection, and spatial selection. You can enable various message and data actions that allow you to perform data processing tasks with a selection. The widget displays selections made with other widgets, like Table and List widgets, meaning you can select a feature in another widget and run data actions on that selection with the Select widget.
  • Add Data widget—Supports uploading GPX files. If you click the Type button to search for specific data types in ArcGIS content, you can now search for group layers. Feature collections containing multiple layers appear in the group layer category when you filter by layer type.
  • Analysis widget—Supports 35 built-in raster analysis tools and over 100 built-in raster functions. You can also add custom raster geoprocessing tools. You can identify the new tools and functions by the raster tool icon Raster tool and the raster function icon Raster function.
  • Bookmark widget—You can drag to reorder bookmarks in the widget's settings. Bookmarks added at run time now have map thumbnails based on the map area they represent.
  • Button widget—You can use a Button widget to open and close a Sidebar widget. To do this, add a Button widget to your app. On the Action tab of the Button widget's settings, add the Button click trigger, select a Sidebar widget as the target, and select the Toggle sidebar action.
  • Business Analyst widget—You can use the new Search setting to turn the Business Analyst widget's map search tool on and off. The new Data source drop-down menu lists available data for the selected country or region. Some countries and regions have multiple available data sources. You can customize the introductory text in Preset mode. You can set a default infographic in Workflow mode.
  • Card widget—You can use Auto and Custom layout modes, similar to the Experience Builder mobile optimization layout modes, to design a card's hover state layout. In Auto mode, the settings of any nested widgets are synced across the default and hover states. This mode is appropriate if you only want to change the card's content settings, such as background color, between the default and hover states and don't need to change any nested widget settings. Custom mode creates separate layouts for the card's default and hover states.
  • Chart widget—For column, bar, line, and area charts, you can use the new Split by field setting to split a category field by another field. If you define a split-by field, the data from the category field is split into multiple data series (that is, one series for each unique value in the split-by field).
  • Edit widget—You can use Prescriptive mode in the widget's settings to set predefined snapping settings that are unchangeable at run time. Editing privileges now depend on where you access the Edit widget (in the builder versus in an app at run time) and your account type. For a full list of rules and privileges, see Edit widget documentation. If you turn on tooltips at run time, you can press Tab while drawing to type in values for segment lengths, angles, and elevation. These new editing constraints allow for more control and efficiency while drawing in 2D and 3D.
  • Filter widget—Supports group filters. You can use the Group SQL Expression Builder to make logical expressions for group filters, which filter multiple data source fields based on common values. You can duplicate filters and group filters.
  • Grid widget—The Allow expansion check box now appears in the Style tab for widgets nested in a grid. You can use this to override the Allow expansion check box that appears in a Grid widget's settings. This is useful if you want users to be able to expand some grid items and not others. This enhancement also applies to grid pages.
  • List widget—You can show counts of total and selected records with the Show record count setting. When the user exports data with the Export data action, only fields that are actively being used by the List widget are included in the export. This includes fields being used for dynamic text and dynamic images.
  • Map widget—You can turn on client-side queries for your web maps in the Map widget's settings. The advantages of client-side queries are decreased demand on the server and improved app performance. Client-side queries greatly reduce the number of network requests made to a server. A common Experience Builder app configuration that can be demanding on servers is a List widget that updates based on the current map extent. If you have such an app, you can avoid overloading servers by turning on client-side queries. In addition, client-side queries are faster than server-side queries. Data-related tasks, such as selecting a feature to update a chart, perform faster.
  • Map Layers widget—You can allow users to search for layers by name and drag layers to reorder them at run time. The new Use tick boxes to control layer visibility setting replaces the Toggle layer visibility setting. The widget supports five data source level data actions—Add to table, Export, Set filter, Set location, and Statistics.
  • Near Me widget—The widget uses list virtualization to improve run time performance. You can use data added at run time with the Add Data widget as input data for analysis. You can choose which sketch tools for drawing an input location appear in the widget panel at run time. You can create an input search area using all features from a layer. In results, you can include map symbols representing the symbology of features that meet the analysis criteria. When the analysis only returns one feature, the widget now zooms to that feature automatically. When exporting to CSV format, the name of the input layer becomes the name of the .csv file.
  • Share widget—The Include URL parameters check box that appears at run time allows users to include any active URL parameters in the URL to be copied. Users can uncheck this box to share the experience's original URL without any parameters.
  • Sidebar widget—You can use a Button widget to open and close a Sidebar widget. To do this, add a Button widget to your app. On the Action tab of the Button widget's settings, add the Button click trigger, select a Sidebar widget as the target, and select the Toggle sidebar action.
  • Swipe widget—The widget has two arrangement styles, Panel and Bar. You can use the Default activation setting to have the swipe tool be turned on by default when the widget first loads. You can allow users to change layer visibility at run time.
  • Survey widget—You can populate survey questions with data from a feature selected in a web scene. The scene layer must have an associated feature layer.
  • Table widget—You can use a layer's default settings to determine which fields appear for initial display, which fields are visible, and which fields are editable. You can select records on sheets opened at run time. There are now two table-related data actions that you turn on in the settings of other widgets, View in table and Add to table. Both are for sending records from another widget to a table. The difference is in which records. Add to table is a data source level action, meaning it sends all records in an entire data source to the Table widget. View in table is a records level data action, meaning it only affects selected, current, or loaded records.
  • Timeline widget—Second is now an option for the minimum time accuracy unit.
  • Widget Controller widget—You can add layout widgets, like Column and Row widgets, to a Widget Controller widget. You can set a fixed widget panel's width and height to Stretch. If you do, the panel stretches to fill the area of the canvas within the Top, Bottom, Left, and Right margins, which you can define in pixels or percent of the canvas. You can turn on indicator lines that communicate which widgets are active. You can use the Expand and Collapse buttons to change the amount of space that panels take up without fully closing them.

Developer documentation updates

Breaking changes


  • SessionManager
    • The multiple arguments of the signIn() method are changed to a single object argument, which has the SignInParams type.
  • Data source
    • dataSourceUtils
      • The type of the value argument of the createSQLClause method is changed from string | number to ClauseValuePair[].
    • DataSourceComponent
      • The default error string Data is inaccessible. is removed. Use errorString prop to customize your error message.
    • Data source geometry type
      • Instead of ds.getDataSourceJson().geometryType to get the geometry type, use ds.getGeometryType().
    • Fields loading
      • When you use <DataSourceComponent/> or dataSource.load() to load data, only fields saved in appConfig.widgets[widgetId].useDataSources[index].fields will be loaded. Please note fields used by the widgets that use the same data source will be loaded together.


  • UtilitySelector
    • The type property is changed to types, which accepts a list of SupportedUtilityType.


  • JimuLayerView
    • Method isLayerDataSourceUsed is removed from JimuLayerView.


  • Method withBuilderStyles(withTheme2Styles) is removed, use withBuilderTheme(withTheme2) instead.

Theme variable

  • The value of the following theme variables are changed:
    • Change the value of theme.sizes[3] from 16px(1rem) to 12px(0.75rem)
    • Change the value of theme.sizes[4] from 20px(1.25rem) to 16px(1rem)
    • Change the value of theme.sizes[5] from 24px(1.5rem) to 20px(1.25rem)
  • Add a new variable theme.sizes[6] with a value of 24px(1.5rem)

Lint rule

Previous releases

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.