view README.md @ 733:e57955c1996f

client: improve code structure * Change loading strategy for waterway axis to bbox mainly for consistency. Its size is small compared to other WFS features, so the speed gain is not big by changing to dynamic loading. * Use getLayerByName() instead of hard references. * Refactor section about loading layers to be shorter and to reference the name of each layer only once.
author Bernhard Reiter <bernhard@intevation.de>
date Mon, 24 Sep 2018 09:23:09 +0200
parents 4ffdb922db44
children 76e9296d6191
line wrap: on
line source

# Quick Start

## Build

- To build all components of gemma, simply type `make` on the top
  level directory of the repro.

- To only (re)build the back end you can use `make gemma`.

- To only build the SPA-Client you can use `make client`.

For further details see [docs/DEVELOPMENT](docs/DEVELOPMENT.md),


## Setup Database

- You will need a PostgreSQL cluster with PostGIS.

- To install the **gemma** schema and roles use the script
  `./schema/install-db.sh`.

- `./schema/install-db.sh --help` shows you available options.
  Per default the script will create a database named "gemma" and all
  necessary roles in the postgres default cluster (listening on port
  5432).

- The script must be run as a user with PostgreSQL super user rights.
  By convention this is the "postgres" on most systems.


## Setup GeoServer

- Install and run GeoServer as described here:
  http://docs.geoserver.org/stable/en/user/installation/

- Add tables you want to publish as OGC-Service Layers via GeoServer in
  the database. For example publish the bottleneck areas:
  ```
  INSERT INTO sys_admin.published_services (name, as_wfs) VALUES
    ('waterway.bottlenecks', true);
  ```
  In case your gemma is already running (see next section), restart it.
  Published WFS services will be available at `/api/internal/wfs`. Currently,
  the same layers will also be available as WMS services at
  `/api/internal/wms`, regardless of the value of `as_wms` in
  `sys_admin.published_services`.

## Running gemma

- Best is to create a configuration file.  Copy the example from
  `example_conf.toml` to get started:
  ```
  cp example_conf.toml gemma.toml
  ```

- Edit `gemma.toml`, some parameters you probably want to change:

  * `host` and `port` to make gemma listen on a public interface
  * `metamorph-db-password` to match the password for your database user
  * `geoserver-url`, `geoserver-user` and `geoserver-password` to match
     your instance of GeoServer

- `./cmd/gemma/gemma -h` gives you an overview of more available
  options.

- Then start gemma:
  ```
  ./cmd/gemma/gemma
  ```

## Proxying OGC services through gemma

- Add services you want to publish via gemma (e.g. for same-origin policy
  compliance reasons) in the database. For example:
  ```
  INSERT INTO sys_admin.external_services (local_name, remote_url, is_wfs)
    VALUES ('d4d', 'https://service.d4d-portal.info/wamos/wfs', true);
  ```
  In case your gemma is already running (see previous section), restart it.
  The services will be available at `/api/external/${local_name}`, thus in
  the example given above: `/api/external/d4d`.