MicroStrategy ONE

Configuring ESRI custom cloud-based map integration

To integrate the MicroStrategy platform with a custom cloud-based ESRI map, you need to identify the new map and tell MicroStrategy to use it and not the out-of-the-box ESRI map. The new map can be either a public map or a private map you create. Authentication with the ESRI cloud is handled by the web server by default, but you can configure the client to authenticate directly with ESRI and bypass the web server.

  • Creating a private ESRI map or obtaining a public map from ESRI
    You can purchase an ESRI license and create your own private maps, or you can go to the ESRI map gallery and obtain public maps that are shared. If you are using a private ESRI map, you need to purchase an ESRI license and generate the credentials used to access that map. Visit the ESRI web site to obtain an ESRI license.

  • Configuring MicroStrategy to use a custom cloud-based ESRI map, instead of MicroStrategy's out-of-the-box map
    By default, MicroStrategy uses the free out-of-the-box ESRI map, based on information in mapConfig.xml. The id parameter in the <webmap> node identifies the out-of-the-box cloud-based MicroStrategy ESRI map, and the value of the default parameter in this node is set to "true." to tell the application to use this map.

<ec>
... 
<!-- The following nodes are used for cloud-based map integration --> 
  <webmaps>
<webmap id="5fac74d8e7924e169afdc01105235324" default="true" />
  </webmaps>
  <apps></apps>
...
</ec>

To use a different cloud-based map, modify the configuration file in the plug-in, as described below:

  1. Open mapConfig.xml in the plug-in.

  2. If the new map you are adding is a private map, add an <app> child node under <apps> with three attributes: id, AppID, and AppSecret. The primary purpose of this node is to host the ESRI credentials used to access the associated web map. <app id="1"AppID="lpbxbg3FI6WN62Pl" AppSecret="f7dmc5b8316db4e60a15a09t92bd39b21"/>

    • id: Set the id attribute to a unique identifying value such as "1". This is the same value as the value of the app attribute in the <webmap> node for the new map. It allows the application to retrieve the correct ESRI credentials (AppID and AppSecret) used to access the private map on the ESRI cloud.

    • AppID: Set the AppID attribute to the value that was generated when the new web map application was created and registered.

    • AppSecret: Set the AppSecret attribute to the value that was generated when the new web map application was created and registered.

  3. In the existing <webmap> node that identifies the out-of-the-box MicroStrategy map, change the value of the default attribute from "true" to "false." This tells the application not to use this map. <webmap id="5fac74d8e7924e169afdc01105235324" default="false" />

  4. Add a new <webmap> child node under <webmaps> to identify the new map that you are adding. In the new <webmap> node, add an id attribute to identify the new map, and a default attribute set to "true" to tell the application to use this map. If you are using a public map, add an isPublic attribute; if you are using a private map, add an app attribute.

    • id: Use the ESRI identifier for the new map as the value of the id attribute.

    • default: Set the default attribute to "true" to tell the application to use this map.

    • isPublic: If the new map is a public map, set the value of the isPublic attribute to "true." This tells the application not to check for ESRI credentials. <webmap id="hlrsemm48wlccnd7so4096kkvis;9a6f" default="true" isPublic="true" />

    • app: If the new map is a private map, set the value of the app attribute to the value of the id attribute in the <app> node. This tells the application to go to that <app> node to retrieve the ESRI credentials (AppID and AppSecret) used to access this map on the ESRI cloud.<webmap id="bcaefaf31c75445972eff0500275a0d4" default="true" app="1" />

  5. Save your changes.

  6. Specify whether the server or client authenticates

    By default, the MicroStrategy Web server communicates with the ESRI cloud to handle the token request from the client. However, it is possible to have the client authenticate directly with ESRI and bypass the web server.

    Use HTTPS protocol with client authentication to ensure the security of ESRI credentials (AppID and AppSecret).

  7. In mapConfig.xml, add a clientToken attribute to the <apps> node and set it to “true", as shown below.

    <appsclientToken="true"></apps>

  8. Save your changes.

    Once the token is received from ESRI, it is cached on the MicroStrategy Web server for later use. The token remains valid for 14 days or until the web server stops running, whichever time period is shorter.