Gibt für ein Community-Mitglied alle „Mitglieder“ zurück, die in einer bestimmten Beziehung ihm stehen, wie z.B. alle „Freunde“ (→ Eintrag in „CommunitySettings“ zum Schlüssel „FriendRelationshipID“).
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. 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. 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 | |
| Engine-Kategorie | communities |
| Engine-Typ | Daten-Ermittlung |
| Letzte Aktualisierung | 6.5.4 (2013-04-29) |
| Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
|---|---|---|---|---|
| UniqueID | Eindeutige ID eines Besuchers, die dem zu identifizierenden Mitglied aktuell zugeordnet ist. Falls die Identifizierungsdaten zur Person in „SessionManagement“ (zu dieser „UniqueID“) gespeichert sind, darf „PersonIdentificationValues“ auch „NULL“ sein. | varchar(50) | 3.5.11 | |
| PersonIdentificationValues | Liste von Werten, die das Mitglied identifizieren. Diese Werte müssen Eigenschaften zu den Merkmal-IDs sein, die in „PersonTypeSettings“ zur „PersonTypeID“ der „CommunityID“ zum Schlüssel „PersonIdentificationIDs“ hinterlegt sind. | varchar(255) | 3.5.11 | |
| CommunityID | ID einer Community | smallint | 3.5.11 | |
| CommunityMemberID | NULL | ID eines anderen Community-Mitglieds. So kann man überprüfen, ob eine Beziehung zu genau dieser Person besteht oder nicht (wenn nicht, ist die Ergebnismenge leer). Die Person muß natürlich Mitglied der gleichen Community sein… | integer | 3.5.11 |
| RelationshipID | NULL | Gibt an, welcher Art die „Verwandschaft“/„Beziehung“ (z.B. „Freund“) ist. Wenn „NULL“ angegeben ist, wird automatisch die sogenannte „FriendRelationshipID“ (entsprechender Eintrag in „CommunitySettings“) gewählt. | tinyint | 3.5.11 |
| RelationshipDirection | 0 | Gibt die „Richtung“ der Beziehung (aus Sicht des identifizierten Mitglieds) an : „0“ : „ICH“ habe die Beziehung erstellt „1“ : „ANDERE“ haben eine Beziehung zu „MIR“ erstellt „2“ : Beide Richtungen | tinyint | 3.5.11 |
| OutputCharacteristicID1 | NULL | ID eines Merkmals. Falls angegeben, enthält die Rückgabemenge in der Spalte „Value1“ die Eigenschaft des jeweiligen Mitglieds zu diesem Merkmal. Das Merkmal muß aber durch den „Settings“-Eintrag zum Schlüssel „PublicCharacteristicIDs“ freigegeben sein ! | smallint | 3.5.11 |
| OutputCharacteristicID2 | NULL | ID eines Merkmals. Falls angegeben, enthält die Rückgabemenge in der Spalte „Value2“ die Eigenschaft des jeweiligen Mitglieds zu diesem Merkmal. Das Merkmal muß aber durch den „Settings“-Eintrag zum Schlüssel „PublicCharacteristicIDs“ freigegeben sein ! | smallint | 3.5.11 |
| OutputCharacteristicID3 | NULL | ID eines Merkmals. Falls angegeben, enthält die Rückgabemenge in der Spalte „Value3“ die Eigenschaft des jeweiligen Mitglieds zu diesem Merkmal. Das Merkmal muß aber durch den „Settings“-Eintrag zum Schlüssel „PublicCharacteristicIDs“ freigegeben sein ! | smallint | 3.5.11 |
| 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.11 |
| SeparatorInIdentVals | '¶' | Gibt an, durch welche Zeichenkette die Werte in „PersonIdentificationValues“ getrennt sind | varchar(4) | 5.5.0 |
| Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
|---|---|---|---|
| CommunityMemberID | ID eines Community-Mitglieds, zu dem eine Beziehung besteht | integer | 3.5.11 |
| Nickname | Eigenschaft des Mitglieds „CommunityMemberID“ zu dem Merkmal, anhand dessen die Community-Mitglieder sich untereinander unterscheiden bzw. erkennen können. (Eintrag in „CommunitySettings“ zum Schlüssel „IdentifyingCharacteristicID“) | varchar(100) | 3.5.11 |
| SortNo | Die „Priorität“ der Beziehung | integer | 3.5.11 |
| RelationshipDirection | Richtung der Beziehung aus Sicht des identifizierten Mitglieds : „0“ : „ICH“ habe die Beziehung erstellt „1“ : „ANDERE“ haben eine Beziehung zu „MIR“ erstellt | tinyint | 3.5.11 |
| AccessLevel | Summe von Zugriffsrechten, die das Mitglied „CommunityMemberID“ auf Daten des identifizierten Mitglieds hat bzw. umgekehrt (je nach „RelationshipDirection“). Mögliche Einzel-Zugriffsrechte : s. pm_GetRelationAccessLevels. | smallint | 5.1.10 |
| OnlineStatus | Dieser Wert gibt an, wo ein Mitglied sich gerade in der Community aufhält. Es sind nur der Status „0“ [gerade angemeldet] und „255“ [Community verlassen] vom „dStore“ vorgegeben. | tinyint | 3.5.11 |
| Value1 | Eigenschaft des Mitglieds „CommunityMemberID“ zum Merkmal „OutputCharacteristicID1“ | varchar(100) | 3.5.11 |
| 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.11 |
| 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.11 |
| 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.11 |
(parameterunabängige Sortierung)
Die Prozedur hat keine Output-Parameter.
| Code | Beschreibung | Quelle 5) |
|---|---|---|
| -781 | Fehlender oder falscher Eintrag in CommunitySettings | nur indirekt |
| -780 | Fehlender oder falscher Eintrag in CommunityMemberSettings | nur indirekt |
| -774 | Login vorübergehend gesperrt | nur indirekt |
| -773 | Login gesperrt | nur indirekt |
| -772 | User ist nicht angemeldet | nur indirekt |
| -771 | Der Sweeper ist nicht gestartet | nur indirekt |
| -770 | Login zur Zeit nicht möglich | nur indirekt |
| -750 | Fehlende Berechtigung für die Anzeige der Daten | nur direkt |
| -660 | Identifikation fehlgeschlagen | nur indirekt |
| -621 | Fehlender oder falscher Eintrag in PersonTypeSettings | nur indirekt |
| -602 | Zur defaultUniqueID („VisitorID = -2“) können keinerlei Daten gespeichert oder verändert werden | nur indirekt |
| -599 | Lizenz ist ungültig oder abgelaufen | 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 |
| -550 | Fehlender oder falscher Eintrag in Settings | 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 |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
| 6.5.4 | 2013-04-29 | 1. Implementierung des neuen Merkmal-Zugriffsbeschränkungen-Features [⇒ auch Hinweis in der Doku] 2. Länge des Parameter „SeparatorInIdentVals“ wurde erweitert [von „1“ auf „4“] 3. Neue Rückgabespalten „Value…RestrictedByPattern“ |
| 5.5.0 | 2008-01-07 | 1. Neuer Parameter „SeparatorInIdentVals“ 2. Vereinfachung der Fallunterscheidungen bei Ermittlung der Rückgabemenge |
| 5.1.10 | 2007-03-12 | 1. Tabelle „PersonRelationships“ hat sich geändert ⇒ entsprechende Anpassungen 2. Parameter „RelationshipID“ ist jetzt ein „tinyint“ [vorher „integer“] 3. Neue Rückgabespalte „AccessLevel“ 4. „print“-Ausgabe im Fehler-Fall „-500“ |
| 3.5.11 | 2001-09-06 | Erstmalig in dieser Version erstellt |
Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:
Unformatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/co_GetRelatedMembers_Pu?UniqueID=<value>&PersonIdentificationValues=<value>&CommunityID=<value>'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/co_GetRelatedMembers_Pu?UniqueID=<value>&PersonIdentificationValues=<value>&CommunityID=<value>' | xmllint --format -
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_GetRelatedMembers_Pu', array( 'UniqueID' => '<value>', 'PersonIdentificationValues' => '<value>', 'CommunityID' => <value>, // 'CommunityMemberID' => NULL, // 'RelationshipID' => NULL, // 'RelationshipDirection' => 0, // 'OutputCharacteristicID1' => NULL, // 'OutputCharacteristicID2' => NULL, // 'OutputCharacteristicID3' => NULL, // 'CommunityBinaryCategoryID' => NULL, // 'SeparatorInIdentVals' => '¶' ) ); $service->execute($request); $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); $ResultSet = $xml_result->getRowsAsArray();
XML zur Ausführung mit der Methode engine/execute, z.B. per
curl --header 'Content-Type: application/xml' -X POST 'http://<partner>-<kunde>.dstore.de/default/engine/execute' -d '<xml-daten>'
<?xml version="1.0" encoding="UTF-8"?> <ListOfBatches> <Batch No="0"> <Procedure Name="co_GetRelatedMembers_Pu"> <Parameters> <Parameter Name="UniqueID"><!-- varchar value --></Parameter> <Parameter Name="PersonIdentificationValues"><!-- varchar value --></Parameter> <Parameter Name="CommunityID"><!-- smallint value --></Parameter> <!-- <Parameter Name="CommunityMemberID">NULL</Parameter> --> <!-- <Parameter Name="RelationshipID">NULL</Parameter> --> <!-- <Parameter Name="RelationshipDirection">0</Parameter> --> <!-- <Parameter Name="OutputCharacteristicID1">NULL</Parameter> --> <!-- <Parameter Name="OutputCharacteristicID2">NULL</Parameter> --> <!-- <Parameter Name="OutputCharacteristicID3">NULL</Parameter> --> <!-- <Parameter Name="CommunityBinaryCategoryID">NULL</Parameter> --> <!-- <Parameter Name="SeparatorInIdentVals">'¶'</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>