Mercurial > lada > lada-server
annotate README.markdown @ 1299:0eece233cbae
Added JSON object type to database dialect.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Fri, 24 Feb 2017 14:28:19 +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 |