Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
engine:procedures:co_searchmembers_ad [11.01.2016 ] |
engine:procedures:co_searchmembers_ad [11.01.2016 ] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== co_SearchMembers_Ad ===== | ||
+ | |||
+ | Mit Hilfe dieser Prozedur kann nach Mitgliedern in einer Community gesucht werden. Derzeit kann nur der "Nickname" als Suchkriterium verwendet werden. Dabei handelt es sich um die Eigenschaft eines Mitglieds zum durch den Schlüssel "IdentifyingCharacteristicID" (aus "CommunitySettings") hinterlegten Merkmal.\\ | ||
+ | |||
+ | |||
+ | |||
+ | Anmerkung zu den "OutputCharacteristicID..."-Parametern :\\ | ||
+ | |||
+ | IDs, die hier übergeben werden und nicht für den Benutzer, der diese Prozedur aufruft, "sichtbar" sind (aufgrund von Zugriffsbeschränkungen, s. [[dstoreproc>pm_GetPChAccRestrForUsers_Ad]]), werden grundsätzlich ignoriert ! D.h. es gibt zwar keinen Fehler, aber die entsprechende(n) Eigenschaft(en) werden natürlich nicht zurückgegeben !\\ | ||
+ | |||
+ | |||
+ | |||
+ | Anmerkung zur Rückgabespalte "Nickname" :\\ | ||
+ | |||
+ | Eine evtl. konfigurierte Zugriffsbeschränkung für das "Nickname"-Merkmal (s. [[dstoreproc>pm_GetPChAccRestrForUsers_Ad]]) wird bewußt NICHT beachtet (da das ja DIE öffentlich sichtbare Eigenschaft in einer Community schlechthin ist) !\\ | ||
+ | |HTTP-Method|GET | | ||
+ | |HTTP-Auth|Optional | | ||
+ | |Tags|{{tag>[co Search Members Ad]}}| | ||
+ | |Engine-Kategorie|communities | | ||
+ | |Engine-Typ|Daten-Ermittlung | | ||
+ | |Letzte Aktualisierung|7.0.7 (2015-01-29)| | ||
+ | |||
+ | ==== Parameter ==== | ||
+ | |||
+ | ^Name ((Pflichtparameter sind unterstrichen)) ^Standard-Wert ^Beschreibung ((siehe [[webservice:engine_parameterconventions|Parameter-Konventionen engine/<Prozedur-Name>]])) ^SQL-Datentyp((siehe [[:webservice:engine_datatypes|Datentypen im Bereich "engine"]])) ^ab Version ^ | ||
+ | |__CommunityID__| |ID einer Community\\ |smallint|3.5.8| | ||
+ | |__SearchString__| |Der "Such-String" bezieht sich auf die Eigenschaften zum Merkmal "IdentifyingCharacteristicID" (aus "CommunitySettings"), den "Nickname"s. Ein Nickname identifiziert ein Mitglied EINDEUTIG innerhalb der Community.\\ |varchar(100)|3.5.8| | ||
+ | |MaxNumberOfRows|30 |Wieviele Datensätze sollen maximal (höchstens 255) zurückgegeben werden ?\\ |tinyint|3.5.8| | ||
+ | |CaseSensitive|0 |"0" : Alle "Nickname"s suchen, die bis auf Groß- und Kleinschreibung mit "SearchString" übereinstimmen - wildcards wie "*", "%", "?" oder "_" sind erlaubt\\ "1" : "SearchString" enthält einen (korrekt geschriebenen) "Nickname"\\ |bit|3.5.8| | ||
+ | |OutputCharacteristicID1|NULL |ID eines Merkmals. Falls angegeben, enthält die Rückgabemenge in der Spalte "Value1" die Eigenschaft des jeweiligen Mitglieds zu diesem Merkmal.\\ |smallint|3.5.8| | ||
+ | |OutputCharacteristicID2|NULL |ID eines Merkmals. Falls angegeben, enthält die Rückgabemenge in der Spalte "Value2" die Eigenschaft des jeweiligen Mitglieds zu diesem Merkmal.\\ |smallint|3.5.8| | ||
+ | |OutputCharacteristicID3|NULL |ID eines Merkmals. Falls angegeben, enthält die Rückgabemenge in der Spalte "Value3" die Eigenschaft des jeweiligen Mitglieds zu diesem Merkmal.\\ |smallint|3.5.8| | ||
+ | |CommunityBinaryCategoryID|NULL |Falls angegeben, enthält die Spalte "BinaryID" der Rückgabemenge die kleinste "BinaryID", die dem jeweiligen Mitglied in dieser Kategorie zugeordnet ist\\ |smallint|3.5.8| | ||
+ | ==== Rückgabe ==== | ||
+ | |||
+ | === (parameterunabhängig) === | ||
+ | |||
+ | ^Spaltenname ^Beschreibung ^SQL-Datentyp((siehe [[:webservice:engine_datatypes|Datentypen im Bereich "engine"]])) ^ab Version ^ | ||
+ | |//lower(Nickname)((Spalte wird nicht zurückgegeben und ist hier nur aus Dokumentationsgründen aufgeführt.))//|Wird nicht zurückgegeben, sondern zur Sortierung benötigt; enthält den "Nickname" komplett "lowercase" (Kleinbuchstaben)\\ |varchar(100)|3.5.8 | | ||
+ | |CommunityMemberID|ID eines gefunden Community-Mitglieds\\ |integer|3.5.8 | | ||
+ | |Nickname|Eigenschaft von "CommunityMemberID" zu dem durch den Schlüssel "IdentifyingCharacteristicID" aus "CommunitySettings" hinterlegten Merkmal. Es trifft "Nickname = SearchString" bzw. "lower(Nickname) like SearchString" zu.\\ |varchar(100)|3.5.8 | | ||
+ | |IsOnline|Ist das Mitglied "CommunityMemberID" gerade angemeldet (sprich "online") ?\\ |bit|3.5.8 | | ||
+ | |Value1|Eigenschaft des Mitglieds "CommunityMemberID" zum Merkmal "OutputCharacteristicID1"\\ |varchar(100)|3.5.8 | | ||
+ | |Value1RestrictedByPattern|Was enthält "Value1" (womöglich wegen Zugriffsbeschränkungen nur einen Teil) ?\\ - NULL : den vollständigen Wert\\ - "#left(<n>)#" : nur die ERSTEN n Zeichen\\ - "#right(<n>)#" : nur die LETZTEN n Zeichen\\ Anmerkung : "n = 0" möglich, "Value1" ist dann NULL\\ |varchar(100)|6.5.4 | | ||
+ | |Value2|Eigenschaft des Mitglieds "CommunityMemberID" zum Merkmal "OutputCharacteristicID2"\\ |varchar(100)|3.5.8 | | ||
+ | |Value2RestrictedByPattern|Wie "Value1RestrictedByPattern" - nur eben auf "Value2" bezogen\\ |varchar(100)|6.5.4 | | ||
+ | |Value3|Eigenschaft des Mitglieds "CommunityMemberID" zum Merkmal "OutputCharacteristicID3"\\ |varchar(100)|3.5.8 | | ||
+ | |Value3RestrictedByPattern|Was enthält "Value3" (womöglich wegen Zugriffsbeschränkungen nur einen Teil) ?\\ - NULL : den vollständigen Wert\\ - "#left(<n>)#" : nur die ERSTEN n Zeichen\\ - "#right(<n>)#" : nur die LETZTEN n Zeichen\\ Anmerkung : "n = 0" möglich, "Value3" ist dann NULL\\ |varchar(100)|6.5.4 | | ||
+ | |BinaryID|Falls "CommunityBinaryCategoryID" angegeben wurde, steht hier die kleinste "BinaryID", die dem Mitglied "CommunityMemberID" in der Kategorie "CommunityBinaryCategoryID" zugeordnet ist\\ |integer|3.5.8 | | ||
+ | |||
+ | == Sortierung der Rückgabe == | ||
+ | |||
+ | (parameterunabängige Sortierung) | ||
+ | * lower(Nickname) (aufsteigend) | ||
+ | |||
+ | ==== Output-Parameter ==== | ||
+ | |||
+ | Die Prozedur hat keine Output-Parameter.==== Mögliche Return-Codes ==== | ||
+ | |||
+ | ^Code ^Beschreibung ^Quelle ((direkt meint "von der Prozedur selber" und indirekt meint "von intern aufgerufenen Unterprozeduren")) ^ | ||
+ | |-781|Fehlender oder falscher Eintrag in CommunitySettings|nur indirekt| | ||
+ | |-569|Der Benutzer hat kein Ausführungsrecht für die Prozedur|nur indirekt| | ||
+ | |-567|Die Prozedur darf z. Zt. nicht ausgeführt werden|nur indirekt| | ||
+ | |-566|Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werden|nur indirekt| | ||
+ | |-535|Das Datum liegt nicht in der Vergangenheit|nur indirekt| | ||
+ | |-530|Der Wert ist nicht konvertierbar|nur indirekt| | ||
+ | |-510|Der Benutzer ist nicht registriert|nur indirekt| | ||
+ | |-504|Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochen|nur indirekt| | ||
+ | |-502|Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen)|nur indirekt| | ||
+ | |-500|Falsche Parameter|direkt und indirekt| | ||
+ | ==== XML-Schema ==== | ||
+ | |||
+ | Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema [[http://resources.dstore.de/xsd/webservice_SmartGate/Response/EngineProcedure_v1_0.xsd|Response/EngineProcedure_v1_0.xsd]] validiert. | ||
+ | ==== Historie ==== | ||
+ | |||
+ | |7.0.7 |2015-01-29|Interne Änderung : Datentyp-Erweiterung des "ReferenceKey" [für "_mi_StartProcedure"-Aufruf]\\ | | ||
+ | |6.5.4 |2013-04-29|1. Anpassungen an den aktuellen Standard, u.a. zwecks UTF8-Unterstützung\\ 2. Implementierung des neuen Merkmal-Zugriffsbeschränkungen-Features [=> auch Hinweis in der Doku]\\ 3. Neue Rückgabespalten "Value...RestrictedByPattern"\\ | | ||
+ | |4.0.10 |2004-03-15|1. Aufruf der Prozeduren "_mi_StartProcedure", "_mi_FinishProcedure" und "_mi_ChooseParamValueSeperator" \\ 2. Ausführen von "set transaction isolation level 1" und "set rowcount 0" zu Beginn der Prozedur\\ 3. Konsequente Fehlerbehandlung\\ | | ||
+ | |3.5.10 |2001-07-14|\\ | | ||
+ | |3.5.8 |2001-05-19|Erstmalig in dieser Version erstellt\\ | | ||
+ | |||
+ | ==== Code-Snippets ==== | ||
+ | |||
+ | == Engine Playground == | ||
+ | Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist: | ||
+ | * [[http://playground.dstore.de/index.php?proc=co_SearchMembers_Ad|co_SearchMembers_Ad im Engine Playground öffnen]] | ||
+ | == cURL == | ||
+ | Unformatierte Ausgabe: | ||
+ | <code bash> | ||
+ | curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/co_SearchMembers_Ad?CommunityID=<value>&SearchString=<value>'</code>Mit xmllint ((I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org)) formatierte Ausgabe: | ||
+ | <code bash> | ||
+ | curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/co_SearchMembers_Ad?CommunityID=<value>&SearchString=<value>' | xmllint --format -</code>== dStore_php == | ||
+ | <code php> | ||
+ | use dStore_php\WebService; | ||
+ | |||
+ | $service = new WebService\Service( WebService\Scheme::HTTP,'<partner>-<project>.dstore.de', 80); | ||
+ | |||
+ | $request = new WebService\Requests\Engine\Procedure\Request( | ||
+ | new WebService\Requests\AccessData('default'), | ||
+ | 'co_SearchMembers_Ad', | ||
+ | array( | ||
+ | 'CommunityID' => <value>, | ||
+ | 'SearchString' => '<value>', | ||
+ | // 'MaxNumberOfRows' => 30, | ||
+ | // 'CaseSensitive' => 0, | ||
+ | // 'OutputCharacteristicID1' => NULL, | ||
+ | // 'OutputCharacteristicID2' => NULL, | ||
+ | // 'OutputCharacteristicID3' => NULL, | ||
+ | // 'CommunityBinaryCategoryID' => NULL | ||
+ | ) | ||
+ | ); | ||
+ | |||
+ | $service->execute($request); | ||
+ | |||
+ | $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); | ||
+ | $ResultSet = $xml_result->getRowsAsArray(); | ||
+ | |||
+ | </code> | ||
+ | == engine/execute == | ||
+ | XML zur Ausführung mit der Methode [[:webservice:engine:execute|engine/execute]], z.B. per | ||
+ | curl --header 'Content-Type: application/xml' -X POST 'http://<partner>-<kunde>.dstore.de/default/engine/execute' -d '<xml-daten>' | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version="1.0" encoding="UTF-8"?> | ||
+ | <ListOfBatches> | ||
+ | <Batch No="0"> | ||
+ | <Procedure Name="co_SearchMembers_Ad"> | ||
+ | <Parameters> | ||
+ | <Parameter Name="CommunityID"><!-- smallint value --></Parameter> | ||
+ | <Parameter Name="SearchString"><!-- varchar value --></Parameter> | ||
+ | <!-- <Parameter Name="MaxNumberOfRows">30</Parameter> --> | ||
+ | <!-- <Parameter Name="CaseSensitive">0</Parameter> --> | ||
+ | <!-- <Parameter Name="OutputCharacteristicID1">NULL</Parameter> --> | ||
+ | <!-- <Parameter Name="OutputCharacteristicID2">NULL</Parameter> --> | ||
+ | <!-- <Parameter Name="OutputCharacteristicID3">NULL</Parameter> --> | ||
+ | <!-- <Parameter Name="CommunityBinaryCategoryID">NULL</Parameter> --> | ||
+ | </Parameters> | ||
+ | </Procedure> | ||
+ | </Batch> | ||
+ | </ListOfBatches></code> | ||