annotate README.md @ 1263:00a38b354ab7

improve licening info in README.md
author Bernhard Reiter <bernhard@intevation.de>
date Wed, 21 Nov 2018 13:40:10 +0100
parents f370ce6eab65
children 717c58fea5c1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1262
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
1 # Workingtitle "gemma"
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
2
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
3 //"gemma" is just a temporary title and is likely to be changed.//
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
4
1263
00a38b354ab7 improve licening info in README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1262
diff changeset
5
1262
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
6 # License
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
7
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
8 //gemma// source code itself licenses as Free Software
1263
00a38b354ab7 improve licening info in README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1262
diff changeset
9 under GNU Affero GPL v>=3. See the particular source files
00a38b354ab7 improve licening info in README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1262
diff changeset
10 for details, the license itself can be found in the directory `LICENSES`.
1262
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
11
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
12 To build a complete product, a number of other Free Software components
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
13 are used, which have their own licenses.
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
14
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
15 To get an overview about the components which are partly included
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
16 in the resulting production ready-product for the `client/`
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
17 use `yarn licenses`, e.g. like
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
18
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
19 ```sh
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
20 yarn licenses list | grep '^├─ '
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
21 ```
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
22
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
23 Additionally inspect `3rdpartylibs.sh` for go components used
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
24 for the middleware.
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
25
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
26
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
27 # Credits
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
28
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
29 Exclusive usage rights
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
30 (we are in Europe, so it is not Common-law's "copyright"):
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
31 via donau – Österreichische Wasserstraßen-Gesellschaft mbH, Austria
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
32
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
33 Software-Engineering: Intevation GmbH, Germany
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
34
f370ce6eab65 add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents: 1009
diff changeset
35
266
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
36 # Quick Start
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
37
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
38 ## Build
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
39
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
40 - 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
41 level directory of the repro.
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
42
1009
76e9296d6191 added demo mode in READMEs
Markus Kottlaender <markus@intevation.de>
parents: 615
diff changeset
43 - 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
44
266
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
45 - 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
46
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
47 - 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
48
1009
76e9296d6191 added demo mode in READMEs
Markus Kottlaender <markus@intevation.de>
parents: 615
diff changeset
49 - 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
50
291
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 272
diff changeset
51 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
52
266
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
53
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
54 ## Setup Database
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
55
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
56 - 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
57
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
58 - 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
59 `./schema/install-db.sh`.
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
60
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
61 - `./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
62 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
63 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
64 5432).
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
65
272
5ee0edc01a18 Small typo fix.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 266
diff changeset
66 - 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
67 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
68
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
69
610
f62ee9d5bff1 Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents: 481
diff changeset
70 ## Setup GeoServer
f62ee9d5bff1 Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents: 481
diff changeset
71
f62ee9d5bff1 Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents: 481
diff changeset
72 - 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
73 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
74
f62ee9d5bff1 Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents: 481
diff changeset
75 - 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
76 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
77 ```
f62ee9d5bff1 Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents: 481
diff changeset
78 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
79 ('waterway.bottlenecks', true);
f62ee9d5bff1 Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents: 481
diff changeset
80 ```
f62ee9d5bff1 Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents: 481
diff changeset
81 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
82 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
83 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
84 `/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
85 `sys_admin.published_services`.
f62ee9d5bff1 Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents: 481
diff changeset
86
266
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
87 ## Running gemma
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
88
330
fd04bccae6ca Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents: 291
diff changeset
89 - 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
90 `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
91 ```
481
d68dfbe768e2 Merge example configuration and that used for docker backend
Tom Gottfried <tom@intevation.de>
parents: 479
diff changeset
92 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
93 ```
266
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
94
387
0f78b13f4a9a (minor) Fix typo in README.
Bernhard Reiter <bernhard@intevation.de>
parents: 330
diff changeset
95 - 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
96
fd04bccae6ca Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents: 291
diff changeset
97 * `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
98 * `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
99 * `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
100 your instance of GeoServer
266
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
101
a2f7049daf7f Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents: 206
diff changeset
102 - `./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
103 options.
330
fd04bccae6ca Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents: 291
diff changeset
104
fd04bccae6ca Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents: 291
diff changeset
105 - Then start gemma:
fd04bccae6ca Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents: 291
diff changeset
106 ```
479
fce16726f51d Add missing command
Tom Gottfried <tom@intevation.de>
parents: 434
diff changeset
107 ./cmd/gemma/gemma
330
fd04bccae6ca Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents: 291
diff changeset
108 ```
615
4ffdb922db44 Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents: 610
diff changeset
109
4ffdb922db44 Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents: 610
diff changeset
110 ## Proxying OGC services through gemma
4ffdb922db44 Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents: 610
diff changeset
111
4ffdb922db44 Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents: 610
diff changeset
112 - 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
113 compliance reasons) in the database. For example:
4ffdb922db44 Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents: 610
diff changeset
114 ```
4ffdb922db44 Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents: 610
diff changeset
115 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
116 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
117 ```
4ffdb922db44 Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents: 610
diff changeset
118 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
119 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
120 the example given above: `/api/external/d4d`.