Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— |
engine:procedures:fo_getpostingbinaries_pu [11.01.2016 ] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== fo_GetPostingBinaries_Pu ===== | ||
+ | |||
+ | Liefert Informationen zu den zu einem Posting hinterlegten "Binaries" - sofern die identifizierte Person lesenden Zugriff auf das Forum des Beitrags hat.\\ | ||
+ | |||
+ | Anmerkung :\\ 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 Binaries 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\\ |integer|3.5.0| | ||
+ | |SortNo|NULL |Das wievielte Binärobjekt soll ermittelt werden. Gibt man hierfür UND für "PostingBinaryIdentifier" "NULL" an, werden alle "Binaries" ermittelt.\\ |tinyint|3.5.0| | ||
+ | |IncludeBinaryCode|0 |Soll der Binärobjekt SELBST (d.h. der "Binär-Code") ebenfalls ermittelt werden ?\\ |bit|3.5.0| | ||
+ | |PostingBinaryIdentifier|NULL |Wird nur beachtet, wenn "SortNo = NULL" ist ! Alternativ zur "SortNo" kann über diesen Wert EINDEUTIG ein "Binary" referenziert werden - sofern dieser "Identifier" bei Anlage des "Binaries" (-> [[dstoreproc>fo_InsertBinaryForPosting_Pu]]) auch gespeichert wurde.\\ |varchar(100)|5.1.6| | ||
+ | |SeparatorInIdentVals|'¶' |Gibt an, durch welche Zeichen die Werte in "PersonIdentificationValues" getrennt sind\\ |varchar(4)|5.5.0| | ||
+ | ==== Rückgabe ==== | ||
+ | |||
+ | === wenn IncludeBinaryCode = 0 === | ||
+ | |||
+ | ^Spaltenname ^Beschreibung ^SQL-Datentyp((siehe [[:webservice:engine_datatypes|Datentypen im Bereich "engine"]])) ^ab Version ^ | ||
+ | |SortNo|Nummer des Posting-Binärobjekts (falls angegeben, gleich "SortNo")\\ |tinyint|3.5.0 | | ||
+ | |ContentType|Das Format des "SortNo"ten Binärobjektes (z.B. "gif"). Hinweis : Die Engine kann nicht SICHERSTELLEN, daß der Wert (wird durch [[dstoreproc>fo_InsertBinaryForPosting_Pu]] vom gleichnamigen Parameter übernommen) wirklich den Typ des "Binaries" darstellt !\\ |varchar(100)|3.5.0 | | ||
+ | |Filename|Dateiname des "SortNo"ten Binärobjektes\\ |varchar(100)|3.5.0 | | ||
+ | |Description|Beschreibung zum "SortNo"ten Binärobjekt\\ |varchar(255)|3.5.0 | | ||
+ | |FilesizeInKB|Größe des "SortNo"ten Binärobjektes in KiloBytes\\ |integer|3.5.0 | | ||
+ | |PostingBinaryIdentifier|Wert, der das "SortNo"te "Binary" zum Beitrag EINDEUTIG referenziert, und damit quasi eine Alternative zur "SortNo" (siehe z.B. [[dstoreproc>fo_DeletePostingBinary_Pu]])\\ |varchar(100)|5.1.6 | | ||
+ | |LastModifiedAtDateAndTime|Ist "NULL" für ALLE "PostingBinaries", die VOR dem Update auf 5.1.6 eingefügt wurden ! Ansonsten steht hier der Zeitpunkt, wann der "BinaryCode" eingefügt bzw. geändert wurde. Anmerkung : Derzeit immer die Angabe, wann der "BinaryCode" eingefügt wurde !\\ |datetime|5.1.6 | | ||
+ | |LastModifiedAtDateAndTime_char|"LastModifiedAtDateAndTime" als String im Format "15.04.2000 12:33:28:120"\\ |varchar(23)|5.1.6 | | ||
+ | |||
+ | == Sortierung der Rückgabe == | ||
+ | |||
+ | (parameterunabängige Sortierung) | ||
+ | * SortNo (aufsteigend) | ||
+ | |||
+ | === wenn IncludeBinaryCode = 1 === | ||
+ | |||
+ | ^Spaltenname ^Beschreibung ^SQL-Datentyp((siehe [[:webservice:engine_datatypes|Datentypen im Bereich "engine"]])) ^ab Version ^ | ||
+ | |//Binarycode((Spalte wird nicht zurückgegeben und ist hier nur aus Dokumentationsgründen aufgeführt.))//|Ab Version 6.5.1 entfallen\\ |longvarbinary|3.5.0 | | ||
+ | |SortNo|Nummer des Posting-Binärobjekts (falls angegeben, gleich "SortNo")\\ |tinyint|3.5.0 | | ||
+ | |ContentType|Das Format des "SortNo"ten Binärobjektes (z.B. "gif"). Hinweis : Die Engine kann nicht SICHERSTELLEN, daß der Wert (wird durch [[dstoreproc>fo_InsertBinaryForPosting_Pu]] vom gleichnamigen Parameter übernommen) wirklich den Typ des "Binaries" darstellt !\\ |varchar(100)|3.5.0 | | ||
+ | |Filename|Dateiname des "SortNo"ten Binärobjektes\\ |varchar(100)|3.5.0 | | ||
+ | |Description|Beschreibung zum "SortNo"ten Binärobjekt\\ |varchar(255)|3.5.0 | | ||
+ | |FilesizeInKB|Größe des "SortNo"ten Binärobjektes in KiloBytes\\ |integer|3.5.0 | | ||
+ | |PostingBinaryIdentifier|Wert, der das "SortNo"te "Binary" zum Beitrag EINDEUTIG referenziert, und damit quasi eine Alternative zur "SortNo" (siehe z.B. [[dstoreproc>fo_DeletePostingBinary_Pu]])\\ |varchar(100)|5.1.6 | | ||
+ | |LastModifiedAtDateAndTime|Ist "NULL" für ALLE "PostingBinaries", die VOR dem Update auf 5.1.6 eingefügt wurden ! Ansonsten steht hier der Zeitpunkt, wann der "BinaryCode" eingefügt bzw. geändert wurde. Anmerkung : Derzeit immer die Angabe, wann der "BinaryCode" eingefügt wurde !\\ |datetime|5.1.6 | | ||
+ | |LastModifiedAtDateAndTime_char|"LastModifiedAtDateAndTime" als String im Format "15.04.2000 12:33:28:120"\\ |varchar(23)|5.1.6 | | ||
+ | |BinaryCode|Der zum "SortNo"ten Binärobjekt zugehörige Code, also quasi das Binärobjekt selbst\\ |longvarbinary|5.0.4 | | ||
+ | |||
+ | == Sortierung der Rückgabe == | ||
+ | |||
+ | (parameterunabängige Sortierung) | ||
+ | * SortNo (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")) ^ | ||
+ | |-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.3 |2013-03-18|Anpassungen an aktuellen Code-Standard, u.a. wg. UTF8-Unterstützung\\ | | ||
+ | |6.5.1 |2012-11-02|Rückgabespalte "Binarycode" ist weggefallen [schon in 2005 wurde stattdessen die Rückgabespalte "BinaryCode"\\ eingeführt]\\ | | ||
+ | |6.5.0 |2012-09-17|Holger Wies : Wird in "UniqueID" die "DefaultUniqueID" angegeben, wird nun [ohne Aufruf von\\ [[dstoreproc>pm_CheckPersonIdentity_Pu]]] der Aufrufer als "anonyme Person" ["PersonID = 0"] identifiziert\\ | | ||
+ | |5.5.0 |2008-01-07|1. Neuer Parameter "SeparatorInIdentVals"\\ 2. Ausgabe an die Standard-Ausgabe [via "print"] im Fehler-Fall "-500", die nähere Informationen über die Ursache enthält\\ 3. Bearbeitung des Quellcodes hinsichtlich neuer Konventionen\\ | | ||
+ | |5.1.6 |2006-09-14|1. Fehlender Hinweis in der Doku auf die Sortierung\\ 2. Neuer Parameter "PostingBinaryIdentifier"\\ 3. Neue Rückgabespalten "PostingBinaryIdentifier", "LastModifiedAtDateAndTime" und "LastModifiedAtDateAndTime_char"\\ | | ||
+ | |5.0.4 |2005-09-26|Neue Spalte "BinaryCode", die langfristig "Binarycode" ersetzen wird\\ | | ||
+ | |3.5.21 |2002-08-06|\\ | | ||
+ | |3.5.1 |2000-12-20|\\ | | ||
+ | |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_GetPostingBinaries_Pu|fo_GetPostingBinaries_Pu im Engine Playground öffnen]] | ||
+ | == cURL == | ||
+ | Unformatierte Ausgabe: | ||
+ | <code bash> | ||
+ | curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/fo_GetPostingBinaries_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_GetPostingBinaries_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_GetPostingBinaries_Pu', | ||
+ | array( | ||
+ | 'PersonIdentificationValues' => '<value>', | ||
+ | 'PersonTypeID' => <value>, | ||
+ | 'UniqueID' => '<value>', | ||
+ | 'PostingID' => <value>, | ||
+ | // 'SortNo' => NULL, | ||
+ | // 'IncludeBinaryCode' => 0, | ||
+ | // 'PostingBinaryIdentifier' => NULL, | ||
+ | // '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_GetPostingBinaries_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="SortNo">NULL</Parameter> --> | ||
+ | <!-- <Parameter Name="IncludeBinaryCode">0</Parameter> --> | ||
+ | <!-- <Parameter Name="PostingBinaryIdentifier">NULL</Parameter> --> | ||
+ | <!-- <Parameter Name="SeparatorInIdentVals">'¶'</Parameter> --> | ||
+ | </Parameters> | ||
+ | </Procedure> | ||
+ | </Batch> | ||
+ | </ListOfBatches></code> | ||