Von Version < 18.2 >
bearbeitet von nlo
am 09.05.2019, 14:29
Auf Version < 33.15
bearbeitet von gru
am 14.10.2020, 12:58
<
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.nlo
1 +XWiki.gru
Inhalt
... ... @@ -5,13 +5,37 @@
5 5  == LDAP-Abfrage anlegen ==
6 6  
7 7  {{id name="fig_data_ldap_query"/}}
8 -{{figure image="data_ldap_query_de.png"}}Konfigurationsoberfläche zum Anlegen von LDAP-Abfragen: (1) Liste existierender LDAP-Abfragen, (2) Editor zum Definieren der Abfrage, (3) Eigenschaften-Panel der Abfrage, (4) Attributfilter der Abfrage, 85) Generierte Servlet-URL zur Verwendung der Abfrage, (6) Konsole zum Testen der Abfrage{{/figure}}
8 +{{figure image="data_ldap_query_de.png"}}Konfigurationsoberfläche zum Anlegen von LDAP-Abfragen: (1) Liste existierender LDAP-Abfragen, (2) Editor zum Definieren der Abfrage, (3) Eigenschaften-Panel der Abfrage, (4) Attributfilter der Abfrage, (5) Generierte Servlet-URL zur Verwendung der Abfrage, (6) Konsole zum Testen der Abfrage{{/figure}}
9 9  
10 +
11 +{{html wiki="true"}}
12 +<div class='xm-figure xm-float-right xm-clear-h2' data-alt='Konfigurationsoberfläche zum Anlegen von LDAP-Abfragen: (1) Liste existierender LDAP-Abfragen, (2) Editor zum Definieren der Abfrage, (3) Eigenschaften-Panel der Abfrage, (4) Attributfilter der Abfrage, (5) Generierte Servlet-URL zur Verwendung der Abfrage, (6) Konsole zum Testen der Abfrage'><div class='xm-figure-inner' style='width:310px'>{{lightbox image='data_ldap_query_de.png' width='300' group='$height' group='$group' title='Konfigurationsoberfläche zum Anlegen von LDAP-Abfragen: (1) Liste existierender LDAP-Abfragen, (2) Editor zum Definieren der Abfrage, (3) Eigenschaften-Panel der Abfrage, (4) Attributfilter der Abfrage, (5) Generierte Servlet-URL zur Verwendung der Abfrage, (6) Konsole zum Testen der Abfrage'/}}<div class='xm-figure-caption'>Konfigurationsoberfläche zum Anlegen von LDAP-Abfragen: (1) Liste existierender LDAP-Abfragen, (2) Editor zum Definieren der Abfrage, (3) Eigenschaften-Panel der Abfrage, (4) Attributfilter der Abfrage, (5) Generierte Servlet-URL zur Verwendung der Abfrage, (6) Konsole zum Testen der Abfrage</div></div></div>
13 +{{/html}}
14 +
15 +
16 +
17 +{{html wiki="true"}}
18 +<div class='xm-figure xm-float-right xm-clear-h2' data-alt='Konfigurationsoberfläche zum Anlegen von LDAP-Abfragen: (1) Liste existierender LDAP-Abfragen, (2) Editor zum Definieren der Abfrage, (3) Eigenschaften-Panel der Abfrage, (4) Attributfilter der Abfrage, (5) Generierte Servlet-URL zur Verwendung der Abfrage, (6) Konsole zum Testen der Abfrage'><div class='xm-figure-inner' style='width:310px'>{{lightbox image='data_ldap_query_de.png' width='300' group='$height' group='$group' title='Konfigurationsoberfläche zum Anlegen von LDAP-Abfragen: (1) Liste existierender LDAP-Abfragen, (2) Editor zum Definieren der Abfrage, (3) Eigenschaften-Panel der Abfrage, (4) Attributfilter der Abfrage, (5) Generierte Servlet-URL zur Verwendung der Abfrage, (6) Konsole zum Testen der Abfrage'/}}<div class='xm-figure-caption'>Konfigurationsoberfläche zum Anlegen von LDAP-Abfragen: (1) Liste existierender LDAP-Abfragen, (2) Editor zum Definieren der Abfrage, (3) Eigenschaften-Panel der Abfrage, (4) Attributfilter der Abfrage, (5) Generierte Servlet-URL zur Verwendung der Abfrage, (6) Konsole zum Testen der Abfrage</div></div></div>
19 +{{/html}}
20 +
21 +
22 +
23 +{{html wiki="true"}}
24 +<div class='xm-figure xm-float-right xm-clear-h2' data-alt='Konfigurationsoberfläche zum Anlegen von LDAP-Abfragen: (1) Liste existierender LDAP-Abfragen, (2) Editor zum Definieren der Abfrage, (3) Eigenschaften-Panel der Abfrage, (4) Attributfilter der Abfrage, (5) Generierte Servlet-URL zur Verwendung der Abfrage, (6) Konsole zum Testen der Abfrage'><div class='xm-figure-inner' style='width:310px'>{{lightbox image='data_ldap_query_de.png' width='300' group='$height' group='$group' title='Konfigurationsoberfläche zum Anlegen von LDAP-Abfragen: (1) Liste existierender LDAP-Abfragen, (2) Editor zum Definieren der Abfrage, (3) Eigenschaften-Panel der Abfrage, (4) Attributfilter der Abfrage, (5) Generierte Servlet-URL zur Verwendung der Abfrage, (6) Konsole zum Testen der Abfrage'/}}<div class='xm-figure-caption'>Konfigurationsoberfläche zum Anlegen von LDAP-Abfragen: (1) Liste existierender LDAP-Abfragen, (2) Editor zum Definieren der Abfrage, (3) Eigenschaften-Panel der Abfrage, (4) Attributfilter der Abfrage, (5) Generierte Servlet-URL zur Verwendung der Abfrage, (6) Konsole zum Testen der Abfrage</div></div></div>
25 +{{/html}}
26 +
27 +
28 +
29 +{{html wiki="true"}}
30 +<div class='xm-figure xm-float-right xm-clear-h2' data-alt='Konfigurationsoberfläche zum Anlegen von LDAP-Abfragen: (1) Liste existierender LDAP-Abfragen, (2) Editor zum Definieren der Abfrage, (3) Eigenschaften-Panel der Abfrage, (4) Attributfilter der Abfrage, (5) Generierte Servlet-URL zur Verwendung der Abfrage, (6) Konsole zum Testen der Abfrage'><div class='xm-figure-inner' style='width:310px'>{{lightbox image='data_ldap_query_de.png' width='300' group='$height' group='$group' title='Konfigurationsoberfläche zum Anlegen von LDAP-Abfragen: (1) Liste existierender LDAP-Abfragen, (2) Editor zum Definieren der Abfrage, (3) Eigenschaften-Panel der Abfrage, (4) Attributfilter der Abfrage, (5) Generierte Servlet-URL zur Verwendung der Abfrage, (6) Konsole zum Testen der Abfrage'/}}<div class='xm-figure-caption'>Konfigurationsoberfläche zum Anlegen von LDAP-Abfragen: (1) Liste existierender LDAP-Abfragen, (2) Editor zum Definieren der Abfrage, (3) Eigenschaften-Panel der Abfrage, (4) Attributfilter der Abfrage, (5) Generierte Servlet-URL zur Verwendung der Abfrage, (6) Konsole zum Testen der Abfrage</div></div></div>
31 +{{/html}}
32 +
33 +
10 10  * Öffnen Sie das Modul "LDAP-Abfragen" und klicken Sie auf die Schaltfläche "Neu" {{ficon name="plus-circle-outline"/}} in der Kopzeile der Liste (siehe [[Abbildung>>||anchor="fig_data_ldap_query"]]).
11 11  * Vergeben Sie einen eindeutigen Namen und optional eine Beschreibung.
12 12  * Aktivieren Sie ggf. die Benutzung der //LDAP//-Verbindung des [[Mandanten>>doc:Formcycle.SystemSettings.UserInterface.Clients]] oder wählen sie eine separate [[//LDAP//-Verbindung>>doc:Formcycle.UserInterface.Data.LDAPConnections]] aus.
13 13  * Definieren Sie für diese //LDAP//-Abfrage zu verwendende //BaseDN//. Diese dient als Wurzel für die Suche mittels der eigentlichen Filterabfrage.
14 -* Definieren Sie die Abfrage in entsprechender //LDAP//-Filtersyntax ([[Tutorial>>url:http://www.selfadsi.de/ldap-filter.htm#FilterDef||rel="__blank"]]). Parameter werden innerhalb des Filters durch {{code}}?{{/code}} angegeben und durch entsprechende Übergaben ersetzt (Punkt 2 in [[Abbildung>>||anchor="fig_data_ldap_query"]]).
38 +* Definieren Sie die Abfrage in entsprechender //LDAP//-Filtersyntax ([[Tutorial>>url:http://www.selfadsi.de/ldap-filter.htm#FilterDef||rel="__blank"]]). Parameter werden innerhalb des Filters durch {{code language="none"}}?{{/code}} angegeben und durch entsprechende Übergaben ersetzt (Punkt 2 in [[Abbildung>>||anchor="fig_data_ldap_query"]]).
15 15  * Tragen Sie ggf. die von Ihnen benötigten Attribute in den Attributfilter ein. Die Rückgabe der Abfrage wird anschließend auf diese beschränkt. Wird hier kein Attribut definiert, werden alle Attribute des Such-Ergebnisses zurückgeliefert (Punkt 4 in [[Abbildung>>||anchor="fig_data_ldap_query"]]).
16 16  
17 17  == Verwendung der Abfrage ==
... ... @@ -18,7 +18,7 @@
18 18  
19 19  Die //LDAP//-Datenabfrage ist innerhalb und außerhalb eines Formulars über das hierfür vorgesehene //Servlet// unter Verwendung der entsprechenden Parameter abrufbar.
20 20  
21 -{{code}}
45 +{{code language="none"}}
22 22  http://<server>/formcycle/datenabfrageldap
23 23  {{/code}}
24 24  
... ... @@ -30,11 +30,16 @@
30 30  |name|Muss dem Namen der LDAP-Abfrage entsprechen.|Ja
31 31  |mandantName|Muss dem Namen des Mandanten entsprechen, unter welchen diese Datenquelle erstellt wurde.|Ja, wenn //projektId// nicht gegeben
32 32  |projektId|Muss der ID des Formulars entsprechen. Diese Information kann über XFC_METADATA.currentProject.id abgerufen werden.|Ja, wenn //mandantName// nicht gegeben
33 -|queryParameter|Nur erforderlich, wenn innerhalb der LDAP-Abfrage Platzhalter in Form eines Fragezeichens {{code}}?{{/code}} verwendet werden. Ist dies der Fall, werden die einzelnen Parameter übergeben getrennt mit dem Trennzeichen, welches durch den Parameter //delimiter// festgelegt wird.|Nein
34 -|delimiter|Trennzeichen, welches die einzelnen Werte des //queryParameter// trennt. Standardmäßig ein Komma {{code}},{{/code}}.|Nein
57 +|queryParameter|Nur erforderlich, wenn innerhalb der LDAP-Abfrage Platzhalter in Form eines Fragezeichens {{code language="none"}}?{{/code}} verwendet werden. Ist dies der Fall, werden die einzelnen Parameter übergeben getrennt mit dem Trennzeichen, welches durch den Parameter //delimiter// festgelegt wird.
58 +
59 +Wenn möglich sollte für neue Projekte anstelle des Parameters //queryParameter// der Parameter //queryParameterValues// verwendet werden, da //queryParameter// in einer zukünftigen Version von {{formcycle/}} nicht mehr unterstützt werden wird.|Nein
60 +|delimiter|Trennzeichen, welches die einzelnen Werte des //queryParameter// trennt. Standardmäßig ein Komma {{code language="none"}},{{/code}}.
61 +
62 +Wenn möglich sollte für neue Projekte anstelle der Parameter //delimiter// und //queryParameter// der Parameter //queryParameterValues// verwendet werden, da //delimiter// in einer zukünftigen Version von {{formcycle/}} nicht mehr unterstützt werden wird.|Nein
63 +|queryParameterValues|{{version major="6" minor="6" patch="3"/}}Ab {{formcycle/}} Version 6.6.3 zur Verfügung stehende Alternative zu den Parametern //queryParameter// und //delimiter//. Wie diese Parameter ist auch //queryParameterValues// nur dann erforderlich, wenn innerhalb der LDAP-Abfrage Platzhalter in Form eines Fragezeichens {{code language="none"}}?{{/code}} verwendet werden. Ist dies der Fall, werden die einzelnen Abfrageparameter hintereinander jeweils als ein eingener Parameter //queryParameterValues// übergegeben, wodurch auch die Verwendung des Parameters //delimiter// entfällt.|Nein
35 35  {{/table}}
36 36  
37 -Bei Zugriff aus einem Formular verwenden Sie bitte immer das globale Variablen-Objekt //XFC_METADATA//, siehe hierzu auch [[Globale Designer Variablen>>doc:Main.Formular-Metadaten]]. In diesem Objekt stehen alle relevanten URLs von {{formcycle case="dat"/}} zur Verfügung, sodass diese Beispielhaft wie folgt ermittelt werden kann: {{code language="javascript"}}XFC_METADATA.urls.datasource_ldap{{/code}}.
66 +Bei Zugriff aus einem Formular verwenden Sie bitte immer das globale Variablen-Objekt {{jsdoc page="metadata" name="urls"}}XFC_METADATA.urls{{/jsdoc}}. In diesem Objekt stehen alle relevanten URLs von {{formcycle case="dat"/}} zur Verfügung, sodass diese Beispielhaft wie folgt ermittelt werden kann: {{code language="javascript"}}XFC_METADATA.urls.datasource_ldap{{/code}}.
38 38  
39 39  Die Rückgabe des Abfrage-Ergebnisses erfolgt im //JSON//-Format und kann somit innerhalb des Formulars direkt genutzt werden.
40 40  
... ... @@ -41,54 +41,67 @@
41 41  == Testen der Abfrage ==
42 42  
43 43  {{info}}
44 -Zum schnellen Testen der Abfrage steht die Tastenkombination {{code}}Strg + Enter{{/code}} zur Verfügung.
73 +Zum schnellen Testen der Abfrage steht die Tastenkombination {{code language="none"}}Strg + Enter{{/code}} zur Verfügung.
45 45  {{/info}}
46 46  
47 -LDAP-Abfragen können direkt in der Konfigurationsoberfläche getestet werden. Hierzu steht eine Testkonsole unterhalb des Editors zur Verfügung (siehe [[Abbildung>>||anchor="fig_data_db_query"]]).
76 +LDAP-Abfragen können direkt in der Konfigurationsoberfläche getestet werden. Hierzu steht eine Testkonsole unterhalb des Editors zur Verfügung (siehe [[Abbildung>>||anchor="fig_data_ldap_query"]]).
48 48  Im Header der Testkonsole befindet sich eine Reihe von Buttons zur Steuerung der Abfrage:
49 49  
50 50  * {{ficon name="database-search"/}}**Abfrage ausführen**
51 -Führt die Datenbank-Abfrage aus. Werden //Abfrageparameter// ({{code}}?{{/code}}) verwendet, wird der Nutzer aufgefordert Werte für diese Parameter einzugeben. Ist dies nicht der Fall wird das Ergebnis der Abfrage direkt in der //Tabellenansicht// dargestellt.
52 -{{lightbox image="data_db_query_test_de.png" title="Abfrage ausführen"/}}
80 +Führt die LDAP-Abfrage aus. Werden //Abfrageparameter// ({{code language="none"}}?{{/code}}) verwendet, wird der Nutzer aufgefordert Werte für diese Parameter einzugeben. Ist dies nicht der Fall wird das Ergebnis der Abfrage direkt in der //Quellcodeansicht// dargestellt.{{lightbox image="data_ldap_query_test_de.png" title="Abfrage ausführen"/}}
53 53  * {{icon name="question"/}}**Abfrageparameter**
54 -Maske zum Eingeben von Werten für Abfrageparameter. Diese Option steht nur zur Verfügung, wenn Abfrageparameter ({{code}}?{{/code}}) in der SQL-Abfrage verwendet werden. Die einzelnen Abfrageparameter werden nummeriert im SQL-Query dargestellt. Ein Klick auf "Parameter für Abfrage verwenden" {{ficon name="arrow-right-bold-circle-outline2"/}} führt die Abfrage mit den eingebenen Parametern aus. Das Ergebnis wird in der //Tabellenansicht// dargestellt.
55 -{{lightbox image="data_db_query_test_param_de.png" title="Die Paramter der Abfrage werden nummeriert."/}}
56 -Eigentliche Abfrage im SQL-Editor:
57 -{{lightbox image="data_db_query_example_de.png" title="Beispielabfrage"/}}
58 -* {{ficon name="table-large"/}}**Tabellenansicht**
59 -Abfrageergebnis in Tabellenform
60 -{{lightbox image="data_db_query_test_table_de.png" title="Abfrageergebnis in Tabellenform"/}}
82 +Maske zum Eingeben von Werten für Abfrageparameter. Diese Option steht nur zur Verfügung, wenn Abfrageparameter ({{code language="none"}}?{{/code}}) in der LDAP-Abfrage verwendet werden. Die einzelnen Abfrageparameter werden nummeriert im Query dargestellt. Ein Klick auf "Parameter für Abfrage verwenden" {{ficon name="arrow-right-bold-circle-outline2"/}} führt die Abfrage mit den eingebenen Parametern aus. Das Ergebnis wird in der //Quellcodeansicht// dargestellt.
83 + {{lightbox image="data_ldap_query_test_param_de.png" title="Die Paramter der Abfrage werden nummeriert."/}}
84 +Eigentliche Abfrage im Editor:{{lightbox image="data_ldap_query_example.png" title="Beispielabfrage"/}}
61 61  * {{icon name="code"/}}**Quellcodeansicht**
62 -Abfrageergebnis im JSON-Format
63 -{{lightbox image="data_db_query_test_code_de.png" title="Abfrageergebnis im JSON-Format"/}}
64 -* {{icon name="Terminal"/}}**Generiertes SQL**
65 -Zeigt das generierte SQL-Statement mit eingefügten Parameterwerten
66 -{{lightbox image="data_db_query_test_sql_de.png" title="Zeigt den generierten SQL-Query mit eingefügten Parameterwerten"/}}
86 +Abfrageergebnis im JSON-Format{{lightbox image="data_ldap_query_test_code_de.png" title="Abfrageergebnis im JSON-Format"/}}
87 +* {{icon name="Terminal"/}}**Generierte LDAP-Abfrage**
88 +Zeigt das generierte LDAP-Statement mit eingefügten Parameterwerten{{lightbox image="data_ldap_query_test_gen_de.png" title="Zeigt den generierten LDAP-Query mit eingefügten Parameterwerten"/}}
67 67  
68 68  == Beispiele für Abfragen ==
69 69  
70 -Im Folgenden wird gezeigt, wie auf eine LDAP-Abfrage mittels HTTP-Requests zugegriffen werden kann. [[In den Demoseiten findet sich auch, wie ein Auswahlelement mit dem
71 -Ergebnis einer LDAP-Abfrage befüllt werden kann.>>doc:Examples.SelectOptionsLDAP]]
92 +Im Folgenden wird gezeigt, wie auf eine LDAP-Abfrage mittels HTTP-Requests zugegriffen werden kann.
72 72  
73 -Beispielsweise ein LDAP-Abfrage mit dem Namen //MeinAbfrage// angelegt und folgende Abfrage hinterlegt.
94 +Beispielsweise wurde eine LDAP-Abfrage mit dem Namen //MeinAbfrage// angelegt und folgende Abfrage hinterlegt:
74 74  
75 -{{code}}
96 +{{code language="none"}}
76 76  ((distinguishedName=?,?)
77 77  {{/code}}
78 78  
79 79  Es müssen zwei Werte für die beiden Platzhalter (Fragezeichen) übergeben werden. Diese Abfrage kann wie folgt aufgerufen werden.
80 80  
81 -{{code}}
102 +{{code language="none"}}
82 82  http://<server>/formcycle/datenabfrageldap?name=MeineAbfrage&mandantName=MeinMandant&queryParameter=Wert,1;Wert,2&delimiter=;
83 83  {{/code}}
84 84  
85 -Der folgende Code kann zur Abfrage mittels AJAX aus einem Formular genutzt werden.
106 +{{version major="6" minor="6" patch="3"/}}Ab {{formcycle/}} Version 6.6.3 kann die gleiche Abfrage auch folgendermen aufgerufen werden, wobei diese Formr neue Projekte empfohlen wird:
86 86  
108 +{{code language="none"}}
109 +http://<server>/formcycle/datenabfrageldap?name=MeineAbfrage&mandantName=MeinMandant&queryParameterValues=Wert,1&queryParameterValues=Wert,2
110 +{{/code}}
111 +
112 +Zur Abfrage mittels AJAX aus einem Formular gibt es ein fertige Funktion:
113 +
87 87  {{code language="javascript"}}
115 +$.xutil.getLdapQuery("MeineAbfrage", ["Wert1", "Wert2"])
116 + .then(function(data) {
117 + // Rückruf-Funktion, die ausgeführt wird, wenn der Server die Abfrage beanwortet hat
118 + // Die Variable data enthält jetzt ein Array mit den Daten
119 + console.log(data.length, "Einträge gefunden");
120 + })
121 + .catch(function(xhr, statusMessage, statusCode) {
122 + console.log("Abfrage fehlgeschlagen:", statusMessage, statusCode);
123 + // Fehlerbehandlung durchführen...
124 + });
125 +{{/code}}
126 +
127 +Bei dem obigen Code wurde vor {{formcycle/}} Version 6.6.3 immer das Komma als Trennzeichen für die Query-Parameter verwendet. Wenn bei {{formcycle/}} Versionen vor 6.6.3 ein anderes Trennzeichen verwendet werden soll, muss die Abfrage manuell ausgeführt werden:
128 +
129 +{{code language="javascript"}}
88 88  function ldapQuery(name, queryParameter, delimiter, callback) {
89 89   $.ajax({
90 90   url: XFC_METADATA.urls.dataquery_ldap,
91 - method: 'GET',
133 + method: 'GET',
92 92   async: true,
93 93   cache: false,
94 94   dataType: 'json',
... ... @@ -98,6 +98,10 @@
98 98   queryParameter: queryParameter,
99 99   delimiter: delimiter || ','
100 100   }
101 - }).success(callback);
143 + }).then(callback);
102 102  }
145 +
146 +ldapQuery("MeineAbfrage", "Wert,1;Wert,2", ";", function(data) {
147 + // Zurückgelieferte Daten auswerten...
148 +});
103 103  {{/code}}
data_ldap_query_example.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.nlo
Größe
... ... @@ -1,0 +1,1 @@
1 +668 bytes
Inhalt
data_ldap_query_test_code_de.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.nlo
Größe
... ... @@ -1,0 +1,1 @@
1 +5.1 KB
Inhalt
data_ldap_query_test_code_en.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.nlo
Größe
... ... @@ -1,0 +1,1 @@
1 +4.7 KB
Inhalt
data_ldap_query_test_de.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.nlo
Größe
... ... @@ -1,0 +1,1 @@
1 +4.1 KB
Inhalt
data_ldap_query_test_en.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.nlo
Größe
... ... @@ -1,0 +1,1 @@
1 +3.8 KB
Inhalt
data_ldap_query_test_gen_de.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.nlo
Größe
... ... @@ -1,0 +1,1 @@
1 +3.6 KB
Inhalt
data_ldap_query_test_gen_en.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.nlo
Größe
... ... @@ -1,0 +1,1 @@
1 +3.3 KB
Inhalt
data_ldap_query_test_param_de.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.nlo
Größe
... ... @@ -1,0 +1,1 @@
1 +6.1 KB
Inhalt
data_ldap_query_test_param_en.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.nlo
Größe
... ... @@ -1,0 +1,1 @@
1 +6.1 KB
Inhalt
Copyright 2000-2025