Virtual applications are configured on the GIS framework in the web.config file of the GIS Framework root site. Virtual applications are the basis of the FDOT GIS Framework. They allow multiple mapservices and tools for different applications running under a single ASP.Net website and Silverlight Application. Configurations that are included are the map services used by the application, components or tools included in the application, commands and external links.
Link to Complete Example...
Virtual Application Settings
At the root level of
virtualApplication there are a number of settings that are configured for your virtual application.
Settings
- authType - This attribute lets you set the authentication method that is being used by the virtual application. The valid values are ("None","Racf","ActiveDirectory","InternetSubscriberAccount"). If this attribute is not set then the virtual application will default to None.
Example
<virtualApplication initialExtent="-9826373.649,3704108.612,-8689284.583,2780875.748"
name="gev" logoImage=http://tlbstws3.dot.state.fl.us/gisframework/images/dotlogo.png
authType="None" title="GIS Enterprise View"
helpText="The GIS Enterprise View is intended to allow FDOT staff access to various
data sources to analysis on a map"
isDefault="true">
Map Services
Under a virtual application node, map services for the Virtual Application are configured. One or multiple
ArcGIS Server mapservices can be configured for the virtual application.
IMPORTANT Dynamic Map services must have a spatial reference with a WKID instead of just a WKT.
Tips for Mapservices Creation for FrameworkSettings
Name | Description |
---|
allowQuery | Specifies if the map service can be queried against. Valid Values ('true','false'). |
allowView | Specifies if the map service is viewable on the map or only for access through code. Valid Values ('true','false'). |
alternateIdentifyService |
collapsedGroupIds | Allows group layers in the map service to be collapsed up to the the group level. This causes the TOC to only only display the group layer. The ids of the group are semicolon delimited. Example: collapsedGroupIds="96;171". |
displayName | This is the name of the map service that is displayed in the toc. Example: displayName = "Streets". |
isOverviewMap | This attribute allows you to specify if it is used as the overview map for the virtual application. Valid Values ('true','false'). |
mapServiceType (Required) | Specifies type of the map service as either dynamic or tiled. Valid Values ('Tiled','Dynamic'). |
minimumResolution |
name |
url (Required) | This is the url of the map service. Example: url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/". |
disallowCachingFeatureTypes | By default, client-side caching is enabled for all data retrieved from map services. To disable caching for specific layers supported by a map service, specify them by name. Multiple layers can be specified - no delimter is currently required. |
allowCaching | Client-side caching is, by default, provided for all map services when client-side caching is enabled. To disable caching for all layers supported by a map service, set allowCaching="false". |
Example
<mapServices>
<mapService name="streets" mapServiceType="Tiled" displayName="Streets" allowQuery="false"
alternateIdentifyService="gev-tiled"
url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/" isOverviewMap="true"/>
<mapService name="topography" mapServiceType="Tiled" displayName="Topography" allowQuery="false"
alternateIdentifyService="gev-tiled"
url="http://server.arcgisonline.com/ArcGIS/rest/services/USA_Topo_Maps/MapServer/" />
<mapService name="aerials" mapServiceType="Tiled" displayName="Aerials" allowQuery="false"
minimumResolution="0.597164283559817" alternateIdentifyService="gev-tiled"
url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/" />
<mapService name="gev-tiled" mapServiceType="Tiled" displayName="Streets" allowQuery="true" allowView="false"
url="http://tlbstws4.dot.state.fl.us/arcgis/rest/services/GEV_BOUNDARIES_CMS/MapServer" />
<mapService name="gev-dynamic" mapServiceType="Dynamic" displayName="Operational Layers" collapsedGroupIds="96;171"
url="http://tlbstws4.dot.state.fl.us/arcgis/rest/services/GEV_DMS/MapServer/"
disallowCachingFeatureTypes="Permit Information" />
</mapServices>
Components
The components that are configured on the virtual application will be displayed in the toolbar of the application. See also
Developing Components and
Existing Components.
Settings
Name | Description |
---|
customSettings | A key-value pair that allows custom settings to be configured for a particular component. |
group |
hotkey | The key that will be used with ctrl to open the component. Example: hotkey="Q". |
name (Required) | The name of the component that will displayed throughout the application. Example: name="Query Tool". |
requireauth | This sets if the component requires the user to be authenticated to be loaded into the application. Valid Values ('true','false'). |
type (Required) | This is the full type name for the component including the namespace. Example="FDOT.GIS.Client.Components.ViewModels.TocViewModel". |
xapUri (Required) | The uri for the xap file that the component is located inside. Example: "FDOT.GIS.Client.Components.xap". |
Example
<components>
<component name="Map Layers" type="FDOT.GIS.Client.Components.ViewModels.TocViewModel"
xapuri="FDOT.GIS.Client.Components.xap" helpText="Switch basemaps or turn data layers on or off" hotkey="T" />
<component name="Identify" type="FDOT.GIS.Client.Components.ViewModels.IdentifyViewModel"
xapuri="FDOT.GIS.Client.Components.xap" helpText="Identify map feature" hotkey="I"/>
<component name="Query" type="FDOT.GIS.Client.Components.ViewModels.QueryTool.QueryViewModel"
xapuri="FDOT.GIS.Client.Components.xap" helpText="Query map layers" hotkey="Q" />
<component name="Measure" type="FDOT.GIS.Client.Components.ViewModels.MeasureTool.MeasureToolViewModel"
xapuri="FDOT.GIS.Client.Components.xap" helpText="Measure distances on the map" hotkey="M" />
<component name="Draw" type="FDOT.GIS.Client.Components.ViewModels.DrawToolViewModel"
xapuri="FDOT.GIS.Client.Components.xap" helpText="Draw geometry on the map" hotkey="D"/>
<component name="Address Lookup" type="FDOT.GIS.Client.Components.ViewModels.AddressLookupTool.AddressLookupViewModel"
xapuri="FDOT.GIS.Client.Components.xap" helpText="Locate Florida addresses" hotkey="A" />
<component name="Zoom" type="FDOT.GIS.Client.Components.ZoomToBoxComponent"
xapuri="FDOT.GIS.Client.Components.xap" helpText="Zoom to selected region" />
<component name="Zoom To Feature" type="FDOT.GIS.Client.Components.ViewModels.ZoomToViewModel"
xapuri="FDOT.GIS.Client.Components.xap" helpText="Zoom to specified map features" hotkey="Z"/>
<component name="Get Coordinates" type="FDOT.GIS.Client.Components.ViewModels.CoordinatesViewModel"
xapuri="FDOT.GIS.Client.Components.xap" helpText="Get lat/long coordinates" hotkey="C">
<customSettings>
<add name="Projections" value ="3087:Albers,102100:Web Mercator" />
</customSettings>
</component>
<component name="Zoom To Coordinates" type="FDOT.GIS.Client.Components.ZoomToCoordinatesComponent"
xapuri="FDOT.GIS.Client.Components.xap" helpText="Zoom to lat/long coordinates" />
<component name="Print" type="FDOT.GIS.Client.Components.ViewModels.PrintOptionsViewModel"
xapuri="FDOT.GIS.Client.Components.xap" helpText="Print the current map view" hotkey="P"/>
</components>
Commands¶
Commands are configured on the virtual application to allow the commands to called through Javascript. See also
Developing New Scriptable Commands and
Existing ScriptableCommands.
Settings
Name | Description |
---|
customSettings | A key-value pair that allows custom settings to be configured for a particular command. |
name (Required) | The name of the command that will be executed through javascript. |
type (Required) | This is the full type name for the command including the namespace. Example="FDOT.GIS.Client.Commands.SetExtentCommand". |
xapuri (Required) | The uri for the xap file that the command is located inside. If left empty the client xap file will be used. Example: "FDOT.GIS.Client.Components.xap". |
Example
<commands>
<command name="zoomToCounty" type="FDOT.GIS.Client.Commands.ZoomToCountyCommand" xapuri="" >
<customSettings>
<add name="layerId" value ="3" />
<add name="columnId" value ="NAME" />
<add name="mapServiceName" value="gev-tiled" />
<add name="forceUppercase" value="true" />
</customSettings>
</command>
<command name="zoomToCustom" type="FDOT.GIS.Client.Commands.ZoomToCustomInitialCommand" xapuri="" />
<command name="setExtent" type="FDOT.GIS.Client.Commands.SetExtentCommand" xapuri="" />
<command name="showLayers" type="FDOT.GIS.Client.Commands.ShowLayersCommand" xapuri="" />
<command name="drawGraphic" type="FDOT.GIS.Client.Commands.DrawCommand" xapuri="" />
<command name="getCodes" type="FDOT.GIS.Client.Commands.GetCodesCommand" xapuri="" />
<command name="query" type="FDOT.GIS.Client.Components.Commands.QueryCommand" xapuri="FDOT.GIS.Client.Components.xap" />
</commands>
Feature Actions
Allows the application to be configured with links to external applications. The results view will use the configured external links. See Also
Developing New Feature Actions.
Settings
Name | Description |
---|
customSettings | A key-value pair that allows custom settings to be configured for a particular feature action. |
type (Required) | This is the full type name for the feature action including the namespace. Example="FDOT.GIS.Client.Domain.BufferQueryLink". |
xapuri (Required) | The uri for the xap file that the feature action is located inside. If left empty the client xap file will be used. Example: "FDOT.GIS.Client.Components.xap". |
Example
<featureActions>
<featureAction type="FDOT.GIS.Client.Domain.FeatureActions.BufferQueryLink" xapuri=""></featureAction>
<featureAction type="FDOT.GIS.Client.Domain.FeatureActions.MeasureFeatureAction" xapuri=""></featureAction>
<featureAction type="FDOT.GIS.Client.Domain.FeatureActions.ZoomToFeatureAction" xapuri=""></featureAction>
<featureAction type="FDOT.GIS.Client.Domain.FeatureActions.EnterpriseInformationPortal.EnterpriseInformationPortalContractDetailLink" xapuri="">
<customSettings>
<add name="webserver" value ="webapp01.dot.state.fl.us" />
</customSettings>
</featureAction>
</featureActions>
See Also