Wiki-Quellcode von Quellen
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
1 | {{content/}} | ||
2 | |||
3 | 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. | ||
4 | |||
5 | 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. | ||
6 | |||
7 | == CSV == | ||
8 | |||
9 | Hier können Sie Datensätze im CSV-Format eingeben. | ||
10 | |||
11 | * Wählen Sie unter //Typ// die Option //CSV//. | ||
12 | * Vergeben Sie einen eindeutigen Namen. | ||
13 | * Im Feld //Wert// geben Sie die Daten separiert mit einem Komma ein. | ||
14 | |||
15 | {{figure image="datenquelle_csv_8.png" width="300"}} | ||
16 | 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. | ||
17 | {{/figure}} | ||
18 | |||
19 | === Beispiel für eine CSV-Datenquelle === | ||
20 | |||
21 | {{info}} | ||
22 | 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. | ||
23 | {{/info}} | ||
24 | |||
25 | {{code}} | ||
26 | Wert 1.1, Wert 1.2, Wert 1.3, Wert 1.4, ... | ||
27 | {{/code}} | ||
28 | |||
29 | Das Auslesen der Werte im {{designer case="dat"/}} erfolgt über das //Servlet// mit Namen //datenquellecsv//. | ||
30 | |||
31 | === Servlet-Parameter === | ||
32 | |||
33 | {{info}} | ||
34 | **Servlet-URL** | ||
35 | http(s):~/~/<server>/formcycle/datenquellecsv?mandantName=<Mandant-Name>&name=<Datenquellen-Name> | ||
36 | {{/info}} | ||
37 | |||
38 | 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}}. | ||
39 | |||
40 | Folgende Parameter sind möglich: | ||
41 | |||
42 | |=Parametername|=Beschreibung|=Erforderlich | ||
43 | |name|Muss dem Namen der CSV-Datenquelle entsprechen.|Ja | ||
44 | |mandantName|Muss dem Namen des Mandanten entsprechen, unter welchen diese Datenquelle erstellt wurde.|Ja, wenn //projektId// nicht gegeben. | ||
45 | |projektId|Muss der ID des Formulars entsprechen. Diese Information kann über {{code}}XFC_METADATA.currentProject.id{{/code}} abgerufen werden.|Ja, wenn //mandantName// nicht gegeben. | ||
46 | |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 | ||
47 | |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 | ||
48 | |csvTrennzeichen|Gibt das Trennzeichen zwischen den einzelnen Datenzellen an. Wird dieses nicht gesetzt, wird hier standardmäßig ein Komma {{code}},{{/code}} benutzt.|Nein | ||
49 | |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 | ||
50 | |||
51 | === Anwendungsbeispiel === | ||
52 | |||
53 | {{figure image="datenquelle_csv_7.png" width="300"}} | ||
54 | Ein Beispiel dafür, wie eine CSV-Datenquelle aussehen kann. Die Spalten werden durch Kommas getrennt. | ||
55 | {{/figure}} | ||
56 | |||
57 | {{code language="csv"}} | ||
58 | anrede,vorname,nachname,plz,ort | ||
59 | Herr,Max,Mustermann,1000,Musterhausen | ||
60 | Frau,Monika,Mustermann,2000,Musterdorf | ||
61 | Frau, Luise,Musterfrau,3000,Musterstadt | ||
62 | |||
63 | {{/code}} | ||
64 | |||
65 | |||
66 | |||
67 | |||
68 | Im {{designer case="dat"/}} wird dann folgendes Skript im [[Skriptbereich>>doc:Main.TAB - Script]] verwendet. | ||
69 | |||
70 | {{code language="javascript"}} | ||
71 | $.getJSON( XFC_METADATA.urls.datasource_csv + "?name=Demo&mandantName=xima.de", function(json) { | ||
72 | var obj = json.returnValue[0] | ||
73 | |||
74 | $('[name=tfAnrede]').val(obj.anrede) | ||
75 | $('[name=tfVorname]').val(obj.vorname) | ||
76 | $('[name=tfName]').val(obj.nachname) | ||
77 | $('[name=tfPLZ]').val(obj.plz) | ||
78 | $('[name=tfOrt]').val(obj.ort) | ||
79 | }) | ||
80 | {{/code}} | ||
81 | |||
82 | {{lightbox image="datenquelle_csv_4.png" width="300"/}} | ||
83 | |||
84 | Dieses Beispiel als Datenquelle für den {{designer case="acc"/}} [[zum Herunterladen>>attach:beispiel_datenquelle_csv.json||rel="__blank"]]. | ||
85 | |||
86 | === Sonderfall Auswahlelement === | ||
87 | |||
88 | {{figure image="datenquelle_csv_2.png" width="300"}} | ||
89 | Die Anbindung einer Datenquelle an eine Auswahlelement erfolgt direkt im {{designer case="dat"/}} | ||
90 | {{/figure}} | ||
91 | |||
92 | Soll die //CSV//-Datenquelle direkt in ein [[Auswahlelement>>doc:Main.Auswahl]] geladen werden, erfolgt dies über die Eigenschaften des Auswahlelements im {{designer case="dat"/}}. | ||
93 | |||
94 | Der Inhalt der CSV-Datenquelle wird folgendermaßen in einem [[Auswahlelement>>doc:Main.Auswahl]] verarbeitet. | ||
95 | |||
96 | {{code}} | ||
97 | sichtbarer wert, übertragener, wert, optionaler wert, optionaler wert, ... | ||
98 | {{/code}} | ||
99 | |||
100 | 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. | ||
101 | |||
102 | {{code language="javascript"}} | ||
103 | $('[name=sel2]').find('option:selected').attr('col0'); | ||
104 | {{/code}} | ||
105 | |||
106 | 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. | ||
107 | |||
108 | == XML == | ||
109 | |||
110 | Die XML Datenquelle verhält sich analog zur //CSV//-Datenquelle, kann jedoch nicht direkt an ein [[Auswahlelement>>doc:Main.Auswahl]] gebunden werden. | ||
111 | |||
112 | {{figure image="datenquelle_xml.png" width="300"}} | ||
113 | 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. | ||
114 | {{/figure}} | ||
115 | |||
116 | === Beispiel für eine XML-Datenquelle === | ||
117 | |||
118 | {{code language="xml"}} | ||
119 | <root> | ||
120 | <person> | ||
121 | <anrede> | ||
122 | Herr | ||
123 | </anrede> | ||
124 | <vorname> | ||
125 | Max | ||
126 | </vorname> | ||
127 | <nachname> | ||
128 | Mustermann | ||
129 | </nachname> | ||
130 | </person> | ||
131 | <person> | ||
132 | <anrede> | ||
133 | Frau | ||
134 | </anrede> | ||
135 | <vorname> | ||
136 | Monika | ||
137 | </vorname> | ||
138 | <nachname> | ||
139 | Musterfrau | ||
140 | </nachname> | ||
141 | </person> | ||
142 | </root> | ||
143 | {{/code}} | ||
144 | |||
145 | |||
146 | === Servlet-Parameter === | ||
147 | |||
148 | {{info}} | ||
149 | **Servlet-URL** | ||
150 | http(s):~/~/<server>/formcycle/datenquellexml?mandantName=<Mandant-Name>&name=<Datenquellen-Name> | ||
151 | {{/info}} | ||
152 | |||
153 | 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}}. | ||
154 | |||
155 | Folgende Parameter sind möglich: | ||
156 | |||
157 | |=Parametername|=Beschreibung|=Erforderlich | ||
158 | |mandantName|Muss dem Namen des Mandanten entsprechen, unter welchem diese Datenquelle erstellt wurde.|Ja | ||
159 | |name|Muss dem Namen der CSV-Datenquelle entsprechen.|Ja | ||
160 | |||
161 | == JSON == | ||
162 | |||
163 | Die //JSON//-Datenquelle verhält sich analog zur //CSV//-Datenquelle, kann jedoch nicht direkt an ein [[Auswahlelement>>doc:Main.Auswahl]] gebunden werden. | ||
164 | |||
165 | {{figure image="datenquelle_json.png" width="300"}} | ||
166 | 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. | ||
167 | {{/figure}} | ||
168 | |||
169 | === Beispiel für eine JSON-Datenquelle === | ||
170 | |||
171 | {{code language="json"}} | ||
172 | {"person":[ | ||
173 | { | ||
174 | 'anrede':'Herr', | ||
175 | 'vorname':'Max', | ||
176 | 'nachname':'Mustermann' | ||
177 | }, | ||
178 | { | ||
179 | 'anrede':'Frau', | ||
180 | 'vorname':'Monika', | ||
181 | 'nachname':'Musterfrau' | ||
182 | } | ||
183 | ]} | ||
184 | {{/code}} | ||
185 | |||
186 | === Servlet-Parameter === | ||
187 | |||
188 | {{info}} | ||
189 | **Servlet-URL** | ||
190 | http(s):~/~/<server>/formcycle/datenquellejson?mandantName=<Mandant-Name>&name=<Datenquellen-Name> | ||
191 | {{/info}} | ||
192 | |||
193 | 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}}. | ||
194 | |||
195 | Folgende Parameter sind möglich: | ||
196 | |||
197 | |=Parametername|=Beschreibung|=Erforderlich | ||
198 | |mandantName| Muss dem Namen des Mandanten entsprechen, unter welchen diese Datenquelle erstellt wurde.|Ja | ||
199 | |name| Muss dem Namen der CSV-Datenquelle entsprechen.|Ja |