Experience Builder Tips and Tricks - Page 3

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Latest Activity

(66 Posts)
JeffreyThompson2
MVP Frequent Contributor

Once upon a time, before URL parameters officially existed, I used the cheating powers of Developer Edition to build my own URL Parameters Widget. Having done so and not needing to use URL Parameters since, I largely ignored the official release. Good to know they're there, I'll learn how to use them if I need them. Yesterday, someone asked a question that I knew URL Parameters could handle, so I sent over the documentation page for how to build them and got ready to collect my easy internet point. But then they asked a follow-up question and I had to actually read the documentation. Not only is the official documentation very long and boring, it's actually impossible for a regular user to use  because it relies on knowing information that is not visible without using Developer Edition and/or knowing some developer tricks.

How was I going to get my internet point now? Luckily, I remembered a hack posted by someone on the Product Team. @AlixVezina? You can use the Share Widget to easily figure out URL Parameters for you! Here's how it goes:

  1. Add a Share Widget.
  2. Open up Preview Mode.
  3. Get your map/data set up the way you want it.
  4. Open the Share Widget.
  5. Turn off Short Link and make sure Include URL Parameters are on.
  6. Copy the URL and paste it into a file on your computer.
  7. Delete "?draft=true" from the URL.
  8. Repeat steps 3-7 until you have all the URLs you need.
  9. If you don't want the Share Widget in your final project, you can delete it now.

JeffreyThompson2_0-1728574954128.png

One week ago, I asked put out a call for anyone to post their own tips saying I only had two tips left in me. Since then I have posted two tips, so bye. I'm done.

 

 

 

 

Just kidding. These tips were not the tips I was thinking of. Those are going to be very lengthy and maybe only useful to a very small group, which is why I have never got around to actually making them.  That list is now three tips long. I also just intruded on territory I explicitly asked for tips on. Sorry, if you were going to share this tip. Still want your help making more tips.

more
6 2 1,081
JeffreyThompson2
MVP Frequent Contributor

You just opened up Experience Builder for the first time. Naturally, the first thing you did was add a map. You want your search bar connected to a specific locator source, so you click on it, but you don't see an option to change it. Isn't everything in Experience Builder supposed to be fully configurable? That measure button is in the wrong place you click on it and try to drag it to an new spot. The whole map moves. Isn't everything in Experience Builder supposed to be drag and drop?

This is a common experience for people new to Experience Builder. Let's clarify the difference between Map Tools and Widgets.

When you add a Map Widget to Experience Builder, it comes with a set of baked in tools. These tools have no options other than on or off. (Technically, some of these options can be changed by altering organization-wide settings in your ArcGIS Enterprise/Online Portal.) They also have frustratingly few placement options. These tools are designed for people who want to use the defaults for these tools and more on to designing something else.

JeffreyThompson2_0-1728048913276.png

Some of these Map Tools have their functionality replicated in fully built-out Widgets. The Widget versions can be found from the Insert Widget Pane on the left side of the screen. In Widget form, they have many more configuration options and can be placed wherever you want them. Map Tools with a Widget form are:

  • Search
  • Layers (Split into the Map Layers and Legend Widgets.)
  • Basemap
  • Measure
  • Select

more
2 0 361
JeffreyThompson2
MVP Frequent Contributor

It's October. The spooky season! Sure, there are all the monsters and ghosts and what not, but you know what's really scary. The evitable passage of time...OOOAAAAHHHH! October marks the one-year anniversary of the Experience Builder Tips and Tricks Board. This group has grown to over 100 members and remains a supportive, positive place. Thank you to everyone who has joined and has stuck with my terrible, sometimes borderline inappropriate humor. I hope you have all found something useful here.

Since so many of you have joined up, it's likely many of you have never read the introductory post on this blog. I bring that piece up to say, this blog was never and was never intended to be a one-man show. Right now, I have two more topics in my head that I intend to get to one day and that's it. I'm out of ideas. I'm sure I'll think of more when new features come out or someone asks a interesting question, but still, I need help keeping this place going. I want to read you tips.

Experience Builder is huge. There's a lot I don't know. There are many parts of it I have never or hardly ever touched. And the number of possible configurations is literally infinite. Here are some topics that have never or have only been lightly covered on this blog, that I don't feel qualified to write about:

  • 3D Data
  • Indoor Data
  • Time Enabled Data
  • Survey123 (I'd personally love to see a post(s) about ways to make it interact with various widgets.)
  • Related Features
  • The analysis related widgets
  • URL Parameters

If you've got something to say about these topics or any other, I want to hear it. And don't think, it needs to be some complex build either. One of my primary motivations for starting this was seeing a lot of what I call "button questions" on the Questions Board. These are questions that can be answered by just pointing out the location of some button. I don't think those questions are as common as they were a year ago and I'd like to believe, it's because they have been covered in this blog. If you know about some hidden magic button, let us know, too.

Finally a big thank you to everyone who has written something for this blog over the past year:

more
5 0 255
JeffreyThompson2
MVP Frequent Contributor

Last week, I spoke with @MichaelGaigg. He showed me how to use a Hosted Table with a List Widget and Data Views to hide and unhide items in Experience Builder. He also showed how to use a solid color image to make a dynamically changing background. This tip has also been discovered by @AlderMaps.  And @Christina_Appleby and @KaraUtter2, have previously demonstrated using a Hosted Table with a List Widget to combine text and images. Let's put all these ideas together and create a set of links that can be perpetually and dynamically updated from outside Experience Builder.

Note to users of ArcGIS Enterprise: I will be using the recent history of social media as a narrative framing device. None of the Experience Builder options described here are particularly new, but depending on your version number some of them may be missing. We will be traveling back in time to before the first release of Experience Builder, so if your Enterprise is that old. No, this won't work for you.

Note to everyone: It's too much work for me to track down a bunch of logo and single-color images for this post. So, can we all just pretend that the screenshots look exactly as they are described?

You have done it! You have defied all known laws of physics and invented a time machine. Armed with the most dangerous and powerful device ever invented, you do the most important thing you can think of. Travel back in time with the June 2024 Online version of ArcGIS Experience Builder to make your company a website.

Arriving in the year 2017, you get to work. In ArcGIS Online, you build a Hosted Feature Table with some data you will need to make a set of links. On the My Content Tab, hit the New Item Button then Feature Layer and Define Your Own Layer. Now, give it a name and set the type to Table. Add your Metadata and hit Save. On the Item Page, go to the Data Tab then the three line menu and Add Field to build the fields for your table. You want your links to display the name of the site and its logo and each site should have a brand appropriate background color with a slight variation on that color if the user hovers over it. You also, of course, need a link to your actual social media pages. So, you will need to have fields for all of these values.

JeffreyThompson2_3-1727713759908.png

Now, you can use the Update Data option in the three line menu to Add Data from a spreadsheet program, like Excel. Assuming you have named the Excel table the same or even just similar to your fields in ArcGIS Online, ArcGIS Online will match up the names for you and upload all the data.

JeffreyThompson2_4-1727714774904.png

JeffreyThompson2_5-1727714802968.png

You now have a table hosted in ArcGIS Online with the name of the social media site you use and links to your social media pages, the companies logos and 1x1 pixel squares of appropriate colors. Getting on TikTok this early took some travel as it hasn't been released outside China yet. You did sneeze on a bat while you were visiting, but surely that couldn't be your fault. You decide to add one more field to this table. You call it Active and give it a Default Value of yes. You give each site the value of yes, except for TikTok. Maybe you shouldn't give away your medaling the space-time continuum, just yet.

JeffreyThompson2_6-1727715436819.png

Now, you open up Experience Builder and build your website that your reality breaking website that looks remarkably similar to the ESRI Developer website. Then you add a List Widget for your social media links. You use that first row template, but scroll all the way to the bottom and check the Remove Default Widgets From Template. Then, hit the Select Data and Add New Data buttons. On the Add Data Page find the Layers in the side panel and click your Links table and select Done. With the Links table added, you open up the dropdown and select Create A View.

JeffreyThompson2_0-1727717209520.png

You add a filter for Active is yes and Apply Changes. Set your List Widget to use this Data View. This will hide TikTok...for now.

JeffreyThompson2_1-1727717450637.png

You drop an Image Widget into the first blank rectangle of the List Widget and use the Align > Full Size option. You make sure your data is linked to the Data View you created earlier and switch to the Dynamic Tab. You use the URL option to set the image URL to your background color field in the table. Then you use the Set Link option to designate where clicking the image should send the users. You select the Link To URL option and, in the URL, set it to Attribute using the web address field. You have just turned your List Widget into a set of fully customizable buttons. (To make sure I was doing this right, I made my Facebook background URL a forested mountain and the hover background a beach.)

JeffreyThompson2_0-1727725025439.png

Edit: After killing your grandpa for giving you a bad Christmas gift five years from now, the timeline resets and you find this article mysteriously posted on the Internet, but you think it needs a more explicit, less-narratively soaked explanation of this step.

  1. Create a series of 1x1 pixel colored squares and same them somewhere on the Internet that your site will be able to access. Hosted Images on ArcGIS Online, perhaps?
  2. In your table/data that you will use to control the colors, have a field that contains the full URL to these colored squares.
  3. As the background of your List Widget, use an Image Widget with an Dynamic URL based on the field that points to the colored squares.

Back to the Prime Timeline...

You go back and reactivate the List Widget Settings. You open the States dropdown and click Hover and then Enable Hover. Then at the bottom of the List Setting Panel switch the Layout to Custom and confirm the scary warning popup. With the List Widget in the Hover State, add a new Image Widget and set it up the same way except using the hover color field from your table. (Note: I had to do this a couple times before I got the whole sequence right, so there is a chance that these instructions are slightly off.) If you have done this correctly, there should be an Image Widget under the Default dropdown of your List Widget and a different Image Widget in the Hover State.

JeffreyThompson2_2-1727728900369.png

Back in the Default State, drop a Text Widget into your List Widget and use the Dynamic Content to set the text to the name of the websites. Add another Image Widget for the company logo and connect it to the appropriate data. Style up your gorgeous button and then use the Apply to Hover option to make your text and logos appear in the Hover State. (You, with your time machine, have infinite time to make it pretty. I'm leaving it in this horrible state.)

JeffreyThompson2_3-1727729591432.png

Your work is now complete and you hop back in your time machine to go settle a beef with your grandpa, never to be seen or heard from again. No one at your company knows how to edit your Experience Builder project, but the social media manager can edit that table and that's all they need.

Now, let's travel forward in time to see how your site has handled the last seven years.

It's 2018 and all the kids are doing TikTok dances. The social media manager changes the Active field for TikTok to yes and TikTok magically appears on your site.

JeffreyThompson2_0-1727787523143.png

It's 2019 and Google+ has officially shut down. The social media manager sees some memes about it and realizes they signed up ten years ago and never made a post since. This site isn't coming back. They delete the entries in that row on the table and Google+ vanishes as if it never existed in the first place.

JeffreyThompson2_1-1727787871859.png

It's 2022 and TikTok is now illegal in your company's jurisdiction, but the fact that it's illegal may also be illegal. The social media manager wants to comply with the law, but doesn't want to delete the table entry in case TikTok becomes legal again. They switch the Active field back to no and TikTok is gone again.

JeffreyThompson2_2-1727788464979.png

It's 2023 and Twitter isn't Twitter anymore. It's going through a rebellious teenage phase and it wants to be called X now. The social media manager isn't going to dead-name someone. They respect a person's right to be called what they want. They change the name, logo and brand colors in the table and the site updates automatically.

JeffreyThompson2_3-1727789218969.png

It's a few weeks later and those teenage hormones are making X very unpleasent to be around. The social media manager is looking for a new site with less of a musk. They sign up for a Threads account and add the information to the table.

JeffreyThompson2_5-1727789962483.png

The final table looks something like this and the site has kept up with all these changes. Now if only you had put a sports almanac in your time machine...

JeffreyThompson2_6-1727790206629.png

Author's note: This was a lot of hassle to set up, but it really is worth it on the update side if you anticipate frequent changes. It also offers way more stylistic choices than the standard Button Widget.

more
2 0 1,192
JeffreyThompson2
MVP Frequent Contributor

I'm making an application where users can filter UFO sightings to find the encounters most similar to their own. I don't like hiding THE TRUTH from my users and I want everyone who comes to my site to know WE ARE NOT ALONE in seeing UFOs, so I don't want the filtered out items to be removed from the map. The UFOs being filtered out should engage their cloaking device so they are harder to detect visually and their crafts must be unidentifiable to mouse clicks. Surely, this is all beyond the means of modern technology? I WANT TO BELIEVE this is possible in Experience Builder. THE TRUTH IS OUT THERE. Let's find out.

In the Online MapViewer, I have built a map that's looking how I want it when no filters are selected with the UFO sightings in bright glowing green orbs.

JeffreyThompson2_0-1727096711911.png

To pull off this feat that defies all know laws of physics, I will click the three dot menu next to the UFO Sightings layer are hit Duplicate. This cloning experiment will create a second copy of the UFO Sightings layer and I'll drag it down in my layer order under the original. I'll Rename the copied layer with the classified code name of Other UFO Sightings. I'll turn off the visibility on the original UFO Sightings layer for now.

JeffreyThompson2_1-1727097378031.png

Now, I will alter the appearance of the Other UFO Sightings layer. In the Properties Panel, I will turn off Show In Map Legend and crank up the Transparency to 75%. And I'll Edit Layer Style, changing the dots from a glowing green to a Roswell Grey. Then, I'll go to the Popup Settings and turn them off for this layer.

JeffreyThompson2_2-1727098011534.png

JeffreyThompson2_3-1727098043305.png

I turned my UFO Sightings layer back on, so now we have many UFO sightings we know about and many more we don't. If you're not paying attention, this map doesn't look any different than it did before, but there is so much more that is being hidden from the public. I will save my map and continue in Experience Builder.

JeffreyThompson2_4-1727099499294.png

In my Experience Builder project, I have my map in a Map Widget, a Map Layers Widget and a Legend Widget. The Legend Widget is unable to detect the Other UFO Sightings layer due to the advanced technology of the Online MapViewer, but the Other UFO Sightings layer is still visible in the Map Layers Widget. How do we classify it?

JeffreyThompson2_5-1727100222233.png

In the Map Layers Widget Settings Panel, click the UFO Map under Customize Layers. Then Enable Customize Layers and uncheck Other UFO Sightings. Now, the true number of UFO Sightings is being hidden from us.

JeffreyThompson2_6-1727100460989.png

Finally, I add a Filter Widget and make a filter for the UFO Sightings layer.

JeffreyThompson2_0-1727101149269.png

Users of the site can filter the UFO Sightings layer and see the number of green orbs go down, revealing the hidden, grey Other UFO Sightings layer. Popups will be able to explain the green orbs, but the grey circles will be shrouded in mystery.

JeffreyThompson2_1-1727102121003.png

For a little mood music, here's the X-Files Theme Song.

more
3 0 416
JeffreyThompson2
MVP Frequent Contributor

Do you feel that wintery chill in the air? I don't. I live in Texas. But here we are, only two weeks away from Venezuelan Christmas. What's on your wish list this year? For a lot of you, it's this...

JeffreyThompson2_0-1726506593676.png

That little box from WebAppBuilder that will restore your last session. Come on ESRI, please. We've been very good this year. At least, say you're working on it. But what if we don't need it, what if the true restore app state widget was inside us all along...

It's not. But, you can hack the Bookmark Widget to get something close.

Did you know that bookmarks save the current layer visibility as well as the map extent? They do. And that's really all this trick is. Honestly, I'm not sure this is even a trick. It feels awful close to an intended use case, but not a super obvious one. Or maybe ya'll know this already and I'll look like an idiot for thinking this is remotely clever. I build stuff. I don't use stuff. Builders and users don't always see stuff the same way. We need to see this from both perspectives for this trick to work.

Builder Me

As Builder Me, I will add a Bookmark Widget to my project. I will use that second template on the top row as it will give the best appearance for this usage. I'll turn on Allow To Add Bookmarks In Widget and make sure Ignore Layer Visibility is off.

JeffreyThompson2_0-1726510477590.png

That's it for set-up. I won't add any of my own bookmarks for this usage.

User Me

I go about doing my job until the clock reads quittin' time. I open up the Bookmark Widget and hit the plus sign. I could rename it if I want. Maybe today's date. Don't have to. Tomorrow, I come into work, hit my bookmark and get back to my job. The end. App state restored.

Merry Christmas and a Happy Six-Weeks 'til Halloween.

more
0 2 324
JeffreyThompson2
MVP Frequent Contributor

This is another developer's only tip. Online and Enterprise people, there's nothing to see here.

So you were working on an update to your Experience Builder project in one tab and an email to your spouse about what you really think about your boss in the other, somewhere along the way you got a bit mixed up and you just published something to the internet that you really shouldn't have. Now, you have 30 seconds to get the old project back online before you need to find a new job. Luckly, there is a way to hack the HTML to revert back to an old Experience Builder project. 

(I just found this a few minutes ago. I make no guarantees that it will not have some terrible unforeseen consequences.)

In the folder on your deployment server, you will find four items. One of them is a folder called cdn. The file you want to open is the index.html. Use the Open With option to open it in a code editor. Using Open will try and fail to open the application.

JeffreyThompson2_0-1725912353200.png

If you're as sloppy as me, this cdn folder will contain a bunch of numbered folders each one representing a built and deployed version of your application.

JeffreyThompson2_1-1725912494163.png

In the index.html, you will change two numbers to switch between build folders.

On line 1, find this href in the <base />.

JeffreyThompson2_2-1725913025704.png

On line 80, find the buildNumber attribute.

JeffreyThompson2_3-1725913083008.png

Subtracting one is a good bet for going back one version. This trick could be useful for maintaining multiple versions of an application for other reasons as well, like getting data from backup sources or seasonal variants.

But change it fast, before the boss finds out he has great organizational skills.

more
3 3 540
JeffreyThompson2
MVP Frequent Contributor

About a month ago, I was tasked with a project to find points in a polygon area. I could never quite crack it, in part, because by polygon layer wasn't actually a layer, it was a table, but I kept getting close. Ultimately, we converted the table to an actual polygon layer and used the Zone Lookup Instant App. It did everything we needed and was super easy to set up. Then, the new ArcGIS Online update came out and the update to Feature Info didn't quite work the way anyone expected and I wondered if could use the Near Me tricks I was working on to make a popup replacement. Again, I couldn't quite get there. I felt I was so close to something useful, but I every iteration lead to some weird response. I wound up with some versions that would work on mouse click and others that would work with a Search Widget, but never both at the same time. In some versions, clicking a polygon would select a neighboring polygon. I was getting a bit obsessive and going slightly crazy.

I think I finally cracked it. I found the idea that is mostly useful. I built a Zone Lookup App using only OOTB Experience Builder widgets. Did you know one Near Me Widget can trigger another? This is a build based on double-hidden Near Me Widgets. This is a build that can find points in a polygon using either a Locator Source or a Layer Source, or by clicking on the map. Downsides: If you want to use both a Locator and Layer Source, you will need to separate Search Widgets and clicking directly on the point layer will not trigger the Near Me functions.

For my demo, I have a map with a polygon layer of counties and a point layer of Bigfoot sightings. Let's find some big feet! (Maybe don't Google that.)

Step One: Big Feet Near Me (Really Don't Google That.)

Let's add a Map Widget and connect it to our Bigfoot map. I'm going to turn off popups. I think it will be better that way. Then, I throw in a Near Me Widget and rename it Bigfeet Near Me. In my Near Me settings, I will set the Search Distance to 0. I go to Add Analysis and select my Bigfoot layer and set the Analysis Type to Proximity.  (To all the confused people who just typed the first four letters of analysis and big feet into their search engines, this isn't the site you are looking for.) Now, go back to the Map Widget Settings Action Tab. Add a Record Selection Changes>Framework>Select Data Records Action and set both the Trigger and Action Data to the Counties layer. Then, Add Action and Bigfeet Near Me>Set Location. This should find all of the Bigfeet in a county by mouse click.

JeffreyThompson2_0-1720026160846.png

JeffreyThompson2_1-1720026396287.png

Step Two (Optional): Search By Layer Source

Add a Search Widget. Add New Search Source and select the Counties layer. It would be good design to change the Hint to something that clarifies that the user should enter a county name. Turn off Enable Filtering For Layer Source Search. I've also renamed my Search Widget to County Search. In the Action Tab, add a Record Selection Changes>Map>Zoom To Action and then a Bigfeet Near Me>Set Location Action. Zoom To should be before Near Me, apparently this order matters. Now, searching for counties should find Bigfeet.

JeffreyThompson2_3-1720027217265.png

JeffreyThompson2_2-1720027193553.png

Step Three: Search By Locator Source

This is where it gets a little weird. We are going to double up Near Me. (Google people, go away, this still isn't what you want. (Seinfeld voice: Not that there's anything wrong with that.))  Add a second Near Me Widget. We'll call this one Counties Near Me. As before, set the Search Distance to 0. This time set the Analysis Type to Closest Feature. You will also want to turn off Highlight Results On Map. In the Action Tab, add a Record Selection Changes>Bigfeet Near Me>Set Location Action.

JeffreyThompson2_4-1720028379943.png

Now add a second Search Widget, set your search to a Locator Source. In the Action Tab, make Record Selection Changes>Map>Zoom To and Counties Near Me>Set Location Actions. Now using the Locator Search will find a location, send it to the Counties Near Me Widget, find the correct county and pass the county on to the Bigfeet Near Me Widget.

Step Four: Build An Output

Depending on how your user searches and in what order, the Counties Near Me Widget may fall out of sync with the currently searched for Bigfeet. So you will definitely want to hide it. And I still ain't a fan of how Near Me looks so I'll hide both of them. To make my output, I will use the newly updated capabilities of the Feature Info Widget. To get my Bigfeet, I will go to the Outputs Tab>Bigfeet Near Me>BigFoot (Proximity) Output View. 

JeffreyThompson2_1-1720031188042.png

For the Counties, I will add the Counties layer from my map in the Added Data Tab. Then, I will click back on the Counties layer in the Settings Panel to get more options and use the dropdown menu to pick Selected Features.

JeffreyThompson2_2-1720031311387.png

JeffreyThompson2_3-1720031404502.png

Go find big feet near you from the safety of Experience Builder. 

JeffreyThompson2_0-1720031028316.png

more
5 1 2,470
JeffreyThompson2
MVP Frequent Contributor

All of the following does sort of assume that there's not a major bug introduced by the update. There seems to be a big problem.

The issue has reportedly been fixed.

It's everyone's favorite holiday that means more work instead of less work, ArcGIS Online Update Day!!!!!!!!!!! I've been looking over the What's New page and trying a few things out to see what you can do in Experience Builder today that you couldn't do yesterday and it's a lot. This is a big update. I don't see any huge new features, at least for my applications, but many of the small updates to existing widgets are absolute gamechangers. I'm going to go over what I think are the most important new options and some first thoughts of what you might be able to do with them.

New Actions:

  • Open Sidebar
  • Open Widget
  • Plan Route
  • Related Data
  • Set As Analysis Input

All of these actions look super useful. I'll circle back to a few of them later.

New Data Sources:

  • Building Scene Layers
  • Imagery Layers
  • Oriented Imagery Layers

I don't really use these types of layers, but if you do, this is lifechanging.

Privacy Settings: You're a businessy business person and you care about businessy business stuff like SEO and analytics. Now, you can use Google Analytics to track your performance. It also comes with the option for the user to turn it off so you don't get arrested in the EU or the ever growing list of jurisdictions where a turn off cookies button is legally required.

Icons: This was honestly the first thing on this update list that made me excited and it is such a tiny change. There are way more default choices in the icon picker. That's all, but wow is it a big quality of life improvement.

Related Data: I don't know how to use this yet, but it sounds very intriguing.

Additionally, you can use the layer's relationship to configure a message action where a trigger involving one data source can trigger an action with the related data.

New Widgets:

  • Building Explorer: Doesn't really apply for me, but if your working on an indoor space, this looks like the widget for you. 
  • Feature Report: Turn Survey123 stuff into PDFs. Looks super useful if you have Survey123 stuff.
  • Measurement: (Did I do this? I might have done this. My first week in Experience Builder I put in a call to ESRI support asking for the Basemap Gallery, Select and Measure Map Tools to all be built out as separate widgets and now it's all been done. Tell ESRI what you want. They really do listen.) The gamechanger here is the ability to control where the Measure Widget actually goes. You can also set your default units to something other than your organization's defaults. A make-your-own-units and appearance options would be good next steps, ESRI.
  • My Location: Do you want to stalk people? Now you can get their exact location, speed and altitude. There's some sort of neat walking survey application that could be made based on this widget. A field worker opens your app on their phone. It starts tracking their movements. As they go, they make notes with the Survey123 Widget. In the end, you have the Survey123 responses and the walking path that triggered them.

Widget Updates:

  • Add Data: When I mentioned earlier that some small updates are gamechangers, this is the kind of stuff I was talking about... You can now sort your search results in the Add Data Widget.
  • Analysis: For the first time, in one limited capacity, it is now possible to write custom code and run it in ArcGIS Online Experience Builder as the Analysis Widget supports custom geoprocessing tools. The ability to select stuff with one widget and make the Analysis Widget do stuff with the Set As Analysis Input Action has limitless potential.
  • Basemap Gallery: 3D support. If you have 3D stuff, you probably want a 3D basemap. Now, it's an option.
  • Bookmark: Your user has turned off the the visibility on three map layers, then they click on a bookmark to zoom to their area of interest. They are confused and angered as all the layers they turned off suddenly come back on plus two more that are normally off by default. Don't let this happen to your users. Turn on the Ignore Layer Visibility option so that map layers don't change with bookmarks. This should never be turned off unless you are deliberately making some sort of extremely guided Storymap-type experience. But, ESRI, could we please have the opposite as well? A bookmark that changes layers but not location would also be very useful.
  • Directions: Your user has searched with Near Me to find their closest park, now they probably want to know how to get there. The Plan Route Action is here to save the day! 
  • Edit: Add data with the Add Data Widget and edit it.
  • Feature Info: Popups are great and all, but they also block your view of the map. That's why @RobertScheitlin__GISP made his Feature Panel and I made Identify. If you're not on Developer Edition your best popup replacement is Feature Info, but it can only handle one layer...until now. Sometime in the next few weeks, expect this sentence to turn into a link about combining the Open Sidebar Action and the Feature Info Widget into a full popup replacement, like Robert's auto-opening Feature Panel Sidebar trick. Edit: Tried and tested. It doesn't really work. Only one layer of features registers as selected at any given time, so it's not a popup replacement yet.
  • Legend: The legend can be configured to only show stuff that currently on the map. Another small improvement that makes a big difference in user experience.
  • Map:
    • Overview Map: It was technically possible to make an overview map from the very first version of Experience Builder, but now it's easy enough, as in one click, to actually be worth doing.
    • Dock Your Popups: Put your popups in a more convenient spot than covering up your data.
    • Zoom To Selection URL Parameter: Go to a specific feature on the map as soon as the page loads. Build links from other applications.
    • One Map = Select By Default: What a nice little quality of life addition.
  • Near Me: More export options.
  • Print: Report templates.
  • Sidebar: A few updates ago, we got the Toggle Sidebar Action which was pretty good, but what if the Sidebar was already open and you don't want to close it. Enter the Open Sidebar Action. But ESRI, if you're going to give us an Open Sidebar Action, we should also get a Close Sidebar Action.
  • Table: 
    • Control column widths: Yes, please.
    • Throw your whole map in and get tables for everything: That's faster than doing it one by one.
    • Delete Stuff: You can edit from a table, of course, you should be able to delete from a table, too.
  • Views Navigation: Supports the Views Change and Button Click Action Triggers. This along with the Open Sidebar and Open Widget Actions makes all sorts of crazy user clicks one thing and everything changes stuff possible.

 

Those are my Experience Builder Update highlights, and no, I did not actually mention everything in this update. Is there something I missed on the update list you are excited about? Should I do this for every update?

more
10 0 759
JeffreyThompson2
MVP Frequent Contributor

Today, I would like to walk you through three things I built in Experience Builder, why I chose to use Experience Builder and (on a philosophical level) how they were made.

Telecom Editor

JeffreyThompson2_0-1718981467814.png

Why: To Make A Focused Application

We have a group of people in the city who are tasked with building out the telecom infrastructure used in city operations. They also must track the telecom infrastructure built by private companies within the city. These people are not GIS people. They don't need access to all the data in the city. They need access to telecom data and they need to be able to edit it. That's it. Anything more than that would be more confusing than helpful. Could they use the Webmap Viewer? Sure, but it just wouldn't be as dedicated to doing one thing. ArcGIS Pro? Way more confusing.

How: ESRI Widgets

This application is pretty basic. Fundamentally, it is just a Map Widget, an Edit Widget and an edit enabled Table Widget. It does have a few custom widgets, but none of them are essential to the application.

At this point, I would like to explain that my job is specifically to build stuff that is more complicated than can be done with OOTB tools. The next two projects are significantly more complex. The best way to keep a project within the OOTB capabilities of Experience Builder is to keep it focused on a small number of closely related tasks. Trying to build an everything app in Experience Builder is a really bad idea...

Virtual Map

JeffreyThompson2_1-1718984056776.png

Why: It's An Everything App

We want every city employee to have access to all the city's authoritative data. People in different departments need access to different things and to do different things, but sometimes they also need access to other sources of data. In many ways, this is a simplified version of ArcGIS Pro dedicated explicitly to city data. As above, most of the users are not GIS people, many of them are not even computer people, so the Webmap Viewer and ArcGIS Pro are not realistic options. With the retirement of WebAppBuilder, the only viable options for building such an application is Experience Builder or the JavaScript API. And as I see it, Experience Builder is the JavaScript API with some helpful UI components built-in. In retrospect, a series of department focused applications may have been faster, easier and better, but an all-in-one application is still possible.

Why: It Saves Us Money

Shhhhhhh! Let's keep this one quiet. Don't put this anywhere ESRI can hear about it.

An ArcGIS Enterprise subscription comes with unlimited Viewer licenses which is all that is necessary for our users to log into Virtual Map. At standard list prices, an ArcGIS Pro subscription for all of our Virtual Map users would cost the city approximately two million dollars a year. And that's not counting training or hiring additional tech support personnel.

For all the GIS Administrators and Managers out there, how many people in your organization really need a Pro license? How many of them could instead be using the Webmap Viewer or one of the various web apps to do their jobs? It might be more than you think. 

How: Time and Communication

Virtual Map was in development for over a year before it was officially released and it's still not entirely finished. It may never be truly finished. Why did it take so long? There were some external delays and I was also working on other projects, so several months of unproductive time were being counted in there. But one of the biggest reasons it took so long is we were trying to get it right. Throughout the entire process, we were communicating with the users to try and make what they needed. Versions of the application were available for testing six months before the official launch. You'll see the other big reason it took so long a little later.

Pet Finder

JeffreyThompson2_0-1718992032302.png

This application needs a little explanation. You're an animal control officer and you just caught a dog. How can you figure out who owns it? Luckly, our city has records of many of the dogs in the city. Too many records. Tens of thousands of records without pictures. Then, there is the problem of identifying breeds and colors and if the person who made the record agrees with your identification. How can you narrow down this list of thousands to a few prime candidates so you can actually call some people and ask if they are missing a dog? Pet Finder was built to help.

How: Cheating

Developer Edition is cheating. I have previously pointed out using Developer Edition is a pretty sweet trick even if you can't code. As much as Experience Builder is sold as a no-code environment, it is so much more useful and powerful as a developer's framework. This application is built around two custom widgets, one that takes user input, finds what animals meet the search criteria, filters through the possibilities and controls the map display and the other displays the candidate animals in a list. Other than connecting me to the webmap, Experience Builder is not doing much functionally in this application.

Virtual Map contains 19 functional widgets. Eight were developed by ESRI and another was made by ESRI and modified by me. Another widget was made by a third-party and three more are my modifications of a third-party widget. And the last six are entirely my creations for a final score of 8 OOTB widgets to 11 custom ones. Learning to code is probably the greatest Experience Builder trick of them all.

Why: Experience Builder As A Framework

I knew before I started that what Pet Finder had to do was too complex for the OOTB widgets, so Experience Builder was useless on this project? No, it was vital. Before I started, I thought about the ingredients I would need to make this work. I was working with a map and feature layers, so obviously I would need the ArcGIS JavaScript API. I had a good idea for a slick user interface that would respond quickly and update itself based on user inputs. You know something that would react. React! React was literally built for this! Ok, so I want to use React, but I don't want to be limited to strict one-directional data flow, so I'll need a state manager like Redux. And I don't want to spend too much time messing around with the user interface, so having a UI component library and a CSS library like Bootstrap would be very nice. A drag and drop builder would be even nicer. Ok, let's add this all up.

ArcGIS JavaScript API + React + Redux + UI Component Library + Bootstrap + Drag and Drop Builder = Experience Builder

By the time I was through with Pet Finder, I had used every single piece of that formula and I got it all set up for me by just clicking a single button. Experience Builder was still very helpful even though it was useless.

more
0 0 1,711
178 Subscribers