Mercurial > gemma
annotate README.md @ 628:ef9c733cc6aa
client: show more wfs layers
* Add waterway axis, waterway area and distance marks as fully loaded
WFS layers. Distance marks are disabled by default, with code
that honors the isVisible attribute. Code is duplicated, and marked
with FIXMEs.
author | Bernhard Reiter <bernhard@intevation.de> |
---|---|
date | Tue, 11 Sep 2018 17:52:20 +0200 |
parents | 4ffdb922db44 |
children | 76e9296d6191 |
rev | line source |
---|---|
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
1 # Quick Start |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
2 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
3 ## Build |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
4 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
5 - To build all components of gemma, simply type `make` on the top |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
6 level directory of the repro. |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
7 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
8 - To only (re)build the back end you can use `make gemma`. |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
9 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
10 - To only build the SPA-Client you can use `make client`. |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
11 |
291
9d6ba97a31d2
Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
272
diff
changeset
|
12 For further details see [docs/DEVELOPMENT](docs/DEVELOPMENT.md), |
9d6ba97a31d2
Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
272
diff
changeset
|
13 |
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
14 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
15 ## Setup Database |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
16 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
17 - You will need a PostgreSQL cluster with PostGIS. |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
18 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
19 - To install the **gemma** schema and roles use the script |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
20 `./schema/install-db.sh`. |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
21 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
22 - `./schema/install-db.sh --help` shows you available options. |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
23 Per default the script will create a database named "gemma" and all |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
24 necessary roles in the postgres default cluster (listening on port |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
25 5432). |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
26 |
272
5ee0edc01a18
Small typo fix.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
266
diff
changeset
|
27 - The script must be run as a user with PostgreSQL super user rights. |
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
28 By convention this is the "postgres" on most systems. |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
29 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
30 |
610
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
31 ## Setup GeoServer |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
32 |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
33 - Install and run GeoServer as described here: |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
34 http://docs.geoserver.org/stable/en/user/installation/ |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
35 |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
36 - Add tables you want to publish as OGC-Service Layers via GeoServer in |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
37 the database. For example publish the bottleneck areas: |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
38 ``` |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
39 INSERT INTO sys_admin.published_services (name, as_wfs) VALUES |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
40 ('waterway.bottlenecks', true); |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
41 ``` |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
42 In case your gemma is already running (see next section), restart it. |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
43 Published WFS services will be available at `/api/internal/wfs`. Currently, |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
44 the same layers will also be available as WMS services at |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
45 `/api/internal/wms`, regardless of the value of `as_wms` in |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
46 `sys_admin.published_services`. |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
47 |
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
48 ## Running gemma |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
49 |
330
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
50 - Best is to create a configuration file. Copy the example from |
481
d68dfbe768e2
Merge example configuration and that used for docker backend
Tom Gottfried <tom@intevation.de>
parents:
479
diff
changeset
|
51 `example_conf.toml` to get started: |
330
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
52 ``` |
481
d68dfbe768e2
Merge example configuration and that used for docker backend
Tom Gottfried <tom@intevation.de>
parents:
479
diff
changeset
|
53 cp example_conf.toml gemma.toml |
330
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
54 ``` |
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
55 |
387
0f78b13f4a9a
(minor) Fix typo in README.
Bernhard Reiter <bernhard@intevation.de>
parents:
330
diff
changeset
|
56 - Edit `gemma.toml`, some parameters you probably want to change: |
330
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
57 |
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
58 * `host` and `port` to make gemma listen on a public interface |
481
d68dfbe768e2
Merge example configuration and that used for docker backend
Tom Gottfried <tom@intevation.de>
parents:
479
diff
changeset
|
59 * `metamorph-db-password` to match the password for your database user |
d68dfbe768e2
Merge example configuration and that used for docker backend
Tom Gottfried <tom@intevation.de>
parents:
479
diff
changeset
|
60 * `geoserver-url`, `geoserver-user` and `geoserver-password` to match |
d68dfbe768e2
Merge example configuration and that used for docker backend
Tom Gottfried <tom@intevation.de>
parents:
479
diff
changeset
|
61 your instance of GeoServer |
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
62 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
63 - `./cmd/gemma/gemma -h` gives you an overview of more available |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
64 options. |
330
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
65 |
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
66 - Then start gemma: |
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
67 ``` |
479 | 68 ./cmd/gemma/gemma |
330
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
69 ``` |
615
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
70 |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
71 ## Proxying OGC services through gemma |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
72 |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
73 - Add services you want to publish via gemma (e.g. for same-origin policy |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
74 compliance reasons) in the database. For example: |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
75 ``` |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
76 INSERT INTO sys_admin.external_services (local_name, remote_url, is_wfs) |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
77 VALUES ('d4d', 'https://service.d4d-portal.info/wamos/wfs', true); |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
78 ``` |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
79 In case your gemma is already running (see previous section), restart it. |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
80 The services will be available at `/api/external/${local_name}`, thus in |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
81 the example given above: `/api/external/d4d`. |