Enhanced Search for Experience Builder

1417
13
01-08-2024 11:21 AM
Labels (1)
HeatherLee13
New Contributor

I've been tasked to migrate our web map from Web App Builder to Experience Builder. The enhanced search widget is our most used feature and I need to have it in the new map. Does anyone know if @RobErtScheitlin__GISP or someone else is in the process of developing the enhanced search widget?  Thank You

Tags (1)
13 Replies
TimConfare2
Occasional Contributor

I agree,  this is our most used widget as well.  Unfortunately, I think Robert is no longer part of the GIS community.  Hopefully, someone else can develop this?  Or maybe ESRI adopts this as a widget?

0 Kudos
DAVIDDAS1
Occasional Contributor II

 

Hi Heather and Tim,

 

Thanks for bringing up this very important topic.

 

Yes, we desperately need an Enhanced Search Widget for the Experience Builder.

 

Robert Scheitlin created this masterpiece first on the Flex API and then ported that to the Web AppBuilder. Robert was working on porting the Enhanced Search Widget to the Experience Builder.  That effort has come to a halt since Robert decided to take a break.

 

However, I have some exciting news for you!

 

My good friend Phil Ponce, an independent developer, decided to take on the monumental task of bringing the functionality of the Enhanced Search Widget to the Experience Builder platform.

 

I showed Phil how we use the Enhanced Search Widget on all our WAB apps and he decided to come up with an elegant solution with additional features that would appeal to all users.

 

Phil has been feverishly working on this widget for the past year. He showed me his work in progress several months ago.

 

You can try out this example Experience Builder web app that he created to showcase the capabilities:

 

https://portal3.emswebmap.com/arcgisportal/apps/experiencebuilder/experience/?id=d6a80135bba441d2ae3...

 

DAVIDDAS1_0-1714797142146.png

 

 

While I was learning how to navigate the User Interface and try out all the features, I put together my screenshots creating this User Guide.

 

http://www.davidapps.net/exbui/userguide.pdf

 

Please note, the screenshots will not exactly match since they point to an earlier version of the XBUI widget. However, this User Guide may help you get a feel for how this tool is designed to work.

 

Marko Milos has been churning out short video tutorials showcasing each feature. I would let Marko post the links.

 

What does the XBUI Widget do?

 

It integrates the features of the Enhanced Search Widget with the Layer List Widget, Legend Widget, Selection Widget, Query Widget, Table Widget, Edit Widget, and Bookmark Widget all encapsulated within a single intuitive and easy to use interface.

 

Phil would be demoing the XBUI widget at the User Conference. You can contact Phil at Phil@emsol.com

 

I will be forwarding this to Phil so that he can follow up with more information.

 

I was so thrilled when I got to see Phil’s work in progress. This is the answer to all our prayers!

 

Best regards,

 

David Das

 

HeatherLee13
New Contributor

David,

Thanks so much for sharing this information. I'm eager to see Phil's final product.

In the example I didn't see what I'm needing for my map. The enhanced search looks like this below:

HeatherLee13_0-1715201230280.png

 

Are you familiar with a similar widget being created?

 

Thanks,

Heather Lee

 

0 Kudos
DAVIDDAS1
Occasional Contributor II

 

Hi Heather,

 

Thanks so much for taking the time to review the information on the XBUI Widget and explaining exactly what you are looking for.

 

I hear you.

 

Robert Scheitlin designed the Enhanced Search Widget to combine 3 search methods into one single interface as shown by your graphic:

 

  • Attribute Search
  • Graphical Search
  • Spatial Search

 

Examples:

 

You can set up an Attribute Search to find a School where Name = Capitol Heights Middle School.

 

You can use the Graphical Search to drop a point at the intersection of a cross street and find all Schools that fall within 3000 feet.

 

You can use the Spatial Search to find all Schools that fall within a Zip Code.

 

The integration of these 3 search methods into 1 easy to use interface made the Enhanced Search Widget our centerpiece of all our Web AppBuilder apps.

 

I was frantically looking to find a replacement for the Enhanced Search Widget that we could use on the Experience Builder.

 

Phil Ponce assessed our needs and decided to build an Interface that not only included these Search Methods but also added a ton of extra capabilities like batch editing of Attributes, listing all data layers within a selection area as a tree view, opening related tables, executing complex SQL statements on the fly and more.

 

Using the National Education Map as an example, I will walk you through how XBUI handles Attribute Search and Graphical Search.

 

1.

Attribute Search

 

 

Launch the National Education Experience Builder Web App.

 

https://portal3.emswebmap.com/arcgisportal/apps/experiencebuilder/experience/?id=d6a80135bba441d2ae3...

 

This is how the XBUI Interface looks like.

 

DAVIDDAS1_0-1715515546328.png

 

 

 

Turn on the Schools Points data layer.

 

DAVIDDAS1_1-1715515546353.png

 

 

 

Open the Menu Options next to the Schools Points Layer and click on Select/Filter by Attributes.

 

DAVIDDAS1_2-1715515546368.png

 

 

 

This opens up an interface to create complex SQL expressions on the fly. You are no longer limited to the fixed queries that are set by the Enhanced Search Widget.

 

For example, let’s say you want to find all the Schools in the US that contain “Capitol” the School Name.

 

DAVIDDAS1_3-1715515546372.png

 

 

Select Field = SCH_NAME

 

DAVIDDAS1_4-1715515546374.png

 

 

Select Operator contains the text

 

DAVIDDAS1_5-1715515546377.png

 

 

Add Text = Capitol

 

DAVIDDAS1_6-1715515546381.png

 

 

Click on Select Using Query

 

The XBUI widget identifies 24 Schools that contain the text Capitol in the School Name field.

 

DAVIDDAS1_7-1715515546385.png

 

 

Expand the list of Identified Schools.

 

DAVIDDAS1_8-1715515546386.png

 

 

Expand the Menu Options for the first identified record.

 

DAVIDDAS1_9-1715515546392.png

 

 

Zoom to Location

 

DAVIDDAS1_10-1715515546401.png

 

 

 

The Map Zooms to Capitol Heights Middle School.

 

DAVIDDAS1_11-1715515546411.png

 

 

Click on Capitol Heights Middle School to view the Attributes.

 

DAVIDDAS1_12-1715515546421.png

 

 

Not only can you view the Attributes, you can also Edit them.

 

Open the Edit Tool next to Capitol Heights Middle School.

 

DAVIDDAS1_13-1715515546426.png

 

 

 

Now you are free to edit all the Attributes.

 

DAVIDDAS1_14-1715515546431.png

 

 

You can also Batch Edit all your selected records.

 

Open the Edit Tool next to the 24 selected Schools.

 

DAVIDDAS1_15-1715515546435.png

 

 

DAVIDDAS1_16-1715515546439.png

 

 

This is one example of how the capabilities of the XBUI Widget surpasses the Enhanced Search Widget.

 

 

 

2.

Graphical Search

 

Let’s say would want to find all the Schools within 3000ft of the intersection of Winona Ave & Federal Dr.

 

DAVIDDAS1_17-1715515546445.png

 

 

 

First, clear your current selection.

 

DAVIDDAS1_18-1715515546451.png

 

 

No records are currently selected.

 

DAVIDDAS1_19-1715515546452.png

 

 

Click on the Select by Circle Tool.

 

DAVIDDAS1_20-1715515546453.png

 

 

Click on the street intersection to establish the center of the circle.

Drag the circle to a radius of 3000ft.

 

DAVIDDAS1_21-1715515546469.png

 

 

Pay attention to the Radius reading as it updates in real time as you expand the circle.

 

DAVIDDAS1_22-1715515546471.png

 

 

The XBUI Widget identifies 3 Schools within this buffer zone.

 

DAVIDDAS1_23-1715515546473.png

 

 

Expand to see the list of schools.

 

DAVIDDAS1_24-1715515546474.png

 

The selected Schools are highlighted in cyan.

 

DAVIDDAS1_25-1715515546488.png

 

 

 

 

 

 

 

 

 

 

3.

Spatial Search

 

Let’s say you want to find all the Schools that fall within a given Zip Code.

 

The Enhanced Search Widget allows you to select a Zip Code either via an Attribute Search or a Graphical Search and then apply the Spatial Search to locate all the Schools that fall within this selected Zip Code.

 

Phil has not implemented this feature yet on the XBUI Widget.

 

The XBUI widget is still in development.

 

Please feel free to send Phil Ponce Phil@emsol.com with all your enhancement requests.

He would love to hear from you.

 

Phil is developing this advanced Selection/Query/Edit widget for the Experience Builder as a labor of love. His team uses this widget everyday on their internal GIS projects at Engineering Mapping Solution in Phoenix, Arizona.

 

Here is Phil’s contact information:

 

Phil Ponce, P.E.  Vice President

Engineering Mapping Solutions, Inc.

1355 E Northern Ave., Suite 1

Phoenix, AZ 85020

602-402-9878            (cell)

 

Phil will be at the User Conference to answer all your questions.

 

Best regards,

 

David Das

 

TimConfare2
Occasional Contributor

This is very promising.  Thank you David and Phil!  

0 Kudos
DAVIDDAS1
Occasional Contributor II

 

Hi Tim,

 

Thanks so much for your vote of confidence!

 

The XBUI widget comes with another powerful feature that mimics Robert Scheitlin’s Identify Widget.

 

Robert’s Identify widget has an Identify All Layers option that lets you draw a shape on the map and drill down all the data layers that are intersected and list out the attributes of each layer.

 

The XBUI widget does that in spades.

 

You can draw any shape on the map and the XBUI widget will list all the intersected data layers and present them in a compact Tree View. Thereafter, you can expand the Tree View and list the attributes of one or more data layers in a Table.

 

The XBUI Widget allows you to view the attributes of Related Tables as well.

 

Phil’s idea was to create a single unified interface that would replace the Enhanced Search Widget, Identify Widget, Edit Widget, Table Widget, Query Widget, Layer List Widget, Legend Widget, Bookmark Widget and more.

 

I am delighted to see how much progress Phil has made over the past few months.

 

Best regards,

 

David

0 Kudos
DAVIDDAS1
Occasional Contributor II

 

Hi Heather and Tim,

 

I have good news!

 

Phil added an enhancement to the XBUI Widget that allows you to run a Spatial Search.

 

For example, you can find all the Schools that fall within a Zip Code. You may also buffer this Zip Code before identifying all the Schools that fall within this buffer.

 

Open this URL:

 

https://portal3.emswebmap.com/arcgisportal/apps/experiencebuilder/experience/?id=d6a80135bba441d2ae3...

 

Expand the Menu

 

DAVIDDAS1_0-1715832828389.png

 

 

Click on About XBUI

 

DAVIDDAS1_1-1715832828399.png

 

 

Make sure you are using version 0.4.0

 

DAVIDDAS1_2-1715832828404.png

 

 

If not, clear your Browser Cache and reload the page.

 

 

 

Example 1:

 

You are going to find all the Schools that fall within Zip Code 85006.

 

Expand the Menu Options for the Zip Codes layer under the Table of Contents.

 

DAVIDDAS1_3-1715832828408.png

 

 

 

Select/Filter by Attributes

 

DAVIDDAS1_4-1715832828414.png

 

 

 

Enter your SQL Expression:

 

Zip is equal to 85006

 

DAVIDDAS1_5-1715832828417.png

 

 

Click on Select Using Query

 

 

1 Zip Code has been identified

 

DAVIDDAS1_6-1715832828419.png

 

 

 

Expand the Menu and select Zoom to Extent

 

DAVIDDAS1_7-1715832828420.png

 

 

 

The map zooms to Zip Code 85006.

It is highlighted in cyan.

 

DAVIDDAS1_8-1715832828435.png

 

 

 

Expand the Table of Contents

 

DAVIDDAS1_9-1715832828438.png

 

 

Turn on the School Points Layer.

 

DAVIDDAS1_10-1715832828463.png

 

 

Expand the Identify Section

Expand the ZipCodes Layer

 

DAVIDDAS1_11-1715832828466.png

 

 

 

Expand the Menu Options next to Zip Code 85006.

 

DAVIDDAS1_12-1715832828470.png

 

 

Click on Select Using Graphic

 

DAVIDDAS1_13-1715832828476.png

 

 

 

15 Schools are found within Zip Code 85006.

 

DAVIDDAS1_14-1715832828490.png

 

 

 

 

Example 2:

 

Next, you are going to find all the Schools that fall within half a mile of Zip Code 85006.

 

First, clear the current selection.

 

DAVIDDAS1_15-1715832828493.png

 

 

 

Expand the Table of Contents.

Expand the Menu next to the Zip Codes layer.

Select/Filter by Attributes

 

DAVIDDAS1_16-1715832828498.png

 

 

Use the same SQL Expression you used before.

 

DAVIDDAS1_17-1715832828501.png

 

 

Select Using Query

 

 

1 Zip Code has been identified.

 

DAVIDDAS1_18-1715832828515.png

 

 

Expand Zip Codes

 

Open the Menu Options next to Zip Code 85006.

 

DAVIDDAS1_19-1715832828517.png

 

 

 

 

Click on Buffer 300 feet. You are going to change this default Buffer Distance.

 

DAVIDDAS1_20-1715832828520.png

 

 

Change the Buffer Distance to 0.5 Miles

 

DAVIDDAS1_21-1715832828522.png

 

 

 

Apply

 

DAVIDDAS1_22-1715832828522.png

 

 

 

Click on Buffer Graphic

 

DAVIDDAS1_23-1715832828526.png

 

 

 

There are 26 Schools within half a mile of Zip Code 85006.

 

DAVIDDAS1_24-1715832828577.png

 

 

 

You can easily set up all your Custom Searches when you configure the XBUI Widget.

These Searches will appear under the Search Section similar to how the Enhanced Search Widget works.

 

 

DAVIDDAS1_25-1715832828584.png

 

 

 

Essentially, the XBUI Widget is comprised of 4 Main Sections:

 

  • Select by Shape
  • Table of Contents
  • Identify
  • Search

 

DAVIDDAS1_26-1715832828589.png

 

 

Please feel free to contact Phil Ponce Phil@emsol.com for any enhancement requests you may have.

 

Best regards,

 

David

 

DAVIDDAS1
Occasional Contributor II

 

I have more good news to share!

 

Phil has introduced a powerful feature within the Search Section of the XBUI Widget in version 0.4.4

 

To see how this works, open the National Education Web App:

 

https://portal3.emswebmap.com/arcgisportal/apps/experiencebuilder/experience/?id=d6a80135bba441d2ae3...

 

Check the version you are using by opening the Menu and selecting About XBUI

 

DAVIDDAS1_0-1716145365803.png

 

 

 

It should say version 0.4.4

 

DAVIDDAS1_1-1716145365815.png

 

 

If you are using an earlier version, clear your browser cache and reload the page.

 

 

Hover your mouse over the Search Icon in the Search Section

 

DAVIDDAS1_2-1716145365821.png

 

 

This will reveal the list of frequently used Searches that have been pre-configured for you.

 

DAVIDDAS1_3-1716145365823.png

 

 

 

In Robert Scheitlin’s Enhanced Search Widget under the BY VALUE tab, you could have a list of Search Layers like:

 

  • Counties
  • ZipCodes
  • Schools

 

Within each Search Layer you could search by a Field.

 

For example:

 

Search the Counties Layer by County Name

 

Search the ZipCodes Layer by ZipCode Value

 

Search the Schools Layer by School Name

 

Etc.

 

 

The XBUI Widget allows you to set all these different Search Layers and perform a Search based on an Attribute Value just like the Enhanced Search Widget.

 

However, it presents a simpler User Interface by combining all your predefined searches into 1 common Search Box.

 

Example-1:

 

Search for County = Maricopa

 

Enter Maricopa in the Search Box.

 

 

The XBUI Widget finds Maricopa County.

 

In addition, it also returns 14 schools that contain the text Maricopa in the School Name.

 

DAVIDDAS1_4-1716145365829.png

 

 

You may also use Wildcards in your Search.

 

Use the % Wildcard before and after “Mari”

 

Enter:

 

%Mari%

 

 

You get Maricopa County as before.

In addition the XBUI Widget returns 5 other Counties that contain the text Mari

 

DAVIDDAS1_5-1716145365833.png

 

 

 

 

Example-2:

 

Search for ZipCode 85006

 

Use the % wildcard before and after 85006 like so:

 

%85006%

 

 

 

 

DAVIDDAS1_6-1716145365835.png

 

 

Select the result.

 

DAVIDDAS1_7-1716145365837.png

 

 

1 record has been identified.

 

DAVIDDAS1_8-1716145365839.png

 

 

 

Expand ZipCodes

 

Open the Menu Options next to Zip Code 85006

 

DAVIDDAS1_9-1716145365842.png

 

 

Select Zoom to Location

 

DAVIDDAS1_10-1716145365844.png

 

 

 

The map zooms to Zip Code 85006

The selected Zip Code is highlighted in Cyan.

 

DAVIDDAS1_11-1716145365863.png

 

 

Open the Table of Contents and turn on the Schools Layer.

 

 

 

DAVIDDAS1_12-1716145365867.png

 

 

Example-3:

 

Find all Schools that contain the text Capitol in the School Name.

 

Open the Search Section and enter Capitol in the Search Box.

 

 

DAVIDDAS1_13-1716145365870.png

 

 

You could also use Wild Cards.

 

Enter:

 

%Capitol Heights%

 

 

 

 

The XBUI Widget returns 3 Schools that contain the text Capitol Heights.

 

Notice, how it also returns 1 School District that contains the text Capitol Heights.

 

DAVIDDAS1_14-1716145365872.png

 

 

Now you can begin to see the power and ease of use of having a single Search Box for all your preconfigured searches. 

 

Phil feels this approach will be a time saver for the end user.

 

You can set up as many preconfigured searches you like while configuring the XBUI Widget.

 

Advanced users are free to formulate their complex SQL expressions on the fly directly from the Table of Contents.

 

 

Example-4:

 

Find all the Charter Schools in the US that contain the text Capitol

 

Open the Table of Contents .

 

Open the Menu next to the School Points Layer.

 

Select/Filter by Attributes

 

DAVIDDAS1_15-1716145365878.png

 

 

 

Enter your first clause:

 

Sch_name contains the text Capitol

 

DAVIDDAS1_16-1716145365885.png

 

 

Add Clause

 

And Charter is equal to Yes

 

DAVIDDAS1_17-1716145365891.png

 

 

Select Using Query

 

DAVIDDAS1_18-1716145365899.png

 

 

 

The XBUI Identifies 7 Schools that contain Capitol in their name and is also a Charter School.

 

DAVIDDAS1_19-1716145365904.png

 

 

Click on the first record to view the attributes.

 

 

 

DAVIDDAS1_20-1716145365908.png

 

 

From these 4 examples you can see how the XBUI widget allows you to search based on a set of preconfigured searches or apply your own SQL clauses.

 

The ability to apply your own SQL expressions will come in handy if you have a Web App with dozens of layers like a utility map where creating preconfigured searches for every possible scenario may become unwieldy.

 

The XBUI widget is in a state of flux with enhancements being added as the requests come in.

Please feel free to contact Phil Ponce at Phil@emsol.com

 

 

Best regards,

 

David

 

TimConfare2
Occasional Contributor

Thank you Phil and David!  This looks very promising.  I am assuming we need to contact Phil to test this on our end?

0 Kudos