MicroStrategy ONE

ESRI Configuration File

When you install MicroStrategy Web, the ESRI configuration file, mapConfig.xml, is saved by default under WEB-INF/xml/config in the MicroStrategy Web installation directory.

To set up and configure custom ESRI map integration, you create a plug-in and copy the out‑of‑the‑box ESRI configuration file to the plug-in. You make all your customization changes to the file in the plug-in, not to the out‑of‑the‑box file. This lets you save your MicroStrategy map key and maintain your customizations during an upgrade. All references to customizing refer to the ESRI configuration file in the plug-in.

The contents of the out-of-the-box mapConfig.xml file are shown below, followed by a table that explains each of the elements and attributes in the file.

Copy
<mc>
    <ec>
        <!-- The following nodes are used for on-premises map integration -->
        <bms>
            <bm key="default">http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer</bm>
        </bms>
        <pjs>
            <pj id="B19DEDCC11D4E0EFC000EB9495D0F44F">
                <at id="54BABC8311D59D57C000B28A4CC5F24F">
                    <ml>http://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/USA_States_Generalized/FeatureServer/0</ml>
                    <qf>['STATE_NAME']</qf>
                    <ea>state_name</ea>
                </at>
            </pj>
        </pjs>
        <!-- End of nodes used for on-premises map integration -->

        <!-- The following nodes are used for cloud-based map integration, including out-of-the-box map integration -->
        <apps></apps>
        <webmaps>
            <webmap id="5fac74d8e7924e169afdc01105235324" default="true" />
        </webmaps>
        <layers>
            <layer id="1"
                title="US-States"
                ml="http://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/USA_States_Generalized/FeatureServer/0"/>
                <layer id="2"
                    title="US-ZipCodes"
                    ml="http://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/USA_ZIP_Codes/FeatureServer/0"/>
                <layer id="3"
                    itle="US-Counties"
                    ml="http://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/USA_Counties_Generalized/FeatureServer/0"/>
                <layer id="4"
                    title="World-Countries Detailed"
                    ml="http://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/World_Countries/FeatureServer/0" />
                <layer id="5"
                    title="World-Countries Generalized"
                    ml="http://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/World_Countries_(Generalized)/FeatureServer/0" />
                <layer id="6"
                    title="World-Admin-Divisions"
                    ml="http://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/World_Administrative_Divisions/FeatureServer/0"/>
        </layers>

        <!-- The following values identify the geo-role of the primary (roleId) and secondary (sfr) geo attributes in the <shape> node -->
        roleId 1 = "City"
        roleId 2 = "State"
        roleId 3 = "Country"
        roleId 4 = "Location"
        roleId 5 = "Latitude"
        roleId 6 = "Longitude"
        roleId 7 = "Other"
        roleId 8 = "ZipCode"
        roleId 9 = "County"
        <!-- End of values that identify geo-role of the primary (roleId) and secondary (sfr) geo attributes -->

        <shapes>
            <shape id="100"
                default="true"
                desc="US State Names"
                roleId="2"
                type="Polygon"
                descWeb="mstrweb.9229"
                descFlash="mstr.1622"
                descDesktop="26973"
                qf="['STATE_NAME']"
                ea="state_name"
                layerId="1" />
            <shape id="200"
                desc="US State Abbreviations"
                roleId="2"
                type="Polygon"
                descWeb="mstrweb.9229"
                descFlash="mstr.1622"
                descDesktop="26973"
                qf="['state_abbr']"
                ea="state_abbr"
                layerId="1" />
            <shape id="300"
                desc="US Zip Codes"
                roleId="8"
                type="Polygon"
                descWeb="mstrweb.9229"
                descFlash="mstr.1622"
                descDesktop="26973"
                qf="['ZIP']"
                ea="ZIP"
                layerId="2"/>
            <shape id="400"
                desc="Countries of World"
                roleId="3"
                type="Polygon"
                descWeb="mstrweb.9229"
                descFlash="mstr.1622"
                descDesktop="26973"
                qf="['ISO','Country']"
                ea="Country"
                layerId="5" />
            <shape id="500"
                desc="World Admin Divisions"
                roleId="2"
                type="Polygon"
                descWeb="mstrweb.9229"
                descFlash="mstr.1622"
                descDesktop="26973"
                qf="['NAME']"
                ea="NAME"
                layerId="6" />
            <shape id="600"
                desc="US Counties"
                roleId="9"
                type="Polygon"
                descWeb="mstrweb.9229"
                descFlash="mstr.1622"
                descDesktop="26973"
                qf="['NAME']"
                sf="STATE_NAME"
                sfr="2"
                pk="FID"
                ea="NAME"
                layerId="3" />
        </shapes>
        <!-- End of nodes used for cloud-based map integration -->
    </ec>
</mc>

XML Structure

The table below describes all of the attributes and elements in the ESRI configuration file. The three columns in the table include the following information:

Parent Element

- Child Element 1

- Child Element 2

Indicates the name of the element described in the next two columns. If this is a parent element, the names of all possible child elements are listed below the parent element.

Number of Nodes

Specifies the number of nodes that are required or allowed for the corresponding element in the Parent Element column. For example, if the value is "1", there must be only one node— no more, no less. If the value is "0 or more", the node is not required ("0"), but there is no restriction on the number of nodes that can be added ("or more"). If the value is "1 or more", the node is required ("1"), but there is no restriction on the number of nodes that can be added ("or more").

Description

Describes the parent element in the Parent Element column.

Parent Element Number of Nodes Description
<mc> 1 The <mc> element is the root node for the map configuration file. It is the parent node for the child container nodes for a different type of map configuration.

<ec>

- <bms>

- <pjs>

- <apps>

- <webmaps>

- <layers>

- <shapes>

1

The <ec> element is the parent node for the ESRI configuration. It is the parent node for the child container nodes for base maps and projects.

<bms>

- <bm>

1

The <bms> element is the container node for all of the base maps. It contains a separate node for each base map.

<pjs>

- <pj>

1

The <pjs> element is the container node for all of the projects. It contains a separate node for each project.

<apps>

- <app>

1

The <apps> element is the container node for all of the web map applications. It contains a separate node for each application. The value of the <apps> element provides the MicroStrategy Map key. In order to use MicroStrategy's out-of-the-box map integration, users must get their key from MicroStrategy Technical Support and enter it as the value of this element.

<webmaps>

- <webmap>

1

The <webmaps> element is the container node for all of the web maps. It contains a separate node for each web map.

<layers>

- <layer>

1

The <layers> element is the container node for all of the map layers. It contains a separate node for each map layer.

<shapes>

- <shape>

1

The <shapes> element is the container node for all of the map area definitions. It contains a separate node for each map area definition.

<bm>

1 or more

The <bm> element identifies a single base map. This base map can be on a local ArcGIS Server or a public server on the cloud; this is determined by the URL you provide as the value. This element has the following attributes:

The key attribute is automatically set to "default."

To use dynamic map services rather than cached map services, add the isDyn attribute and set it to "1."

To always use the proxy server, add the proxyURL attribute and set it to "true."

The value of this element is a valid URL path to the ESRI base map that is used by the Map widget.

For example: http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer

<pj>

- <at>

1 or more

The <pj> element identifies a single project and is the container node for all of the mapped geo attributes in that project. This element has the following attribute:

The value of the id attribute is a GUID, enclosed in double quotes, for the MicroStrategy project that provides data for the Map widget. For example: "B19DEDCC11D4E0EFC000EB9495D0F44F"

<webmap>

1 or more

The <webmap> element identifies a single web map. This element has the following attributes:

The id attribute is set to the value of the ESRI identifier for the web map.

The attribute of this element is set to "true" to tell the application to use this web map. If this attribute is missing or set to "false", this web map is not used.

The default element identifies the out-of-the-box MicroStrategy web map that is used for out-of-the-box map integration.

 

<app>

- <key>

1 or more

The <app> element identifies a single web map application. The primary purpose of this node is to host the ESRI credentials associated with a particular this web map application. This element has the following attributes:

The id attribute of this element is set to a unique value. This is the same value as the value of the attribute in the node for this web map. It allows the application to retrieve the correct ESRI credentials (AppID and AppSecret) to be used to access the private web map on the ESRI cloud.

The AppID attribute is set to the value that was generated when the web map application was created and registered.

The AppSecret attribute is set to the value that was generated when the web map application was created and registered.

<key>

1

The <key> element identifies the value of the MicroStrategy Map key provided to you by MicroStrategy Technical Support for out-of-the-box map integration.

<layer>

1 or more

The <layer> element identifies a single map layer. This element has the following attributes:

The id attribute is a unique integer that identifies this map layer.

The title attribute is a unique descriptive name, such as "US-States".

The ml attribute is a valid URL path to a specific document/map layer on an ESRI Server that provides data to the Map widget. For example: "http://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/USA_States_Generalized/FeatureServer/0"

<shape>

1 or more

The <shape> element identifies a single map area definition. This element has the following attributes:

The id attribute is a unique integer that identifies this map area definition.

The default attribute is a BOOLEAN that specifies whether this is the default map area definition.

The custom attribute is optional and is set to "true" to indicate that the map should use a custom shape file.

The plugin attribute is optional and is set to the name of the custom shapes plug-in when you create and use custom shapes.

The desc attribute is a description of the map area definition, such as " US State Names ."

The roleId attribute identifies the geo role of the primary geo attribute.

The type attribute is set to "POLYGON."

The descWeb attribute is a reference to a file that has the description for this map area definition when it is used in MicroStrategy Web. For example: "mstrweb.9229."

The descFlash attribute is a reference to a file that has the description for this map area definition when it is used in Flash view. For example, "mstr.1622."

The descDesktop attribute is a reference to a file that has the description for this map area definition when it is used in MicroStrategy Desktop. For example, "26973."

The qf attribute specifies the query field names/geo attributes in the ESRI database that provides data to the Map widget. These field names are used to construct the SELECT clause in the SQL statement that fetches data from the ESRI database. The value of this attribute is a valid field name/geo attribute, enclosed in brackets and single quotes. For example, ['STATE_NAME'].

The sf attribute identifies the secondary geo attribute. This value should match the value of the sf attribute in the <elem> element of the map name conversions configuration file. Each <elem> element defines a name conversion rule. The secondary geo attribute can be used to further restrict a name conversion rule.

The sfr attribute identifies the geo role of the secondary geo attribute.

The pk attribute identifies the primary key for the element.

The ea attribute specifies the ESRI geo attribute whose corresponding mapped MicroStrategy attribute is used to retrieve the MicroStrategy data used by the Map widget. This value is used to construct the WHERE clause in the SQL statement that fetches data from the ESRI database (the value following and to the left of the equal sign). The value of this attribute is a valid field name/geo attribute.

The layerId attribute references the attribute of the specific <layer> element used by this shape.

<at>

- <ml>

- <gf>

- <ea>

1 or more

The <at> element identifies a single MicroStrategy geo attribute and is the container node for the information required to construct the SQL statement used to fetch data from the ESRI database.

The value of the <at> element is used to construct the WHERE clause in the SQL statement that fetches data from the ESRI database (the value to the right of the equal sign).

This element has the following attribute:

The value of the id attribute for this element is a valid GUID, enclosed in parentheses, for a geo attribute in the parent MicroStrategy project that is mapped to an ESRI geo attribute. For example: "54BABC8311D59D57C000B28A4CC5F24F"

The corresponding ESRI value for the WHERE clause is obtained using the ESRI field name specified by the <ea> element.

<ml>

1

The <ml> element specifies a single map layer, which represents the ESRI table to be queried. This value is used to construct the FROM clause in the SQL statement that fetches data from the ESRI database.

The value of this element is a valid URL path to a specific document/map layer on an ESRI Server that provides data to the Map widget. For example: http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5.

This can be the same ESRI Server that supplies the base map or a different server. It can be a local ArcGIS Server or a public server on the cloud.

<qf>

1

The <qf> element specifies the query field names/geo attributes in the ESRI database that provides data to the Map widget. These field names are used to construct the SELECT clause in the SQL statement that fetches data from the ESRI database. They can be referenced as macros in the HTML for a custom Information Window.

The values of this element are valid field names/geo attributes, enclosed in single quotes, in the ESRI database table specified by the element. For example: 'STATE_NAME','POP2008' or 'ZIP.'

If more than one value is provided, the entire list of values should be enclosed in square brackets, with each individual value enclosed in single quotes and separated by commas. One of the values must be the ESRI geo attribute that is mapped to a MicroStrategy attribute (the attribute specified by the attribute).

<ea>

1

The <ea> element specifies the ESRI geo attribute whose corresponding mapped MicroStrategy attribute is used to retrieve the MicroStrategy data used by the Map widget. This value is used to construct the WHERE clause in the SQL statement that fetches data from the ESRI database (the value following and to the left of the equal sign).

The value of this <ml> element is a valid field name/geo attribute, enclosed in single quotes, in the ESRI database table specified by the element. For example: STATE_NAME or ZIP .

The corresponding MicroStrategy value for the WHERE clause is obtained using the MicroStrategy attribute GUID specified by the <at> element.

Related

KB483288: Connection to ESRI resets in Web although the connection between the web server machine and the ArcGIS servers is available