annotate README.md @ 1009:76e9296d6191

added demo mode in READMEs
author Markus Kottlaender <markus@intevation.de>
date Tue, 23 Oct 2018 08:44:41 +0200
parents 4ffdb922db44
children f370ce6eab65
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
1009
76e9296d6191 added demo mode in READMEs
Markus Kottlaender <markus@intevation.de>
parents: 615
diff changeset
8 - To build all components of gemma, with client in demo mode, use `make demo`.
76e9296d6191 added demo mode in READMEs
Markus Kottlaender <markus@intevation.de>
parents: 615
diff changeset
9
266
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
10 - 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
11
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
12 - 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
13
1009
76e9296d6191 added demo mode in READMEs
Markus Kottlaender <markus@intevation.de>
parents: 615
diff changeset
14 - To only build the SPA-Client in demo mode you can use `make clientdemo`.
76e9296d6191 added demo mode in READMEs
Markus Kottlaender <markus@intevation.de>
parents: 615
diff changeset
15
291
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 272
diff changeset
16 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
17
266
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 ## Setup Database
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
20
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
21 - 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
22
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
23 - 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
24 `./schema/install-db.sh`.
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
25
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
26 - `./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
27 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
28 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
29 5432).
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
30
272
5ee0edc01a18 Small typo fix.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 266
diff changeset
31 - 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
32 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
33
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
34
610
f62ee9d5bff1 Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents: 481
diff changeset
35 ## Setup GeoServer
f62ee9d5bff1 Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents: 481
diff changeset
36
f62ee9d5bff1 Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents: 481
diff changeset
37 - 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
38 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
39
f62ee9d5bff1 Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents: 481
diff changeset
40 - 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
41 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
42 ```
f62ee9d5bff1 Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents: 481
diff changeset
43 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
44 ('waterway.bottlenecks', true);
f62ee9d5bff1 Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents: 481
diff changeset
45 ```
f62ee9d5bff1 Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents: 481
diff changeset
46 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
47 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
48 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
49 `/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
50 `sys_admin.published_services`.
f62ee9d5bff1 Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents: 481
diff changeset
51
266
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
52 ## Running gemma
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
53
330
fd04bccae6ca Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents: 291
diff changeset
54 - 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
55 `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
56 ```
481
d68dfbe768e2 Merge example configuration and that used for docker backend
Tom Gottfried <tom@intevation.de>
parents: 479
diff changeset
57 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
58 ```
266
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
59
387
0f78b13f4a9a (minor) Fix typo in README.
Bernhard Reiter <bernhard@intevation.de>
parents: 330
diff changeset
60 - 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
61
fd04bccae6ca Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents: 291
diff changeset
62 * `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
63 * `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
64 * `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
65 your instance of GeoServer
266
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
66
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
67 - `./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
68 options.
330
fd04bccae6ca Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents: 291
diff changeset
69
fd04bccae6ca Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents: 291
diff changeset
70 - Then start gemma:
fd04bccae6ca Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents: 291
diff changeset
71 ```
479
fce16726f51d Add missing command
Tom Gottfried <tom@intevation.de>
parents: 434
diff changeset
72 ./cmd/gemma/gemma
330
fd04bccae6ca Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents: 291
diff changeset
73 ```
615
4ffdb922db44 Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents: 610
diff changeset
74
4ffdb922db44 Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents: 610
diff changeset
75 ## Proxying OGC services through gemma
4ffdb922db44 Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents: 610
diff changeset
76
4ffdb922db44 Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents: 610
diff changeset
77 - 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
78 compliance reasons) in the database. For example:
4ffdb922db44 Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents: 610
diff changeset
79 ```
4ffdb922db44 Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents: 610
diff changeset
80 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
81 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
82 ```
4ffdb922db44 Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents: 610
diff changeset
83 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
84 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
85 the example given above: `/api/external/d4d`.