Mercurial > lada > lada-server
annotate README.markdown @ 1290:14876c62f692
Push down refreshing of persisted objects deeper into the stack.
There are more places besides creation of Probe objects where it is
useful to return within the response what has been really written to
the database (including modifications by the database itself) instead
of merely the request data, e.g. creation of Ort objects, which
includes database generated ort_ids.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Wed, 08 Feb 2017 18:02:05 +0100 |
parents | b22ffbf88a43 |
children |
rev | line source |
---|---|
716
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 Lada-Server |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 =========== |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
3 Die Software bietet Funktionalität zur Erfassung und Bearbeitung |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
4 von Messdaten. Sowie der Planung der Messungen. |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
5 |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
6 Weitere Informationen finden sich auf der Projektwebseite unter |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
7 der Adresse: https://wald.intevation.org/projects/lada/ |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
9 Die Software entstand im Rahmen einer Software Entwicklung durch die |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 Intevation GmbH im Auftrag des Bundesamt für Strahlenschutz in den Jahren 2013 |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 bis 2015. |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 Kontakt |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 ------- |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 Bundesamt für Strahlenschutz |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 SW2 Notfallschutz, Zentralstelle des Bundes (ZdB) |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 Willy-Brandt-Strasse 5 |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
18 38226 Salzgitter |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 info@bfs.de |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 Lizenz |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 ------ |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 Die Software ist unter der GNU GPL v>=3 Lizenz verfügbar. |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 Details siehe die Datei `COPYING`. |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
26 Quelltext |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 --------- |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
28 Die Quelldateien lassen sich wie folgt auschecken: |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
29 ``` |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 hg clone https://scm.wald.intevation.org/hg/lada/lada-server |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 ``` |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 Entwicklung |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 ----------- |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 Für die Entwicklung wird ein JDK7 und maven3 oder höher benötigt. Sämtliche |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 Abhängigkeiten werden von dem maven build System aufgelöst. |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 Installation |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 ------------ |
750 | 40 Die Installation des Lada-Servers erfolgt in einem Wildfly-Application-Server |
41 (http://wildfly.org). Dazu müssen folgende Schritte unternommen werden: | |
716
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 $ mvn clean compile package |
750 | 44 $ mv target/lada-server-$VERSION.war $JBOSS_HOME/standalone/deployments |
45 $ touch $JBOSS_HOME/standalone/deployments/lada-server-$VERSION.war.dodeploy | |
716
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 |
750 | 47 $JBOSS_HOME ist hierbei durch den Pfad zur Wildfly-Installation zu ersetzen, |
48 $VERSION durch die aktuelle Versionsbezeichnung (entsprechend der Angabe in | |
49 pom.xml). | |
716
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 |
750 | 51 Zum Aktualisieren der Anwendung genügt es, das WAR-Archiv zu aktualisieren. |
52 | |
53 Die Anwendung ist dann unter dem Pfad "/lada-server-$VERSION" erreichbar. | |
716
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
54 |
782
322ce4d7cc3a
Mention timezone setting in install docs.
Tom Gottfried <tom@intevation.de>
parents:
750
diff
changeset
|
55 Um zu garantieren, dass die von den REST-Schnittstellen ausgelieferten |
322ce4d7cc3a
Mention timezone setting in install docs.
Tom Gottfried <tom@intevation.de>
parents:
750
diff
changeset
|
56 Zeitstempel sich korrekt auf UTC beziehen, muss die entsprechende System- |
322ce4d7cc3a
Mention timezone setting in install docs.
Tom Gottfried <tom@intevation.de>
parents:
750
diff
changeset
|
57 Property `user.timezone=UTC` vor dem Start des Application-Servers gesetzt |
322ce4d7cc3a
Mention timezone setting in install docs.
Tom Gottfried <tom@intevation.de>
parents:
750
diff
changeset
|
58 werden (siehe `wildfly/standalone.conf`). |
322ce4d7cc3a
Mention timezone setting in install docs.
Tom Gottfried <tom@intevation.de>
parents:
750
diff
changeset
|
59 |
784
353269b89c4c
Mention setup script and Dockerfiles in README.
Tom Gottfried <tom@intevation.de>
parents:
782
diff
changeset
|
60 Das PostgreSQL-Datenbank-Backend des Lada-Servers kann als Nutzer `postgres` |
353269b89c4c
Mention setup script and Dockerfiles in README.
Tom Gottfried <tom@intevation.de>
parents:
782
diff
changeset
|
61 (bzw. als PostgreSQL-Superuser) mit dem Skript `db_schema/setup-db.sh` |
353269b89c4c
Mention setup script and Dockerfiles in README.
Tom Gottfried <tom@intevation.de>
parents:
782
diff
changeset
|
62 eingerichtet werden. |
353269b89c4c
Mention setup script and Dockerfiles in README.
Tom Gottfried <tom@intevation.de>
parents:
782
diff
changeset
|
63 |
353269b89c4c
Mention setup script and Dockerfiles in README.
Tom Gottfried <tom@intevation.de>
parents:
782
diff
changeset
|
64 Details zur Installation können den Dateien `Dockerfile` und |
353269b89c4c
Mention setup script and Dockerfiles in README.
Tom Gottfried <tom@intevation.de>
parents:
782
diff
changeset
|
65 `db_schema/Dockerfile` entnommen werden. |
353269b89c4c
Mention setup script and Dockerfiles in README.
Tom Gottfried <tom@intevation.de>
parents:
782
diff
changeset
|
66 |
1210
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
67 Docker |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
68 ------ |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
69 Um schnell und automatisiert ein Entwicklungs-Setup für LADA aufsetzen zu |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
70 können, werden Dockerfiles mitgeliefert. Voraussetzung für die Anwendung ist |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
71 eine Docker-Installation. Folgendes Vorgehen führt zu einem |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
72 Vollständigen Setup inklusive LADA-Client, in dem jeweils der auf dem Host |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
73 vorhandene Quellcode in die Container gemounted wird, so dass auf dem Host |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
74 durchgeführte Änderungen leicht innerhalb der Container getestet werden können. |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
75 |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
76 Bauen der Images: |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
77 $ cd ./db_schema |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
78 $ docker build -t koala/lada_db . |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
79 $ cd .. |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
80 $ docker build -t koala/lada_wildfly . |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
81 $ cd your/repo/of/lada-client |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
82 $ docker build -t koala/lada_client . |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
83 |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
84 Aufbau eines Netzwerks für die LADA-Komponenten: |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
85 $ docker network create lada_network |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
86 |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
87 Starten der Container: |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
88 $ cd db_schema |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
89 $ docker run --name your_lada_db --net=lada_network -v $PWD:/opt/lada_sql/ \ |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
90 -d koala/lada_db:latest |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
91 $ cd .. |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
92 $ docker run --name lada_wildfly --net=lada_network \ |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
93 --link your_lada_db:lada_db -v $PWD:/usr/src/lada-server \ |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
94 -d koala/lada_wildfly |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
95 $ cd your/repo/of/lada-client |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
96 $ docker run --name lada_client --net=lada_network \ |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
97 -v $PWD:/var/www/html/ \ |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
98 --link lada_wildfly:lada-server \ |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
99 -p 8180-8184:80-84 -d koala/lada_client |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
100 |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
101 Die LADA-Anwendung kann dann unter den angegebenen Ports mit verschiedenen |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
102 Rollen im Browser ausgeführt werden. |
b22ffbf88a43
Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents:
1093
diff
changeset
|
103 |
716
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
104 Tests |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
105 ----- |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 Die auf Arquillian basierenden Tests erfordern einen vollständig konfigurierten |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
107 und gestarteten Wildfly Application-Server, da für die Schnittstellentest eine |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
108 Clientanwendung simuliert wird und HTTP-Requests ausgeführt werden. |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
109 |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
110 Das Ausführen der Tests erfolgt durch das Kommando |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
111 |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
112 $ mvn -Premote-test clean test |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
113 |
977
aba3a5384c69
Use a minimal set of master data based on empty database for tests.
Tom Gottfried <tom@intevation.de>
parents:
784
diff
changeset
|
114 und benötigt eine leere Datenbank, die z.B. mit |
aba3a5384c69
Use a minimal set of master data based on empty database for tests.
Tom Gottfried <tom@intevation.de>
parents:
784
diff
changeset
|
115 |
aba3a5384c69
Use a minimal set of master data based on empty database for tests.
Tom Gottfried <tom@intevation.de>
parents:
784
diff
changeset
|
116 $ ./setup-db.sh -cn |
aba3a5384c69
Use a minimal set of master data based on empty database for tests.
Tom Gottfried <tom@intevation.de>
parents:
784
diff
changeset
|
117 |
aba3a5384c69
Use a minimal set of master data based on empty database for tests.
Tom Gottfried <tom@intevation.de>
parents:
784
diff
changeset
|
118 angelegt werden kann. |
aba3a5384c69
Use a minimal set of master data based on empty database for tests.
Tom Gottfried <tom@intevation.de>
parents:
784
diff
changeset
|
119 |
716
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
120 Dokumenation |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
121 ------------ |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
122 Die Entwicklerdokumentation (Javadoc) kann mit dem folgenden Befehl im |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
123 Verzeichnis der Serveranwendung erzeugt werden: |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
124 |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
125 $ mvn javadoc:javadoc |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
126 |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
127 Der Ordner 'target' enthält dann die Dokumentation im HTML-Format in dem |
60cc9b5126d1
Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
128 Verzeichnis 'site/apidocs'. |
985
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
129 |
1093
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
130 Erstellen von Queries |
985
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
131 --------------------- |
1093
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
132 Queries können als SQL-Statement in der Tabelle stammdaten.queries definiert |
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
133 werden. Eine Filterung kann über Variablen erfolgen, die in stammdaten.filter |
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
134 definiert werden müssen und mittels SQL-Interpolation im SQL-Statement |
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
135 verwendet werden können. |
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
136 Um neue Queries für die Suche von Proben, Messungen und Messprogrammen zu |
985
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
137 erstellen sind die folgenden Schritte erforderlich: |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
138 |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
139 1. In der Tabelle 'stammdaten.query' einen neuen Eintrag erzeugen. |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
140 * id: Primary-Key (wird generiert) |
1093
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
141 * name: Der Name der Query |
985
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
142 * type: Der Datentyp der gefiltert werden soll. |
1093
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
143 (mögliche Werte siehe Datenbank-Schema-Definition) |
985
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
144 * sql: Das auszuführende SQL-Statement (siehe #Regeln für die Syntax) |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
145 * description: Ein beschreibender Text |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
146 |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
147 2. In der Tabelle 'stammdaten.result' für die anzuzeigenden Felder je einen |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
148 Eintrag erzeugen: |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
149 * id: Primary-Key (wird generiert) |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
150 * query_id: ID der zugehörigen und in Schritt 1. erzeugten Query |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
151 * data_index: Name des Feldes zur Übertragung an den Client (in CamelCase) |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
152 * header: Der Titel der Spalte für diesen Eintrag |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
153 * width: Die Spaltenbreite (in Pixel) |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
154 * flex: Dynamische Spaltenbreite (true/false) |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
155 * index: Der Datenindex |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
156 |
1093
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
157 3. In der Tabelle 'stammdaten.filter' für jeden Parameter in der 'WHERE'-Clause |
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
158 der Query einen Eintrag erzeugen: |
985
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
159 * id: Primary-Key (wird generiert) |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
160 * query_id: ID der zugehörigen und in Schritt 1. erzeugten Query |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
161 * data_index: Der Name der Variablen, die in dem 'WHERE'-Statement ersetzt |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
162 werden soll |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
163 * type: Datenbasis, die im Client als Eingabe genutzt werden soll |
1093
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
164 (mögliche Werte siehe Datenbank-Schema-Definition) |
985
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
165 * label: Der angezeigte Name des Filters |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
166 * multiselect: Mehrfachangabe von Werten für diesen Filter (true/false) |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
167 |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
168 ### Regeln |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
169 |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
170 * Bei Queries vom Typ `probe` muss das erste selektierte Feld `probe.id` sein. |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
171 Dieses wird in der Oberfläche nicht angezeigt. |
1093
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
172 * Bei Queries vom Typ `messung` muss das erste selektierte Feld `messung.id` |
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
173 und das zweite `probe.id` sein. Diese werden in der Oberfläche nicht |
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
174 angezeigt. Für `probe.id` muss in stammdaten.result ein Eintrag mit |
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
175 `data_index = 'probeId'` angelegt werden (obwohl diese Spalte nicht angezeigt |
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
176 wird). Um im Client die Funktionalität zu erhalten, sollten Messungsfilter |
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
177 die beiden Felder `probe.hauptproben_nr` und `messung.nebenproben_nr` |
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
178 enthalten. |
985
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
179 * Bei Queries vom Typ `messprogramm` muss das erste selektierte Feld |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
180 `messprogramm.id` sein. Dieses wird in der Oberfläche nicht angezeigt. |
1093
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
181 * Werden bei einem JOIN Spalten gleichen Namens aus verschiedenen Tabellen |
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
182 in der SELECT-Clause verwendet, so müssen diese mit einem expliziten Alias |
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
183 versehen werden, um eine |
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
184 org.hibernate.loader.custom.NonUniqueDiscoveredSqlAliasException zu |
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
185 vermeiden. |
985
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
186 * Im `WHERE`-Statement genutzte Variablen müssen in der Form `:variablenName` |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
187 angegeben werden und dem Feld `data_index` im zugehörigen Filter entsprechen. |
1093
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
188 * Wenn ein Filter mit `multiselect = true` angegeben wird, so wird in der |
effef57f3f7e
Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents:
990
diff
changeset
|
189 `WHERE`-Clause ein `SIMILAR TO` erwartet. |
985
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
190 * Das Feld `index` in der Tabelle `stammdaten.result` dient zur Zuordnung des |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
191 selektierten Datenfeldes zu dem Entsprechenden Eintrag in der Tabelle |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
192 `stammdaten.result`. Beispiel: |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
193 ``` |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
194 'SELECT probe.id, probe.mst_id AS mstId, probe.hauptproben_nr AS hpNr, ...' |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
195 |----- index 1 -----| |--------- index 2 --------| |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
196 Wird in der Tabelle 'stammdaten.result' zu: |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
197 Result 1: |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
198 ... |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
199 data_index: mstId |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
200 header: Messstelle |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
201 width: 100 |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
202 flex: false |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
203 index: 1 |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
204 ... |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
205 Result 2: |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
206 ... |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
207 data_index: hpNr |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
208 header: Hauptproben Nr |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
209 width: 150 |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
210 flex: false |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
211 index: 2 |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
212 .... |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
213 ``` |
990
ff07474b65e0
Updated description how to create filters.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
986
diff
changeset
|
214 * Queries für Stammdaten werden gesondert behandelt und beinhalten keine |
985
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
215 SQL-Statements. Dementsprechend können auch keine Einträge für Ergebnisse in |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
216 der Tabelle `stammdaten.result` gemacht werden. Filter können allerdings, |
990
ff07474b65e0
Updated description how to create filters.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
986
diff
changeset
|
217 unter der Bedingung, dass `data_index` auf einen in dem Datentyp vorhandenes |
ff07474b65e0
Updated description how to create filters.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
986
diff
changeset
|
218 und in CamelCase geschriebenes Datenfeld zeigt, angelegt werden. |
ff07474b65e0
Updated description how to create filters.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
986
diff
changeset
|
219 Momentan sind Queries für die folgenden Stammdaten möglich: |
985
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
220 * Orte |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
221 * Probennehmer |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
222 * Datensatzerzeuger |
3019d7797037
Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
977
diff
changeset
|
223 * Messprogrammkategorien |