ArcGIS Experience Builder

Create a web experience using screen groups on a scrolling page

ArcGIS Experience Builder allows you to deliver responsive web app experiences without writing code. You can create apps and pages that contain 2D and 3D maps, text, and media. Experiences can focus on one type of content or can combine and link many types of content to create a complete experience and destination for your audience. ArcGIS Experience Builder is built into ArcGIS Online and ArcGIS Enterprise, so you can use all your existing content. For more information, see the following:

This tutorial

This tutorial takes you through the steps of creating and configuring an app from a custom template that uses a screen group layout with two screens to organize the content in a scrolling page. You’ll add a Map widget, configure a Filter widget, and modify the layout for multiple screen sizes.

In this scenario, the government of the United Kingdom launched a new program called Creating Homes for Future Growth. This initiative provides homebuilders with the opportunity to build high quality homes that the local areas need. As the public information coordinator, you’ve been tasked with getting this information to the general public. You’ll create an immersive web experience to find the availability of land for housing and development, including land sites that are on the market, in the pipeline, and that have been sold.

You can view the completed experience and follow along using the LandTour template, which also already includes the data source. The data used in this template was acquired from Homes England through ArcGIS Hub and slightly modified to use in this tutorial.

Create a web experience from a custom template

To create apps with Experience Builder, you need an ArcGIS organizational account with privileges to create content. (If you don’t have an applicable ArcGIS account, get a free trial.) To save time, you’ll create an app using a template that was generated from a partially completed web experience that already has several configured widgets and a data connection.

1. Open the item page for the LandTour tutorial web experience template:

2. Click Sign in at the top of the page and sign in with your account.

3. Click Create Web Experience.

Create Web Experience button on the Overview tab of the template item page

Your new web experience opens and is created as an item in your content. The app uses the configuration that was saved in the template. The item name is the same as the template with a number appended.

New experience opened in the builder

4. Click the LandTour tutorial 1 item name at the top of the window to optionally change the name.

5. Click the Page button.

Page button with Page panel including the outline

Widgets in the current layout are listed in the body node of the page outline. The outline is a good place to review and understand the layout. The outline also makes it easier to find and select widgets in the screen groups.

This template already includes the screen group in the app. To add a screen group to your web experiences, use the Insert screen group button in an empty block on a scrolling page. You can choose from several screen group templates that you can then customize. Point to the thumbnail for each template to preview its layout.

Insert screen group button in scrolling page block with preview of templates

6. In the outline, expand the screen group, screens, and their contents to see the widgets that are used in this template.

TIP: Point to a widget in the outline to highlight it in the canvas. Click a widget in the outline to select it in the canvas and open its settings panel.

Outline view showing expanded screens and the widgets they contain

The screens in this screen group include a main stage for a hero banner with widgets for the title and subtitle, a Filter widget that you’ll configure, and a List widget connected to public data for displaying feature information. Content in the list is connected to a window to show more detail from the data. You’ll also add a Map widget to the empty column and configure it to automatically filter data in the app based on the map extent. This template also includes a header.

Update the header with a title and icon

The header will include a logo and title for your web experience.

1. In the outline, expand Header, and click Text 1.

Text widget selected in the outline and canvas

The Text widget in the header is now selected in the canvas and the settings panel displays the properties and options for configuring the widget.

2. Replace the existing text with Land Tour.

3. In the header, click the image thumbnail (or click Image 11 in the page outline) to access its settings.

Header image selected in the outline and canvas

The image settings include options to connect the widget to data, select an image source, and add a link. You can also provide a tooltip and alt text for accessibility.

4. Download and extract the Images for this app ( file).

5. In the Content panel for the selected Image widget, click Select an image.

Image settings with Select an image button that opens respective panel

6. Click Upload and browse to and select exb-logo.png.

Uploaded image selected as the image source

7. Provide a description for the Alt text setting, such as Company logo.

8. On the builder toolbar, click the Save button.

Builder toolbar with green box identifying the Save button

Configure the main stage with a hero banner

Your audience is interested in land development. It’s important that the content on the cover page reflect the purpose of the app. You’ll use a high-resolution image for the hero banner with a high-contrast title and description.

1. In the outline, in the Body section, click Screen group 1 to select it in the canvas and display its settings.

2. In the settings panel, click Screen 1 to access the Main stage style properties.

You can choose a fill color for the background or use an image.

3. For Image, click Browse.

Main stage style properties with Browse button highlighted to use an image for the background fill

4. In the Select an image panel, click Upload and add and select the landtourhero.jpg file that you downloaded.

Image uploaded and selected

5. Close the Select an image panel.

6. Change the Position setting to Fill.

Main stage background for Screen 1 filled with the hero banner image

7. In the canvas, double-click Hero title to edit the Text widget. Replace the default text with the new title: Creating homes for future growth.

8. Double-click Hero description and type the following text: LandTour provides homebuilders with the opportunity to build high quality homes that the local areas need.

9. In the toolbar above the text, click the alignment button and choose Horizontal center.

Text widgets populated and alignment button identified with a green circle

10. Save the app.

Test and modify a preconfigured List widget

The List widget and its Image and Text widgets have been preconfigured with data connections to the LandTour site layer in a web map that was added as the data source in the template. First, you’ll test how the list works in the app.

1. In the outline, in the Body section, click Screen 2 to scroll the canvas down to the second screen in the screen group layout.

Screen 2 selected in the outline and shown in the canvas with its settings panel open

Screen 2 includes two Column widgets. One contains the preconfigured List widget, which displays information from the data. Later, you’ll add a Map widget to the empty column.

2. Click List 1 to select the widget in the canvas and display its settings. (Screen 2 > Main stage > Column 2)

The list contains two Image widgets that display data from the layer: one shows the parcel image and one shows the symbol style. It also includes two Text widgets: one for the parcel name and one to include the status of the feature and the acres of the parcel. The parcel image includes a link to open a window configured to show more feature information using dynamic text. All these widgets are connected to the data source in the app.

3. Click the Data button.

Data button that opens Data panel showing connected data source

The data that’s added to an experience is listed in the Data panel. Labels with icons help you differentiate between data types. This template includes a web map data source that’s used throughout the app.

4. In the Data panel, click the Web Map item card to see more information.

The Layers tab displays the data sources in the map, which are connected to widgets. The In use section identifies layers that are selected in widget settings. The Widgets tab displays widgets that are directly connected to the web map. For example, when you add the Map widget later and connect it to this data source, it will be listed here. Clicking the Feature Layer item card displays similar information for the layer and provides additional settings, including options to define sort fields and filters and create data views.

Notice that the Content panel for the List widget settings shows that the LandTour sites layer is the data source being used by the list.

List widget settings with arrow pointing from connected feature layer to corresponding data source in the Data panel

5. On the builder toolbar, click Live view to test the linked images in the list.

6. Click an image in the list to display the preconfigured window with more information about the feature.

Live view test result showing the window that opens when you click an image in the list

The window is configured as a fixed window with several widgets, including Image, Text, Divider, Share, and Button. You can select each widget in the window to explore the settings and how they’re configured.

7. Close the window and click Live view to turn it off.

Next, you’ll modify the list settings to display twenty items at a time instead of a scrolling list of approximately 150 features.

8. In the Content panel for the List widget, expand Arrangement.

9. For Paging style, choose Multi-page. For Items per page, type 20.

Arrangement section of the List widget settings

10. Save the app.

Add a Map widget to the second screen

Next, you’ll add a Map widget and connect it to the web map data source. The map will display the same land tour sites that appear in the list.

1. Click the Insert button. Drag a Map widget into the empty Column widget on the canvas.

Insert button that opens the Insert widget panel with a green box and arrow showing where to drag the Map widget into the Column on the canvas

2. In the Content panel for the Map widget, click Select map and click LandTour Tutorial.

Map widget populated in the canvas with the selected web map as the data source

3. In the Tools section, turn off Zoom, Home, and Search.

Tools section of the Map widget settings with tools turned off

4. In the Options section at the bottom, turn on Disable pop-up.

Options section of the Map widget settings with Disable pop-up turned on

5. Click the Style tab in the settings panel.

The Column widget, like other layout widgets, controls the position of the Map widget nested within it, including how much space is used for the gap and padding around the inner edge of the column. You’ll set the height of the map to occupy all the space in the column.

6. For Size, change the Height setting to Stretch.

Style tab of the Map widget settings with Stretch identified as the option to choose for the Height setting

Configure data interactions

Experience Builder apps are data-driven, which allows the data displayed in widgets to change across the app based on different interactions. You can define interactions between a widget and the data by adding actions in response to triggers. You’ll add a trigger to the map and configure a message action to filter data throughout the app when the extent changes in the Map widget. The other widgets connected to the same feature layer source, such as the List widget, will only display content for features within the current map extent. For example, when users zoom in the map, the list updates to show only features that appear in the map.

1. Click the Action tab in the settings panel for the Map widget and click Add a trigger.

Action tab of the Map widget settings with Add a trigger button that opens the Select a trigger panel

2. In the Select a trigger panel, click Extent changes.

3. In the Select a target panel, click Framework.

4. In the Select an action panel, click Filter data records.

5. In the Action settings panel, click Select data.

6. Click the Open button next to the LandTour Tutorial web map and click the LandTour sites feature layer.

Data selected for the action settings

7. Save the app.

8. Click Live view to test the interactive components on the page.

9. Scroll down to the Map widget, if necessary, and zoom in to a few of the point features.

The List widget updates as you zoom in the map to show only the sites that appear in the map.

Live view test result showing the map zoomed to a few features and the list filtered to match

Configure a Filter widget

Next, you’ll configure a Filter widget for users to find land tour sites based on status. The filter applied by this widget affects what appears in the app’s other widgets that use the same data source. You’ll use the SQL Expression Builder window, which provides several options for creating interactive queries for the filter criteria.

1. In the outline, click the Filter widget to select it on the canvas. (Screen 2 > Main stage > Row 1).

2. In the Content panel, click +New filter. In the Create new filter panel, click Select data.

Filter widget settings with the Select data button highlighted

3. Click the Open button next to the LandTour Tutorial web map and click LandTour sites.

4. In the Create new filter panel, for the Icon setting, click the Remove icon button.

Remove icon button identified with a green box in the Create new filter panel

5. Click SQL Expression Builder and click +Add clause.

6. In the first menu, choose Marketing Status. In the second menu, choose is any of.

7. Click the More input settings button and select Ask for values.

8. Click Choose input style and click Pill selector.

SQL Expression Builder window with buttons and options to click identified with green boxes

9. Delete the text in the Label setting and click OK. Close the Create new filter panel and save.

10. In Live view, zoom the map to see all the features and click the new filters for On market and Pipeline.

Live view test result with filters set that update the map and list

The content that appears in the map and the list is filtered to hide sites that have been sold, so users can explore land sites that are on the market or in the pipeline.

Support multiple screen sizes

When designing a web experience, the layout might be different when viewed on a large screen compared to a small screen. The configuration of each separate layout is based on adaptive design; you can create unique designs for large, medium, and small screen sizes. The templates included in Experience Builder have been built and designed to work with multiple screen sizes. To ensure that your app works seamlessly across all screen sizes, the tutorial template was saved with a custom layout enabled. When custom layout is enabled, widgets added in one device mode aren’t automatically added to other device modes. You’ll need to add your Map widget from the pending list to the medium and small device layouts. You’ll also change a setting in the List widget for small devices.

1. On the builder toolbar, click the Edit your page for medium screen devices button.

Builder toolbar with medium screen button identified

2. Turn off Live view.

3. In the outline, expand Screen group 1 and click Screen 2 to scroll to the second screen in the canvas.

Screen 2 selected and shown in the canvas with medium screen size layout

4. Click the Insert button. In the Insert widget panel, click the Pending tab and drag the Map 1 widget into the empty Column widget on the canvas.

The Pending tab is also useful when you need to design your app for multiple-screen sizes. For instance, you might have a design requirement for which the Map widget is implemented on large and medium screen sizes, but not small screen sizes, in which case, you could exclude the Map widget from the small screen size design and move it to the pending list.

Notice that the Content and Action settings for the widget are the same: the data is connected, the map tools are off, pop-ups are disabled, and the extent changes trigger is set. But you need to make changes in the Style settings specific to the layout for this screen size.

5. Click the Style tab for the selected Map widget. For Size, set Height to Stretch so the map fills the column container.

Style settings for the Map widget on medium screens set to stretch and the map updated on the canvas

6. On the builder toolbar, click the Edit your page for small screen devices button.

Builder toolbar with small screen button identified

7. In the Insert widget panel, on the Pending tab, drag the Map 1 widget into the Column widget.

8. In the Style settings, set Height to Stretch.

Style settings for the Map widget on small screens with the map updated on the canvas

The small screen layout in this template was designed to use a Sidebar widget as a container for the filter, map, and list. (You can see this in the Page panel’s outline.) The Sidebar widget has two containers. The top one includes the filter, which is nested in a row for alignment, and the map is nested in a column. Both the filter and the map share the space allocated in the top container. The bottom container includes the list, which uses 100% of the space.

9. Click the List widget on the canvas to access its settings.

10. In the Content panel, expand Arrangement and turn off the Scroll bar setting.

Publish and test your web experience

Now that you’ve created your web experience, the final step is to preview and test your app, publish it, and share it.

1. Save the app.

2. On the builder toolbar, click the Preview button.

Builder toolbar with the Preview button identified

3. In the browser window that opens, test the web experience by scrolling to the second screen and navigating the multipage list.

4. Zoom in the map to see the list update with fewer records.

5. Use the filter to show sites that are on the market.

6. Click images in the list to view more information in a pop-up window.

Test result for app preview showing map zoomed, list filtered, and window opened for clicked image

7. Close the app preview window.

8. In Experience Builder, click Publish.

The Published status badge appears next to the item title.

Published badge next to the experience item name in the corner of the builder window

The More button on the builder toolbar includes item options, such as changing the share settings, copying the item link, and opening the published app. (This menu also includes options to save a copy, generate a template, and create a new app.) To view all your experiences and templates, click the icon in the corner next to the item name to open the Experience Builder Home page.

More button identified on the builder toolbar with its menu of options

In this tutorial, you used ArcGIS Experience Builder to create a web experience that shares information about the availability of land for housing and development in the United Kingdom. You added and configured several common widgets nested in a screen group on a scrolling page. You also finalized the layout to support smaller screen sizes.

More information

For more examples of how to create and configure web experiences like this one, try the following blog articles:

For more information about Experience Builder, see the following resources:

About the authors

David is a Product Engineer on the Web AppBuilder and Experience Builder team. Father, coder, runner, traveler, and tech geek.

Product Engineer who currently creates content for Instant Apps and Maps for Adobe Creative Cloud. Previously created documentation for Experience Builder and supported Web AppBuilder, Configurable Apps, ArcGIS Online, and ArcGIS Companion updates (since 2018). For 13 years prior, supported, designed, developed, and maintained Esri courses, workbooks, and tutorials for desktop, mobile, server, online, and developer products.

Next Article

New version of the ArcGIS Pro Performance Assessment Tool (PAT) is now available!

Read this article