Verstecke letzte Bearbeiter
gru 1.1 1 {{content/}}
2
nlo 7.1 3 {{id name="fig_data_source"/}}
nlo 11.1 4 {{figure image="data_source_de.png"}}Konfigurationsoberfläche zum Anlegen von Datenquellen: (1) Liste existierender Datenquellen, (2) Bereich zum Editieren der selektierten Datenquelle, (3) Einstellungspanel der Datenquelle, (4) Servlet-URL der Datenquelle, um auf diese zugreifen zu können.{{/figure}}
nlo 7.1 5
gru 1.1 6 Die Quellen bzw. Datenquellen werden als Text im Format CSV, JSON oder XML hinterlegt und können über den {{designer case="acc"/}} bzw. das Formular verarbeitet werden.
7
8 Um auch im Skriptbereich per Javaskript auf die Datenquellen Zugriff zu haben, werden alle Datenquellen in eine JSON-Struktur umgewandelt und im Objekt {{code}}XFC_METADATA.urls.datasource_[csv|json|xml]{{/code}} zugänglich gemacht. Die Struktur dieser JSON-Struktur für die verschiedenen Datenquellen ist im jeweiligen Abschnitt erläutert.
9
nlo 10.1 10 == Anlegen einer Datenquelle ==
nlo 9.1 11
nlo 14.1 12 Öffnen Sie das Modul "Daten > Quellen" und klicken Sie auf die Schaltfläche "Neu" {{ficon name="plus-circle-outline"/}} in der Kopfzeile der Liste (siehe Punkt 1 in der [[Abbildung>>||anchor="fig_data_source"]]). Daraufhin werden Sie aufgefordert eine leere Datenquelle anzulegen oder diese aus einer Datei zu importieren. Es können drei Typen von Datenquellen angelegt werden: //XML//, //CSV// und //JSON//.
nlo 9.1 13
nlo 11.1 14 {{lightbox image="data_source_new_de.png"/}}
15
nlo 14.2 16 === Importieren von Datenquellen aus Dateien ===
17
18
19
gru 1.1 20 == CSV ==
21
22 Hier können Sie Datensätze im CSV-Format eingeben.
23
24 * Wählen Sie unter //Typ// die Option //CSV//.
25 * Vergeben Sie einen eindeutigen Namen.
26 * Im Feld //Wert// geben Sie die Daten separiert mit einem Komma ein.
27
nlo 7.1 28 {{figure image="datenquelle_csv_8.png"}}
gru 1.1 29 Die JSON-Struktur der CSV-Datenquelle. Auf diese JSON-Struktur kann dann per Javaskript über {{code}}XFC_METADATA.urls.datasource_[csv|json|xml]{{/code}} zugegriffen werden.
30 {{/figure}}
31
32 === Beispiel für eine CSV-Datenquelle ===
33
34 {{info}}
35 Die CSV-Daten werden intern in ein JSON-Objekt umgewandelt, sodass die erste Zeile der //CSV-Datei// immer die Objektnamen für den späteren Zugriff definiert.
36 {{/info}}
37
38 {{code}}
39 Wert 1.1, Wert 1.2, Wert 1.3, Wert 1.4, ...
40 {{/code}}
41
42 Das Auslesen der Werte im {{designer case="dat"/}} erfolgt über das //Servlet// mit Namen //datenquellecsv//.
43
44 === Servlet-Parameter ===
45
46 {{info}}
47 **Servlet-URL**
48 http(s):~/~/<server>/formcycle/datenquellecsv?mandantName=<Mandant-Name>&name=<Datenquellen-Name>
49 {{/info}}
50
gru 1.3 51 Bei Zugriff aus dem {{designer case="dat"/}} verwenden Sie immer das globale Variablen-Objekt //XFC_METADATA//, siehe hierzu auch [[Globale Designer Variablen>>doc:Main.Formular-Metadaten]]. Beispielsweise kann wie folgt darauf zugegriffen werden: {{code}}XFC_METADATA.urls.datasource_csv{{/code}}.
gru 1.1 52
53 Folgende Parameter sind möglich:
54
55 |=Parametername|=Beschreibung|=Erforderlich
56 |name|Muss dem Namen der CSV-Datenquelle entsprechen.|Ja
57 |mandantName|Muss dem Namen des Mandanten entsprechen, unter welchen diese Datenquelle erstellt wurde.|Ja, wenn //projektId// nicht gegeben.
58 |projektId|Muss der ID des Formulars entsprechen. Diese Information kann über {{code}}XFC_METADATA.currentProject.id{{/code}} abgerufen werden.|Ja, wenn //mandantName// nicht gegeben.
59 |kopfzeile|Gibt eine Komma-separierte Liste der Spaltennamen der CSV-Tabelle an. Ist dieser nicht angegeben, so wird hierfür die erste Zeile der CSV-Tabelle verwendet.|Nein
60 |spaltenNamen|Gibt eine kommaseparierte Liste der Spalten an, welche Spalten vom //Servlet// mit den entsprechenden Werten zurückgeliefert werden. Hierbei werden je nach Verwendung die Namen der Spalten aus dem Parameter //kopfzeile// oder die Namen der ersten Zeile der //CSV//-Datenquelle erwartet.|Nein
61 |csvTrennzeichen|Gibt das Trennzeichen zwischen den einzelnen Datenzellen an. Wird dieses nicht gesetzt, wird hier standardmäßig ein Komma {{code}},{{/code}} benutzt.|Nein
62 |csvQuote|Das Trennzeichen, mit dem die Werte der Zeilen getrennt sind. Wird dieses nicht gesetzt, wird hier standardmäßig ein Anführungszeichen verwendet {{code}}"{{/code}}.| Nein
63
64 === Anwendungsbeispiel ===
65
66 {{figure image="datenquelle_csv_7.png" width="300"}}
67 Ein Beispiel dafür, wie eine CSV-Datenquelle aussehen kann. Die Spalten werden durch Kommas getrennt.
68 {{/figure}}
69
70 {{code language="csv"}}
71 anrede,vorname,nachname,plz,ort
72 Herr,Max,Mustermann,1000,Musterhausen
73 Frau,Monika,Mustermann,2000,Musterdorf
74 Frau, Luise,Musterfrau,3000,Musterstadt
75
76 {{/code}}
77
78
79
80
gru 1.3 81 Im {{designer case="dat"/}} wird dann folgendes Skript im [[Skriptbereich>>doc:Main.TAB - Script]] verwendet.
gru 1.1 82
83 {{code language="javascript"}}
84 $.getJSON( XFC_METADATA.urls.datasource_csv + "?name=Demo&mandantName=xima.de", function(json) {
85 var obj = json.returnValue[0]
86
87 $('[name=tfAnrede]').val(obj.anrede)
88 $('[name=tfVorname]').val(obj.vorname)
89 $('[name=tfName]').val(obj.nachname)
90 $('[name=tfPLZ]').val(obj.plz)
91 $('[name=tfOrt]').val(obj.ort)
92 })
93 {{/code}}
94
95 {{lightbox image="datenquelle_csv_4.png" width="300"/}}
96
97 Dieses Beispiel als Datenquelle für den {{designer case="acc"/}} [[zum Herunterladen>>attach:beispiel_datenquelle_csv.json||rel="__blank"]].
98
99 === Sonderfall Auswahlelement ===
100
nlo 4.1 101 {{figure image="data_source_csv_designer_de.png"}}
gru 1.1 102 Die Anbindung einer Datenquelle an eine Auswahlelement erfolgt direkt im {{designer case="dat"/}}
103 {{/figure}}
104
gru 1.3 105 Soll die //CSV//-Datenquelle direkt in ein [[Auswahlelement>>doc:Main.Auswahl]] geladen werden, erfolgt dies über die Eigenschaften des Auswahlelements im {{designer case="dat"/}}.
gru 1.1 106
gru 1.3 107 Der Inhalt der CSV-Datenquelle wird folgendermaßen in einem [[Auswahlelement>>doc:Main.Auswahl]] verarbeitet.
gru 1.1 108
109 {{code}}
110 sichtbarer wert, übertragener, wert, optionaler wert, optionaler wert, ...
111 {{/code}}
112
113 Werden mehr als der sichtbare und übertragene Wert angegeben, also optionale Werte, so können diese im Javaskript über den folgenden jQuery-Selektor abgerufen werden.
114
115 {{code language="javascript"}}
116 $('[name=sel2]').find('option:selected').attr('col0');
117 {{/code}}
118
119 Jeder optionale Wert wird am Auswahlelement als Attribut {{code}}col + Index des optionalen Wert{{/code}} gespeichert. Bei z.B. drei optionalen Werten würde es also //col0//, //col1// und //col2// geben.
120
121 == XML ==
122
gru 1.3 123 Die XML Datenquelle verhält sich analog zur //CSV//-Datenquelle, kann jedoch nicht direkt an ein [[Auswahlelement>>doc:Main.Auswahl]] gebunden werden.
gru 1.1 124
125 {{figure image="datenquelle_xml.png" width="300"}}
126 Die JSON-Struktur der XML-Datenquelle. Auf diese JSON-Struktur kann dann per Javaskript über {{code}}XFC_METADATA.urls.datasource_[csv|json|xml]{{/code}} zugegriffen werden.
127 {{/figure}}
128
129 === Beispiel für eine XML-Datenquelle ===
130
131 {{code language="xml"}}
132 <root>
133 <person>
134 <anrede>
135 Herr
136 </anrede>
137 <vorname>
138 Max
139 </vorname>
140 <nachname>
141 Mustermann
142 </nachname>
143 </person>
144 <person>
145 <anrede>
146 Frau
147 </anrede>
148 <vorname>
149 Monika
150 </vorname>
151 <nachname>
152 Musterfrau
153 </nachname>
154 </person>
155 </root>
156 {{/code}}
157
158
159 === Servlet-Parameter ===
160
161 {{info}}
162 **Servlet-URL**
163 http(s):~/~/<server>/formcycle/datenquellexml?mandantName=<Mandant-Name>&name=<Datenquellen-Name>
164 {{/info}}
165
gru 1.3 166 Bei Zugriff aus dem {{designer case="dat"/}} verwenden Sie immer das globale Variablen-Objekt //XFC_METADATA//, siehe hierzu auch [[Globale Designer Variablen>>doc:Main.Formular-Metadaten]]. Beispielsweise kann wie folgt darauf zugegriffen werden: {{code language="javascript"}}XFC_METADATA.urls.datasource_xml{{/code}}.
gru 1.1 167
168 Folgende Parameter sind möglich:
169
170 |=Parametername|=Beschreibung|=Erforderlich
171 |mandantName|Muss dem Namen des Mandanten entsprechen, unter welchem diese Datenquelle erstellt wurde.|Ja
172 |name|Muss dem Namen der CSV-Datenquelle entsprechen.|Ja
173
174 == JSON ==
175
gru 1.3 176 Die //JSON//-Datenquelle verhält sich analog zur //CSV//-Datenquelle, kann jedoch nicht direkt an ein [[Auswahlelement>>doc:Main.Auswahl]] gebunden werden.
gru 1.1 177
178 {{figure image="datenquelle_json.png" width="300"}}
179 Die JSON-Struktur der JSON-Datenquelle. Sie ist identisch mit der JSON-Datenquelle. Auf diese JSON-Struktur kann dann per Javaskript über {{code}}XFC_METADATA.urls.datasource_[csv|json|xml]{{/code}} zugegriffen werden.
180 {{/figure}}
181
182 === Beispiel für eine JSON-Datenquelle ===
183
184 {{code language="json"}}
185 {"person":[
186 {
187 'anrede':'Herr',
188 'vorname':'Max',
189 'nachname':'Mustermann'
190 },
191 {
192 'anrede':'Frau',
193 'vorname':'Monika',
194 'nachname':'Musterfrau'
195 }
196 ]}
197 {{/code}}
198
199 === Servlet-Parameter ===
200
201 {{info}}
202 **Servlet-URL**
203 http(s):~/~/<server>/formcycle/datenquellejson?mandantName=<Mandant-Name>&name=<Datenquellen-Name>
204 {{/info}}
205
gru 1.3 206 Bei Zugriff aus dem {{designer case="dat"/}} verwenden Sie immer das globale Variablenobjekt //XFC_METADATA//, siehe hierzu auch [[Globale Designer Variablen>>doc:Main.Formular-Metadaten]]. Beispielweise kann wie folgt darauf zugegriffen werden: {{code language="javascript"}}XFC_METADATA.urls.datasource_json{{/code}}.
gru 1.1 207
208 Folgende Parameter sind möglich:
209
210 |=Parametername|=Beschreibung|=Erforderlich
211 |mandantName| Muss dem Namen des Mandanten entsprechen, unter welchen diese Datenquelle erstellt wurde.|Ja
212 |name| Muss dem Namen der CSV-Datenquelle entsprechen.|Ja
Copyright 2000-2025