21 Configuring Advanced Options for Mapping and Spatial Information

This chapter describes advanced configuration options that you can set for map views in Oracle Business Intelligence.

This chapter includes the following sections:

See Chapter 13, "Configuring Mapping and Spatial Information" for additional information. Before configuring for map views, ensure that you are familiar with the information in the following guides:

21.1 Configuring MapViewer to Support Map Views

Oracle Fusion Middleware MapViewer is installed as part of Oracle BI Enterprise Edition and deployed in the same domain as Oracle BI EE on the web application server. The default context path of MapViewer in the application server is /mapviewer. You can use the administration console in MapViewer to configure it for use with map views.

You can configure a separate remote instance just for MapViewer to act as a proxy that supports the heavy processing load that maps require. If performance is not a major concern, then you can use a MapViewer instance that is co-located with Oracle BI EE as the rendering engine.

The MapViewer engine can serve in the following roles:

  • Co-located MapViewer — Also known as nonproxy mode. If the MapViewer is located in the same domain as Oracle BI EE and used as the rendering engine, then all map resources (such as JavaScript files and images) are downloaded from that instance of MapViewer.

  • Remote MapViewer — Also known as proxy mode. If a separate remote instance of MapViewer is configured as the rendering engine, then the browser cannot communicate with the remote instance for resources. Browsers do not permit cross-domain AJAX calls for security reasons. To overcome this limitation, all requests are first forwarded to the co-located MapViewer, which in turn communicates with the actual remote instance.

    Complete the following steps to configure for a remote MapViewer:

    • Edit the RemoteOracleMapViewerAbsoluteURL element in the instanceconfig.xml file, as described in Section 21.2, "Manually Configuring for Map Views."

    • Edit the proxy_enabled_hosts element in the mapViewerConfig.xml configuration file for MapViewer to point to the MapViewer on the remote server, as shown in the following example:

        <security_config>
          <proxy_enabled_hosts>http://remoteserver:9704/mapviewer</proxy_enabled_hosts>
        </security_config>
      

      The mapViewerConfig.xml file is located in the following directory:

      ORACLE_BI1\bifoundation\jee\mapviewer.ear\web.war\WEB_INF\conf

    Note:

    If you edit the mapViewerConfig.xml file, then your edits are overwritten when you upgrade or patch Oracle Business Intelligence. Before upgrading or patching, ensure that you make a backup copy of the mapViewerConfig.xml file. When the upgrade or patch operation is complete, copy the backed-up file to its original location. After copying the file, restart the server for MapViewer so that map views are displayed properly in analyses and dashboards in Oracle Business Intelligence.

Figure 21-1 shows the preferred architecture for map views, which provides better performance through a proxy than the default architecture that is shown in Figure 13-1. You can store the data either in an Oracle Database or in other databases that Oracle BI EE supports.

Figure 21-1 Preferred Architecture for Map Views

Description of Figure 21-1 follows
Description of "Figure 21-1 Preferred Architecture for Map Views"

21.2 Manually Configuring for Map Views

Use various elements in the instanceconfig.xml file to configure map views. Before you begin this procedure, ensure that you are familiar with the information in Section 3.4, "Using a Text Editor to Update Configuration Settings."

To manually edit the settings for configuring map views:

  1. Open the instanceconfig.xml file for editing, as described in Section 3.6, "Where Are Configuration Files Located?"

  2. Search for the SpatialMaps section, in which you must add the following elements:

    • ColocatedOracleMapViewerContextPath — Specifies the context path of the MapViewer instance that is co-located with Oracle BI EE. The default value is /mapviewer.

    • RemoteOracleMapViewerAbsoluteURL — Specifies the URL of the remote MapViewer instance. This element has no default value.

      If this element has no value, then the system assumes that the map rendering engine is the co-located MapViewer instance (such as /mapviewer). If this element has a value, then the co-located MapViewer acts as proxy for all requests for the remote server. The following example shows a sample value:

      <RemoteOracleMapViewerAbsoluteURL>http://remoteserver:9704/mapviewer </RemoteOracleMapViewerAbsoluteURL>
      
    • MaxRecords — Specifies the maximum number of records that can be included in a layer on the map. The setting applies to all layers on the map and overrides the MaxVisibleRows element that applies to data cubes. The default value is 500. If the format for a layer causes this value to be exceeded, then a warning message is displayed. The parent element is LayerDataLayout.

    • SyndicatedOracleMapViewerContextPath — Specifies the URL of the MapViewer instance for embedding maps in external pages. For details and an example, see Section 21.4, "Configuring Maps for External Consumption."

  3. Include the elements and their ancestor elements as appropriate, as shown in the following example.

    <ServerInstance>
       <SpatialMaps>
          <ColocatedOracleMapViewerContextPath>/mapviewer</ColocatedOracleMapViewerContextPath>
          <RemoteOracleMapViewerAbsoluteURL></RemoteOracleMapViewerAbsoluteURL>
          <LayerDataLayout>
            <MaxRecords>600</MaxRecords>
          </LayerDataLayout>
       </SpatialMaps>
    </ServerInstance>
    
  4. Save your changes and close the file.

  5. Restart Oracle Business Intelligence.

21.3 Inserting Text on a Map

You can add any text, such as a copyright string, to the tile layer definition of a map. The text is automatically updated on the map in Oracle BI EE when a tile layer is added or deleted or becomes invisible. The position of the text is also automatically adjusted when the user minimizes, restores, or removes the overview map.

Figure 21-2 shows an example of a copyright string on a map. The string is in the lower-right corner.

Figure 21-2 Copyright String on a Map

Description of Figure 21-2 follows
Description of "Figure 21-2 Copyright String on a Map"

To insert text in the tile layer definition on a map:

  1. Create the tile layer.

    For information, see Oracle Fusion Middleware User's Guide for Oracle MapViewer.

  2. Edit the tile layer definition by selecting it and clicking the Edit / View Details button.

  3. On the Edit page, enter the appropriate text in the Copyright text field.

    For example, the following code displays the copyright line that is shown in Figure 21-2.

    <copyright>Map data © 2010, NAVTEQ</copyright>

  4. Click the Submit button to save your changes.

  5. If you do not see the updated text on the map, then click the browser's Refresh button to refresh the map.

21.4 Configuring Maps for External Consumption

You can embed map views in external pages, such as those from Oracle WebCenter Portal, after setting the appropriate configuration options. To embed views that are hosted in a separate web application server, you can follow the proxy rules that are outlined in the previous sections. Because of browser restrictions, install the MapViewer instance in the same application server as external pages or portals. The proxy context path of the MapViewer instance that is installed in the web application server that hosts external pages can differ from the application server that is hosting content for Oracle BI EE. In this case, set the SyndicatedOracleMapViewerContextPath element. When the server for Oracle BI Presentation Services identifies a request that originated from a third-party page, the server checks the element value to determine where to pass the proxy requests.

The following example provides sample values for this element.

<ServerInstance>
   <SpatialMaps>
      <SyndicatedOracleMapViewerContextPath>/mapviewer</SyndicatedOracleMapViewerContextPath>
      <RemoteOracleMapViewerAbsoluteURL>http://myserver:9704/mapviewer</RemoteOracleMapViewerAbsoluteURL>
   </SpatialMaps>
</ServerInstance>