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.
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'
<meta> tagSet 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.
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.
| Site | Description |
|---|---|
assets.maps4powergem.com | Map styles, and the basemap and power infrastructure vector tiles. |
server.arcgisonline.com | Esri 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.
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.
| Path | Contents |
|---|---|
index.html, *.js, *.css | The application. |
WClusterTrLimSumJson*.json | The loaded scenarios. |
configuration.json | The deployment's configuration, at version 4.0. |
overlays\<layer>.json | One file per data layer, served verbatim to every browser. |
overlays\icons\<layer>\ | That layer's icons. |
tour.json | The 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.
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.