Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
engine:procedures:fo_getposting_pu [11.01.2016 ] |
engine:procedures:fo_getposting_pu [11.01.2016 ] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== fo_GetPosting_Pu ===== | ||
+ | |||
+ | Gibt einen Foren-Beitrag zurück.\\ | ||
+ | |||
+ | Wie immer werden natürlich eine Identifizierung durchgeführt und die Berechtigungen der entsprechenden Person für das Forum, zu dem der auszugebende Beitrag gehört, überprüft.\\ Falls die Identifizierung fehlschlägt oder in "UniqueID" der Wert "defaultUniqueID" angegeben wird, werden die Rechte für die anonyme Person (mit der speziellen "PersonID = 0") gecheckt.\\ | ||
+ | |HTTP-Method|GET | | ||
+ | |HTTP-Auth|Optional | | ||
+ | |Tags|{{tag>[fo Get Posting Pu]}}| | ||
+ | |Engine-Kategorie|forums | | ||
+ | |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 ^ | ||
+ | |__PersonIdentificationValues__| |Liste von Werten, die den Forum-Teilnehmer identifizieren. Diese Werte müssen Eigenschaften zu den Merkmal-IDs sein, die in "PersonTypeSettings" zur "PersonTypeID" zum Schlüssel "PersonIdentificationIDs" hinterlegt sind.\\ |varchar(255)|3.5.0| | ||
+ | |__PersonTypeID__| |ID des Personen-Typs dem der zu identifizierende Forum-Teilnehmer angehört. Dieser muß bei einer Identifizierung immer mit angegeben werden, da die Merkmale zur Identifizierung pro Personentyp variieren können.\\ |tinyint|3.5.0| | ||
+ | |__UniqueID__| |Eindeutige ID eines Besuchers, die dem zu identifizierenden Forum-Teilnehmer aktuell zugeordnet ist. Falls die Identifizierungsdaten zur Person in "SessionManagement" (zur "UniqueID") gespeichert sind, darf "PersonIdentificationValues" "NULL" sein.\\ |varchar(50)|3.5.0| | ||
+ | |__PostingID__| |ID eines Postings, daß man angezeigt bekommen möchte\\ |integer|3.5.0| | ||
+ | |AdditionalInfos|0 |"1" angeben, wenn zusätzliche Informationen zum Autor des Beitrags ermittelt werden sollen (-> Rückgabespalten "Value1", "Value2" und "Value3")\\ |bit|3.5.0| | ||
+ | |SeparatorInIdentVals|'¶' |Gibt an, durch welche Zeichen die Werte in "PersonIdentificationValues" getrennt sind\\ |varchar(4)|5.5.0| | ||
+ | ==== Rückgabe ==== | ||
+ | |||
+ | === (parameterunabhängig) === | ||
+ | |||
+ | ^Spaltenname ^Beschreibung ^SQL-Datentyp((siehe [[:webservice:engine_datatypes|Datentypen im Bereich "engine"]])) ^ab Version ^ | ||
+ | |PostDate|Datum des Beitrags "PostingID" (Format : "15.03.2001 20:48:13")\\ |varchar(19)|3.5.0 | | ||
+ | |Author|Name des Verfassers des Beitrags "PostingID"\\ |varchar(100)|3.5.0 | | ||
+ | |AuthorPersonID|(Person)ID des Verfassers "Author" - "0" bedeutet, daß der Verfasser anonym ist\\ |integer|3.5.0 | | ||
+ | |EMailOfAuthor|eMail des Verfassers "Author"\\ |varchar(100)|3.5.0 | | ||
+ | |Subject|Der Titel des Beitrags "PostingID"\\ |varchar(255)|3.5.0 | | ||
+ | |Body|Der Beitrag selbst - "NULL" falls "SmallBody" NICHT "NULL" ist\\ |text|3.5.0 | | ||
+ | |HasSuccessors|Gibt es wenigstens eine Antwort auf "PostingID" ? ACHTUNG : Es wird hierbei NICHT nach dem Sichtbarkeit-Status ("Visible") eingeschränkt (d.h. unter Umständen steht hier z.B. der Wert "1", aber es gibt nur "gelöschte" Antworten)!\\ |bit|3.5.0 | | ||
+ | |HasBinaries|Sind "Binaries" zu dem Posting "PostingID" vorhanden ?\\ |bit|3.5.0 | | ||
+ | |Value1|Falls "AdditionalInfos = 1" ist, steht hier die Eigenschaft von "AuthorPersonID" zur ersten Merkmal-ID, die in "ForumSettings" zum Schlüssel "AllowedCharacteristicsForAdditionalInformation_<PersonTypeID von AuthorPersonID>" hinterlegt ist\\ |varchar(100)|3.5.0 | | ||
+ | |Value2|Falls "AdditionalInfos = 1" ist, steht hier die Eigenschaft von "AuthorPersonID" zur zweiten Merkmal-ID, die in "ForumSettings" zum Schlüssel "AllowedCharacteristicsForAdditionalInformation_<PersonTypeID von AuthorPersonID>" hinterlegt ist\\ |varchar(100)|3.5.0 | | ||
+ | |Value3|Falls "AdditionalInfos = 1" ist, steht hier die Eigenschaft von "AuthorPersonID" zur dritten Merkmal-ID, die in "ForumSettings" zum Schlüssel "AllowedCharacteristicsForAdditionalInformation_<PersonTypeID von AuthorPersonID>" hinterlegt ist\\ |varchar(100)|3.5.0 | | ||
+ | |SmallBody|Hier erscheint der Beitrag selbst, falls er weniger als 256 Zeichen enthält UND "UseSmallBody" in "ForumSettings" auf "1" gesetzt ist. D.h. mindestens EINE der Rückgabespalten "SmallBody" und "Body" ist IMMER "NULL".\\ |varchar(255)|3.5.17 | | ||
+ | |ReplyToPostingID|ID des Postings, auf das "PostingID" eine Antwort darstellt. Falls gleich "PostingID", handelt es sich um einen Haupt-Beitrag, sprich "MainPosting"\\ |integer|3.5.19 | | ||
+ | |MainPostingID|ID des Haupt-Beitrages zu "PostingID" (also sozusagen das Wurzel-Element des gesamten "Threads" zu dem "PostingID" gehört)\\ |integer|3.5.19 | | ||
+ | |Visible|Sichtbarkeits-Status des Postings "PostingID" - mögliche Werte : siehe [[dstoreproc>fo_GetPostingVisibilities]]\\ |tinyint|3.5.20 | | ||
+ | |ForumID|ID des Forums zu dem der Beitrag "PostingID" gehört\\ |smallint|4.0.11 | | ||
+ | ==== 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")) ^ | ||
+ | |-805|Keine Berechtigung zum Löschen von Postings|nur direkt| | ||
+ | |-802|Keine Berechtigung zum Bestätigen von Postings des Forums|nur direkt| | ||
+ | |-801|Kein lesender Zugriff auf das Forum|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| | ||
+ | ==== 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|"Start-/Finish-Procedure"-Logik eingebaut, s. Ticket #3670\\ | | ||
+ | |6.5.4 |2013-04-29|Fehler bzgl. des im letzten Updates implementierten features "Merkmal-Zugriffsbeschränkungen" behoben\\ | | ||
+ | |6.5.3 |2013-03-18|1. Quellcode-Anpassungen wg. UTF8\\ 2. Beachtung der neuen Zugriffs-Beschränkungen für Merkmale [=> Doku-Anpassung]\\ 3. Drei neue "Value...RestrictedByPattern"-Rückgabespalten [wg. des neuen features "Zugriffsbeschränkung"]\\ | | ||
+ | |6.5.0 |2012-09-17|1. Wird in "UniqueID" die "DefaultUniqueID" angegeben, wird nun der Aufrufer als "anonyme Person" identifiziert (vorher gab es einen Fehler)\\ 2. Bugfix : "AdditionalInfos = 1" funktionierte nicht\\ | | ||
+ | |5.5.0 |2008-01-07|1. Ab jetzt bekommt die identifizierte Person auch "not approved"-Beiträge zurück, sofern sie der Autor ist.\\ 2. Ausgabe via "print" im Fehler-Fall "-500", die nähere Informationen über die Ursache enthält.\\ 3. Neuer Parameter "SeparatorInIdentVals"\\ | | ||
+ | |4.0.11 |2004-03-31|Zusätzliche Rückgabespalte "ForumID"\\ | | ||
+ | |4.0.3 |2003-07-10|Fehler bzlg. Initialisierung von internen Variablen anhand von "Settings"-Einträgen\\ | | ||
+ | |4.0.1 |2003-05-16|Fehler : Man konnte sich keine gelöschten Postings holen, auch wenn man die entsprechende(n) Berechtigung(en) hatte\\ | | ||
+ | |3.5.21 |2002-08-06|\\ | | ||
+ | |3.5.20 |2002-07-22|\\ | | ||
+ | |3.5.19 |2002-06-17|\\ | | ||
+ | |3.5.18 |2002-05-15|\\ | | ||
+ | |3.5.17 |2002-05-02|\\ | | ||
+ | |3.5.7 |2001-05-04|\\ | | ||
+ | |3.5.4 |2001-03-11|\\ | | ||
+ | |3.5.0 |2000-11-23|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=fo_GetPosting_Pu|fo_GetPosting_Pu im Engine Playground öffnen]] | ||
+ | == cURL == | ||
+ | Unformatierte Ausgabe: | ||
+ | <code bash> | ||
+ | curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/fo_GetPosting_Pu?PersonIdentificationValues=<value>&PersonTypeID=<value>&UniqueID=<value>&PostingID=<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/fo_GetPosting_Pu?PersonIdentificationValues=<value>&PersonTypeID=<value>&UniqueID=<value>&PostingID=<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'), | ||
+ | 'fo_GetPosting_Pu', | ||
+ | array( | ||
+ | 'PersonIdentificationValues' => '<value>', | ||
+ | 'PersonTypeID' => <value>, | ||
+ | 'UniqueID' => '<value>', | ||
+ | 'PostingID' => <value>, | ||
+ | // 'AdditionalInfos' => 0, | ||
+ | // 'SeparatorInIdentVals' => '¶' | ||
+ | ) | ||
+ | ); | ||
+ | |||
+ | $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="fo_GetPosting_Pu"> | ||
+ | <Parameters> | ||
+ | <Parameter Name="PersonIdentificationValues"><!-- varchar value --></Parameter> | ||
+ | <Parameter Name="PersonTypeID"><!-- tinyint value --></Parameter> | ||
+ | <Parameter Name="UniqueID"><!-- varchar value --></Parameter> | ||
+ | <Parameter Name="PostingID"><!-- integer value --></Parameter> | ||
+ | <!-- <Parameter Name="AdditionalInfos">0</Parameter> --> | ||
+ | <!-- <Parameter Name="SeparatorInIdentVals">'¶'</Parameter> --> | ||
+ | </Parameters> | ||
+ | </Procedure> | ||
+ | </Batch> | ||
+ | </ListOfBatches></code> | ||