Modify Web.config Settings

If necessary, navigate to C:\inetpub\wwwroot\Wavepoint and open Web.config in a text editor (Notepad++ or XMLSpy).

This section discusses each of the configurable entries and what you can accomplish in them. If you would like to see a sample Web.config in its entirety, visit the myArcFM page Wavepoint-Example web.config file.

You can adjust the following Web.config keys to suit your business needs.

IMPORTANT: Any time you change the Web.config, open a new browser window or be certain to clear the cache. This ensures you are viewing the latest files and configurations.

AGSRoot - Required

Change the URL in that line to reflect the machine you are using as your server.

If your server is configured to use the Web Adapter, you may omit the ":6443" and replace "arcgis" with the name of your Web Adapter.

IMPORTANT: Starting at Wavepoint version 1.4, the URL must be appended with “/rest/services” as seen below.

<add key="AGSRoot" value="https://yourservername:6443/arcgis/rest/services" />

AGSMapServicePath - Required

For secured and unsecured services, this is the name of your published map service. If you do not remember the name of the published map service, you can find the name in ArcGIS Server Manager > Services.

<add key="AGSMapServicePath" value="NameOfWavepointMapService" />

For Portal, use the URL as shown in the Federal Service’s Overview page.

AGSTokenGenerator

This field contains the path to the generateToken method. For example:

AGS:

<add key="AGSTokenGenerator" value="https://<machine>/arcgis/tokens/generateToken" />

Portal:

<add key="AGSTokenGenerator" value="https://<portal>/portal/sharing/rest/generateToken" />

IMPORTANT: The AGSTokenGenerator and AGSIsPortal fields are optional, but highly recommended. If they are omitted, two things happen:
  • When there is no AGSLogin or AGSPassword provided, the system connects to an unsecured service as before. It does not connect to a secured service.

  • When there is an AGSLogin and AGSPassword, the system attempts to discern whether this is Portal or AGS based upon the generateToken link. This does not always work.

AGSIsPortal

If the token generator is Portal, set this value to true. If it is not Portal, set this value to false.

If Portal:

<add key="AGSIsPortal" value="true" />

If not Portal:

<add key="AGSIsPortal" value="false" />

IMPORTANT: The AGSTokenGenerator and AGSIsPortal fields are optional, but highly recommended. If they are omitted, two things happen:
  • When there is no AGSLogin or AGSPassword provided, the system connects to an unsecured service as before. It does not connect to a secured service.

  • When there is an AGSLogin and AGSPassword, the system attempts to discern whether this is Portal or AGS based upon the generateToken link. This does not always work.

AGSLogin and AGSPassword - Optional

The AGSLogin field indicates the username for AGS if accessing either Secured or Federated Services. If not accessing those services, this field may be left blank.

The AGSPassword field indicates the password for AGS if accessing either Secured or Federated Services. If not accessing those services, this field may be left blank.

<add key="AGSLogin" value="example_login" />
<add key="AGSPassword" value="example_password" />

ALoss and BLoss - Optional

The Web.config file comes pre-populated with wavelengths of 1310 and 1550 nanometers (nm).

<add key="ALoss" value="1310" />
<add key="ALoss" value="1550" />

Searchable Layers - Optional

You can add to the list of searchable layers referenced by the Wavepoint search tool.

By default, the following layers are searchable:

  • Cables

  • Circuits

  • Patch Locations

  • Racks

  • Splice Points

To use this list of defaults, leave the SearchableLayers value null.

<add key="SearchableLayers" value="" />

To add an additional searchable layer, type its layer number as the value. If adding multiple layers, separate each layer number by a space.

<add key="SearchableLayers" value="8 9" />

To determine layer numbering, visit the REST URL page for the map service. The REST URL is located on the Capabilities menu for the map service itself.

Added layers are searchable by their Display Field set in the layer properties.

IMPORTANT:
  • When locating a default searchable layer (those in the list above), the search results include that layer’s related records. However, searchable layers you add manually to the list do not include their related records in the search results.

  • You cannot add non-spatial tables since the search tool supports only feature classes. If you do add a table as a searchable layer, it does not harm the search tool, but it does not appear in the list either.

  • Do not add layer numbers corresponding to features for which Wavepoint displays a one-line diagram. These include splices and patch locations. Wavepoint uses a different mechanism for including these features in its search.


Example: Add Buildings and Parcels as Searchable Layers

As an example, here is how to add features such as buildings and parcels as searchable layers:

  1. In ArcMap, access the Layer Properties > Display tab to ensure a useful field is chosen as the display field.

  2. If you have made any changes to your map, including modifying the display field as described in the previous step, re-publish your map service.

  3. In ArcGIS Server Manager, click your Service, then click Capabilities.

  4. Click the REST URL to view the contents of the published service.

  5. Locate the layers you want to add to the Wavepoint searchable layers. In the following image, Building is #8 and Parcel is #9.

  6. In the Web.config, modify the SearchableLayers to include these layer numbers (multiple numbers should be separated by a space):

    <add key="SearchableLayers" value="8 9" />
  7. Open or refresh Wavepoint in your browser.

  8. Notice your layers are now searchable in the application:

  9. Also notice you can search on the Display field set in the Layer Properties:

LocatorServiceUrl - Recommended

We strongly recommend you use the default value here, which is the ArcGIS Online locator service. You can, however, provide the URL of another locator service.

IMPORTANT:

Wavepoint versions 10.1.1 and 10.2 shipped with the following default value for this key in the Web.config file:

<add key="LocatorServiceUrl" value="http://tasks.arcgisonline.com/ArcGIS/rest/services/Locators/TA_Address_NA_10/GeocodeServer" />

In late 2013 the value above was discontinued by Esri .

Use the following key instead:

<add key="LocatorServiceUrl" value="https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer" />

UseAGOLBasemaps - Optional

Set this value to true if you want all of the ArcGIS Online basemaps to display. Set to false if you do not want to display ArcGIS online basemaps.

<add key="UseAGOLBasemaps" value="true" />

UseBingBasemaps and BingMapApiKey - Optional

Set this value to true if you want all of the Bing basemaps to display.

<add key="UseBingBasemaps" value="true" />

If you set this value to true, there are two more configurations to make in order to see the maps:

  • You must supply a BingMapsApiKey. Refer to Microsoft's Bing maps help topic for guidance.

    <add key="BingMapApiKey" value="123exampleAPIKey456" />

  • You must add the Bing maps URL to the list of URLs under the “Content-Security-Policy.”

    • The Bing maps URL is https://dev.virtualearth.net/

    • It should be added with the other URLs after 'unsafe-eval' (it is bold in the code snippet below).

    • The URLs should be separated by a single space.

    <add name="Content-Security-Policy" value="default-src 'self';
    img-src http: blob: filesystem: data:;
    style-src 'unsafe-inline' http://fonts.googleapis.com http://js.arcgis.com https:;
    script-src 'unsafe-inline' 'unsafe-eval' http://js.arcgis.com https://services.arcgisonline.com https://dev.virtualearth.net/ {source} {source};
    font-src http://fonts.gstatic.com https://js.arcgis.com;connect-src https:;media-src 'none'; frame-ancestors 'none'"/>

If you do not intend to use Bing Maps, change the value to false and set the API key to a dummy value. You can literally use the word dummy as the value.

<add key="UseBingBasemaps" value="false" />
<add key="BingMapApiKey" value="dummy" /> 

Custom Basemaps - Optional

You may not want to include all Bing or all ArcGIS Online basemaps. It is possible to configure a subset of each individually or together to provide your own fully customized basemap. Read Configure Custom Basemaps (optional) to learn more about custom basemap configuration.

If you do opt to customize the list of basemaps, an example entry in the Web.config could look like the following:

<add key="basemap.1" value="{title:'My Streets', url:'', type:'OpenStreetMap', key:'', thumbnail:''}" />
<add key="basemap.2" value="{title:'Hybrid', url:'', type:'BingMapsHybrid', key:'', thumbnail:''}" />
<add key="basemap.3" value="{title:'Light Gray', url:'', type:'agol', key:'8b3b470883a744aeb60e5fff0a319ce7', thumbnail:''}" />
<add key="basemap.4" value="{title:'Imagery', url:'', type:'agol', key:'86de95d4e0244cba80f0fa2c9403a7b2', thumbnail:''}" />

InitialMapCenter - Recommended

When the application opens, the map centers on a specified geography. Enter the decimal degree location for the longitude (x) and latitude (y), separated by a comma. It is required to specify the longitude first, followed by the latitude. For example, for the map to open centered on Fort Collins, CO, USA, the entry looks like the following:

<add key="InitialMapCenter" value="[-105.0284,40.5690]" />

InitialMapZoom - Optional

When the application opens, the map starts at a specified zoom extent. This extent is dictated by an integer value for the IntialMapZoom (decimal values are not permitted). The minimum is 0 and the maximum is 20. The lower the number, the farther the map is zoomed out upon opening the application. The higher the number, the closer the map is zoomed in. Think of it like a volume control on a radio, where you don’t choose an exact decibel value, but instead use a relative scale of low to high. Finding the best starting zoom is best tested with your end users.

For example, setting the value at 0 means the map opens essentially at a world-wide scale:

And, setting the value at 20 means the map opens at a parcel level scale:

The default value provided in the Web.config is 11.

<add key="InitialMapZoom" value="11" />

PointGeometryZoom - Optional

You can add this entry in the Web.config if you want the map to zoom on point features at a different zoom extent than the initial map zoom extent. This is an optional setting.

Just like the InitialMapExtent, the PointGeometryZoom is dictated by an integer value (decimal values are not permitted). The minimum is 0 and the maximum is 20. The lower the number, the farther the map zooms out when you click a point feature. The higher the number, the closer the map zooms in when you click a point feature.

For example, if the InitialMapExtent value is 11, typing in a value of 15 for the PointGeometryZoom means the map zooms in closer when navigating to point features.

TIP: Regarding line features, there is no separate entry, as the application initially zooms to the geographic extent of the line, using the begin and end points to set the zoom extent.

<add key="PointGeometryZoom" value="15" />

PortStateColors - Optional

This key is used to change the port colors visible in the Wavepoint rack view and in other views as well.

The following is the default value of this field:

<add key="PortStateColors" value="1(Circuit):#FF6600, 2(Reserved):#FF0000, 3(Damaged):#FFFF00, 4(Available):#9900FF, 5(Permanent - In Service):#000000, 6(Temporary - In Service):#0000CC, 7(Allocated - Not Installed):#FF6600, 8(Installed - Not In Service):#CC66CC, 9(Uncertain):#444455, -1(Other):#555555

Follow the same pattern when making modifications:

Coded value from a domain such as Port Status(optional name such as Circuit):Hex Color Code

DefaultLinearUnit - Recommended

Change this to the distance unit label you would like to see in the Wavepoint application.

For example, enter ft for feet:

<add key="DefaultLinearUnit" value="ft" />

Or, enter m for meters:

<add key="DefaultLinearUnit" value="m" />

DefaultSpatialReference - Required

As stated in the topic Configure Customer Basemaps (optional), you are allowed one projection for all basemaps. In other words, different basemaps cannot have different projections. So, if you have opted to include ArcGIS Online maps, you must enter the value for WGS Web Mercator, as that is the projection used by this service.

If you are not using the online service, this value should match the spatial reference of your company’s custom basemaps.

For more information, read the ArcGIS Resources topic Web Map Specification.

The following example uses the value for WGS Web Mercator:

<add key="DefaultSpatialReference" value="{wkid:102100}" />

IdentifyTolerance - Optional

By default, the Web.config provides a tolerance or “buffer” of 10 pixels as the search proximity when users click to identify a feature on the map. For usability purposes, this gives the user a small buffer around the click point when identifying features. In this way, the user does not have to be exactly on the feature but merely near it to identify it. The higher the value, the larger the buffer size.

<add key="IdentifyTolerance" value="10.0" />

IMPORTANT: Near the IdentifyTolerance setting in the Web.config is an IdentifyBuffer setting, which is also set to 10. Leave the IdentifyBuffer set to 10. This value has no effect on the end user’s ability to click and identify features in the map. It is used solely by the application in its geometric calculations, and changing the value could produce errors.

DisplayFieldOverrides - Optional

By default, Wavepoint defers to ArcGIS Server to acquire the display field (see Search Field for more information). The display field is also used for search operations. If that is acceptable, leave the entry as the default:

<add key="DisplayFieldOverrides" value="[]" />

If you want to search on a different field other than the designated display field, DisplayFieldOverrides can be specified. Only one field can be searchable in Wavepoint per feature class or object class. For example, if you specify the ObjectID in the DisplayFieldOverrides key for a feature class, and Name is the designated display field in the service, you are not able to search by Name. Only ObjectID would be used in a search for that feature class.

This is a JSON field, so the value needs to be valid JSON. Otherwise, this value is ignored.

In the example, this key value tells the application to use PortName as the display field for layers with layerID 37 and layerID 40.

<add key="DisplayFieldOverrides" value="[{ 'layerId': 37, 'displayField': 'PortName' },{ 'layerId': 40, 'displayField': 'PortName']" />

DisableQueryPagination - Recommended

Due to issues encountered with SQL Server 2008 R2 and its lack of support for pagination, you can set this Boolean value to DisableQueryPagination = true. If you do not encounter issues, this can safely be omitted.

<add key=”DisableQueryPagination” value=”true” />

UseAscendingRowNumbers - Optional

By default, racks are numbered from bottom to top. If that is the desired numbering, no changes need to be made to the Web.config. However, if you require racks to be numbered from top to bottom, add the following:

<add key="UseAscendingRowNumbers" value="true" />

A value of “false” is the same as the default: the racks are numbered bottom to top.

httpRuntime targetFramework - Recommended

Ensure the httpRuntime version number is set to 4.8. Depending on when you first implemented the application, the version might be out of date.

<httpRunTime targetFramework="4.8"/>

System.Net.Http - Required

Search for the following in the web.config:

<dependentAssembly>
   <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
   <bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.0.0.0" />
</dependentAssembly>

If it is already present, there is nothing to do. However, if it is not present, copy and paste it into the web.config. It should be pasted directly before the System.Net.Http.Formatting element.

Newtonsoft.json Version - Required

Ensure the oldVersion and newVersion entries match the following:

<dependentAssembly>
   <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
   <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" /> 

Log Location - Optional

By default, the application writes logs to the following directory: C:\Logs\Wavepoint.txt. You can change the location of the log file within this portion of the Web.config:

<appender name="FileAppender" type="log4net.Appender.FileAppender">
   <file value="C:\Logs\Wavepoint.txt"/>

If you change the directory, ensure the file path has read and write permissions. Do not use a secured path, as the application is not able to write to it.

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.

Was this helpful?