Legt eine neue Community an.
Anmerkung zum Parameter „FriendRelationshipID“:
Für jede Community ist es vorgesehen, daß es eine besondere Beziehung unterhalb von Mitgliedern geben kann, die sogenannte „Friends-Nonfriends“ Beziehung. Jedes Mitglied kann eine Reihe anderer Personen festlegen, die es als „Freund“ betrachtet (um z.B. angezeigt bekommen zu können, ob gerade diese Mitglieder auch online sind). Die Beziehung wird über „PersonRelationships“ abgebildet, wofür aber natürlich eine „RelationshipID“ erforderlich ist - eben die „FriendRelationshipID“. Es darf sich hierbei übrigens NICHT um eine „SystemRelationship“ handeln…
Wichtige Hinweise:
1.) Zum Anlegen einer Person - und damit insbesondere für das Anlegen eines neuen Community-Mitglieds - ist immer eine „PersonCharacCategoryID“ erforderlich, weswegen die Prozedur sich selbst zum angegebenen Personen-Typ der Mitglieder (→ „CommunityMembersPersonTypeID“) diejenige Merkmal-Kategorie raussucht, die Pflichtmerkmale enthält (denn davon muß es pro Personentyp genau eine geben). Sollte das jedoch fehlschlagen, gibt es den Fehler „-711“. Die ermittelte Merkmal-Kategorie wird ebenfalls in „CommunitySettings“ festgehalten, und zwar zum Schlüssel „CommunityMembersPersonCharacCategoryID“.
2.) Für alle angegebenen Merkmal-IDs („PasswordCharacteristicID“, „QuestionCharacteristicID“ etc.) wird gecheckt, ob diese auch dem Personentyp „CommunityMembersPersonTypeID“ zugewiesen sind, ansonsten gibt die Prozedur „-500“ zurück !
3.) Beim Anlegen einer neuen Community wird auch eine neue Gruppe erstellt, in die alle neuen Community-Mitglieder aufgenommen werden. Hintergrund dafür ist die Zugangsberechtigung zu Foren, die primär für Gruppen gedacht ist (sonst müßte man für jede einzelne Community-Person einen entsprechenden Eintrag in „ForumAccessForPersons“ machen, was ziemlich mühsam sein dürfte…).
4.) In „CommunitySettings“ wird ein Eintrag zu „PublicCharacteristicIDs“ gemacht („Value“ ist aber leer ('') ); der dient dazu, die Merkmale festzulegen, die ein Community-Mitglied von einem anderen sehen darf (in einem „Steckbrief“ z.B.). Die IDs sollten dann nach Aufruf dieser Prozedur (durch co_ModifyCommunitySettings_Ad) festgelegt werden. Gleiches gilt für den Eintrag „MinTimeBetweenMessagesInSeconds“, der angibt, nach welcher Zeitspanne ein Community-Mitglied eine neue „Instant-Message“ an den gleichen Adressaten verfassen darf.
HTTP-Method | POST |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | configurations |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
CommunityName | Name der neuen Community | varchar(100) | 3.5.0 | |
CommunityMembersPersonTypeID | ID eines Personen-Typs. Alle Mitglieder einer Community müssen den gleichen Personen-Typ haben, da dieser für den Identifizierungsvorgang benötigt wird. Die ID wird in „CommunitySettings“ zum Schlüssel „CommunityMembersPersonTypeID“ gespeichert. | smallint | 3.5.0 | |
IdentifyingCharacteristicID | ID eines Personen-Merkmals (zu dem keine lesenden Zugriffsbeschr. existieren dürfen !). Community-Mitglieder haben immer einen sogennanten „Nickname“, um sich untereinander eindeutig erkennen zu können. Der Nickname ist die Eigenschaft zu diesem Merkmal. | smallint | 3.5.0 | |
PasswordCharacteristicID | ID eines Personen-Merkmals. Da man sich an der Community immer anmelden muß, legt dieser Parameter fest, zu welchem Merkmal die Paßwörter gespeichert werden. Die ID wird zu „PasswordCharacteristicID“ in „CommunitySettings“ gespeichert. | smallint | 3.5.0 | |
QuestionCharacteristicID | NULL | ID eines Personen-Merkmals für das „Frage-Antwort“-Spiel, wenn ein Mitglied sein Paßwort vergessen hat (siehe co_GetLostPasswordQuestion_Pu bzw. co_GetLostPassword_Pu). Falls angegeben, muß auch „AnswerCharacteristicID“ übergeben werden ! | smallint | 3.5.0 |
AnswerCharacteristicID | NULL | ID eines Personen-Merkmals für das „Frage-Antwort“-Spiel, wenn ein Mitglied sein Paßwort vergessen hat (siehe co_GetLostPasswordQuestion_Pu bzw. co_GetLostPassword_Pu). Falls angegeben, muß auch „QuestionCharacteristicID“ übergeben werden ! | smallint | 3.5.0 |
FriendRelationshipID | NULL | ID einer speziellen „Beziehungs-Art“, die dazu dient, befreundete Community-Mitglieder kennzeichnen zu können (genauere Erläuterung siehe Beschreibung) | integer | 3.5.0 |
KeepMessagesInDays | 180 | Legt fest, nach wievielen Tagen der „Garbage-Collector“ (→ mi_GarbageCollect_Ad) alte Datensätze aus „Messages“ löscht. Der Wert wird in „CommunitySettings“ zum Schlüssel „sys_KeepMessagesInDays“ gespeichert. | smallint | 3.5.7 |
KeepUsersOnlineTimeInDays | 45 | Alle Logins und Logouts werden für jedes Mitglied pro Community in „UsersOnlineTime“ protokolliert. Dieser Parameter bestimmt, wie lange diese Daten gehalten werden. Er wird in „CommunitySettings“ zum Schlüssel „sys_KeepUsersOnlineTimeInDays“ gespeichert. | smallint | 3.5.10 |
Die Prozedur hat keine Rückgaben.
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 4) |
---|---|---|
-711 | Es konnte keine Merkmal-Kategorie mit Pflichtmerkmalen ermittelt werden | nur direkt |
-697 | Aktion kann nicht durchgeführt werden, da für ein Merkmal eine Zugriffsbeschränkung besteht | direkt und 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 |
-503 | Fehlerhafte Daten in einer Tabelle - genauere Fehlermeldung auf der Standardausgabe | 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.
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 des Quellcodes an den aktuellen Standard 2. Default-Wert von „FriendRelationshipID“ geändert [von „2“ auf „NULL“, weil im Standard „2“ für die Beziehung „Accounts → Default-Lieferanschrift“ steht] |
6.5.2 | 2013-02-26 | Prüfen, ob es sich bei „IdentifyingCharacteristicID“ um eine Personen-MerkmalID handelt mit Beschränkung auf den lesenden Zugriff handelt. Wenn ja, wird nun ein Fehler geworfen. |
5.0.4 | 2005-09-26 | Fehler bzgl. der automatischen Gruppen-Zuordnung |
4.0.12 | 2004-04-30 | Fehler bzgl. des „Frage-Antwort-Spiels“ |
4.0.10 | 2004-03-15 | 1. Aufruf der Prozeduren „_mi_StartProcedure“ und „_mi_FinishProcedure“ 2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur |
3.5.20 | 2002-07-22 | |
3.5.10 | 2001-07-14 | |
3.5.7 | 2001-05-04 | |
3.5.6 | 2001-04-17 | |
3.5.2 | 2001-01-28 | |
3.5.0 | 2000-11-23 | 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 POST 'http://<partner>-<project>.dstore.de/default/engine/co_InsertNewCommunity_Ad?CommunityName=<value>&CommunityMembersPersonTypeID=<value>&IdentifyingCharacteristicID=<value>&PasswordCharacteristicID=<value>'
Mit xmllint 5) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/co_InsertNewCommunity_Ad?CommunityName=<value>&CommunityMembersPersonTypeID=<value>&IdentifyingCharacteristicID=<value>&PasswordCharacteristicID=<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_InsertNewCommunity_Ad', array( 'CommunityName' => '<value>', 'CommunityMembersPersonTypeID' => <value>, 'IdentifyingCharacteristicID' => <value>, 'PasswordCharacteristicID' => <value>, // 'QuestionCharacteristicID' => NULL, // 'AnswerCharacteristicID' => NULL, // 'FriendRelationshipID' => NULL, // 'KeepMessagesInDays' => 180, // 'KeepUsersOnlineTimeInDays' => 45 ) ); $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_InsertNewCommunity_Ad"> <Parameters> <Parameter Name="CommunityName"><!-- varchar value --></Parameter> <Parameter Name="CommunityMembersPersonTypeID"><!-- smallint value --></Parameter> <Parameter Name="IdentifyingCharacteristicID"><!-- smallint value --></Parameter> <Parameter Name="PasswordCharacteristicID"><!-- smallint value --></Parameter> <!-- <Parameter Name="QuestionCharacteristicID">NULL</Parameter> --> <!-- <Parameter Name="AnswerCharacteristicID">NULL</Parameter> --> <!-- <Parameter Name="FriendRelationshipID">NULL</Parameter> --> <!-- <Parameter Name="KeepMessagesInDays">180</Parameter> --> <!-- <Parameter Name="KeepUsersOnlineTimeInDays">45</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>