Skip to main content

IT Guide

GIPS Lite and Pro are a Single Page Application that runs entirely within your customer's browser once their browser has downloaded all the files. Therefore, all that is needed is a web server that returns static files to the customer. Examples include Apache HTTP, nginx, and IIS.

Prefer not to host it yourself? PowerGEM can host your heat map for you.

Cache configuration — required​

All files in GIPS are known in HTTP as static resources, which means once a browser downloads a file it will not be re-downloaded. This behavior must be overridden so that when GIPS or the WClusterTrLimSumJson.json file that TARA generates is updated, the user's browser gets the latest. This is controlled by the HTTP Cache-Control and ETag response headers.

HTTP Configure Caching — required

Add the Cache-Control response header with the value no-cache, and always generate and return the ETag response header. This can be done for all files returned by the web server, but at a minimum must be done for index.html and WClusterTrLimSumJson.json.

Content-Security-Policy​

GIPS has no server of its own, so it is up to your web server to send a Content Security Policy that restricts what the page may load and who may embed it.

For GIPS v4 and later, set the Content-Security-Policy response header to:

default-src 'self'; script-src 'self'; worker-src 'self' blob:; connect-src 'self' https://assets.maps4powergem.com https://server.arcgisonline.com; img-src 'self' data: blob: https://server.arcgisonline.com; style-src 'self' 'unsafe-inline'; font-src 'self'; base-uri 'self'; object-src 'none'; frame-ancestors 'self'; form-action 'self'

For versions of GIPS prior to v4.0.0, use the following instead, replacing <your-domain> with the domain GIPS is deployed to (e.g. www.pgem-map.com):

default-src 'self'; script-src 'self'; worker-src 'self' blob:; connect-src 'self' https://<your-domain> https://assets.maps4powergem.com; img-src 'self' data: blob: https://tile.openstreetmap.org; style-src 'self' 'unsafe-inline' https://unpkg.com; font-src 'self'; base-uri 'self'; object-src 'none'; manifest-src https://<your-domain>; frame-ancestors 'self'; form-action 'self'
Send it as a header, not a <meta> tag

Set the policy as an HTTP response header rather than a <meta http-equiv> tag. Browsers ignore frame-ancestors — the directive that stops other sites from embedding GIPS in a frame — when it is set from a <meta> tag.

Compression — optional​

The browser and server can negotiate to compress files on the wire without need to configure GIPS itself. This is done via the Content-Encoding HTTP response header. Compressing files, especially the WClusterTrLimSumJson.json file can have a dramatic performance benefit.

Configure your web server — optional

Add the Content-Encoding response header with either the gzip or br values. Use the value (s) that are supported by your server. This can be done for all files returned by the web server, but is most beneficial for .js and .json files, especially the WClusterTrLimSumJson.json file.

External sites contacted​

These are the only sites a user's browser contacts for more data. Allow them through the firewall or proxy.

SiteDescription
assets.maps4powergem.comMap styles, and the basemap and power infrastructure vector tiles.
server.arcgisonline.comEsri World Imagery tiles, when the basemap is set to Aerial.

As of v4.0 the map's tiles and styles are versioned and served by PowerGEM rather than fetched as finished images from tile.openstreetmap.org, so a GIPS deployment no longer depends on OpenStreetMap's tile servers or their usage policy.

Locked-down networks

A GIPS Desktop installation that cannot reach assets.maps4powergem.com can download the three map style files from a server of your own instead — see Administrator Options. The setting lives in admin.json, which is never exported, so GIPS Lite and Pro deployments keep downloading their styles from PowerGEM. The vector tiles are named inside the style files, so where they come from follows whatever your copies of the styles say.

Files in a deployment​

Export GIPS Lite... and Export GIPS Pro... write everything the deployment needs, including the data layers. Serve the directory as it is.

PathContents
index.html, *.js, *.cssThe application.
WClusterTrLimSumJson*.jsonThe loaded scenarios.
configuration.jsonThe deployment's configuration, at version 4.0.
overlays\<layer>.jsonOne file per data layer, served verbatim to every browser.
overlays\icons\<layer>\That layer's icons.
tour.jsonThe guided tour, when one has been saved.

Not in a deployment: admin.json. Administrator options apply to the GIPS Desktop installation they were set on and are excluded from the export, so nothing in a GIPS Lite or Pro folder can unlock them.

A hidden column is still in the file

overlays\<layer>.json contains every column that was imported, whether or not the table shows it. Leave a column out at import time if it should not reach a browser.