Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:fo_getmainpostsortcriteria_ad

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

engine:procedures:fo_getmainpostsortcriteria_ad [11.01.2016 ] (aktuell)
Zeile 1: Zeile 1:
 +===== fo_GetMainPostSortCriteria_Ad =====
 +
 +Gibt definierte Sortier-Kriterien für Hauptbeiträge von Foren aus.\\ ​
 +
 +Hintergrund :\\ [[dstoreproc>​fo_GetMainPostings_Pu]] liefert Hauptbeiträge eines Forums zurück. Dabei kann man angeben, nach welcher Sortierung die Ergebnismenge gebildet werden soll.\\ ​
 +
 +Die Konfiguration eines Sortier-Kriteriums kann mit [[dstoreproc>​fo_ModifyMainPostSortCrit_Ad]] vorgenommen werden.\\ ​
 +
 +
 +
 +Grundsätzliches zu Sortier-Kriterien :\\ 
 +
 +1. Ist für ein Forum mindestens ein Sortier-Kriterium definiert und aktiv, wird bei jeglicher Änderung im Forum, die Hauptbeiträge betreffen (u.U. auch Antworten, je nach Konfigurierung der Optionen des Kriteriums),​ die Sortierung aktualisiert.\\ 2. Ein Sortier-Kriterium kann aus maximal 3 Einzel-Kriterien bestehen. Zwei Hauptbeiträge werden anhand des ersten Kriteriums verglichen, und nur falls der Vergleich "​unentschieden"​ ausfällt, wird das evtl. vorhandene zweite Kriterium herangezogen. Nur wenn auch der zweite Vergleich nicht eindeutig ist, wird (sofern konfiguriert) das dritte Kriterium beachtet.\\ 3. Wenn der Vergleich zweier Hauptbeiträge nicht eindeutig (trotz Anwendung aller Einzel-Kriterien) ist, wird willkürlich einer der beiden Beiträge "​höher priorisiert"​ - es gibt keine eindeutige Regel hierfür, die Entscheidung ist mehr oder weniger "​zufällig"​.\\ 4. Zur Zeit gibt es zwei Arten von Einzel-Kriterien : Entweder die Eigenschaft zu einem Merkmal oder das Anlagedatum ("​PostDate"​). Einzelheiten zum Vergleich (z.B. auf- oder absteigende Sortierung) sind durch die jeweiligen Options-Spalten ("​SortingOptions_..."​) geregelt. Es handelt sich jeweils um die "​Summe"​ von folgenden einzelnen Optionen :
 +  *   "​1"​ : AUFsteigende Sortierung nach der Eigenschaft bzw. dem "​PostDate"​
 +  *   "​2"​ : ABsteigende Sortierung nach der Eigenschaft bzw. dem "​PostDate"​
 +  *   "​4"​ : "​NULL"​-Werte haben NIEDRIGSTE Priorität
 +  *   "​8"​ : "​NULL"​-Werte haben HÖCHSTE Priorität
 +(Die Optionen "​1"​ und "​2"​ sowie "​4"​ und "​8"​ schließen sich natürlich aus, es muß aber ENTWEDER "​1"​ ODER "​2"​ bzw. "​4"​ ODER "​8"​ als Option gewählt sein !)
 +  *  "​16"​ : Es sollen bei der Ermittlung des für die Sortierung relevanten Wertes alle Beiträge des gesamten "​Threads"​ berücksichtigt werden
 +(Die folgenden Optionen regeln, ob bei der Ermittlung des für die Sortierung relevanten Wertes nur Beiträge beachtet werden sollen, die in einem bestimmten "​Visible"​-Status sind. Ist keine dieser Optionen angegeben, bedeutet dies, daß keine Filterung hinsichtlich des "​Visible"​-Status stattfindet !)
 +  *  "​32"​ : Ist der "​Visible"​-Status gleich "​4",​ wird der Beitrag beachtet
 +  *  "​64"​ : Ist der "​Visible"​-Status gleich "​8",​ wird der Beitrag beachtet
 +  * "​128"​ : Ist der "​Visible"​-Status gleich "​0",​ wird der Beitrag beachtet
 +  * "​256"​ : Ist der "​Visible"​-Status gleich "​1",​ wird der Beitrag beachtet
 +5. Es werden garantiert alle Hauptbeiträge des Forums bei einer Sortierung berücksichtigt. D.h. auch wenn z.B. durch die Optionen "​32"​ bis "​256"​ ein Hauptbeitrag quasi durch seinen "​Visible"​-Status herausfällt,​ bedeutet dies ja lediglich, daß der Wert zum Kriterium "​NULL"​ ist, und dies wird durch Option "​4"​ oder "​8"​ geregelt !\\ 
 +|HTTP-Method|GET |
 +|HTTP-Auth|Optional |
 +|Alias|fo_GetMainPostingSortingCriteria_Ad |
 +|Tags|{{tag>​[fo Get Main Posting Sorting Criteria Ad]}}|
 +|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 ^
 +|__ForumID__| |ID eines Forums, für das definierte Sortier-Kriterien ermittelt werden sollen\\ |smallint|5.0.4|
 +|SortingCriteriaNo|NULL |(Eindeutige) Nummer eines Sortier-Kriteriums für das Forum "​ForumID",​ dessen Definition man sich ausgeben lassen möchte. Ist "​NULL"​ angegeben, werden alle Sortier-Kriterien ermittelt.\\ |tinyint|5.0.4|
 +==== Rückgabe ====
 +
 +=== (parameterunabhängig) ===
 +
 +^Spaltenname ​ ^Beschreibung ^SQL-Datentyp((siehe [[:​webservice:​engine_datatypes|Datentypen im Bereich "​engine"​]])) ^ab Version ^
 +|SortingCriteriaNo|Nummer eines Sortier-Kriteriums für das Forum "​ForumID"​ (eindeutig innerhalb "​ForumID"​)\\ |tinyint|5.0.4 |
 +|IsActive|Mögliche Werte :\\ - "​0"​ : Sortierung ist inaktiv (ist also nicht verwendbar)\\ - "​1"​ : Sortierung ist aktiv (ist also verwendbar)\\ - "​2"​ : Sortierung wird initialisiert (ist also nicht verwendbar)\\ |tinyint|5.0.4 |
 +|SortingCriteria_1st|Entweder\\ - eine "​PostingCharacteristicID",​\\ oder\\ - der Wert "​-1"​ (steht für das "​PostDate"​)\\ Die "​allgemeine"​ Eigenschaft (zur "​PersonID = 0") zum Merkmal bzw. das "​PostDate"​ wird zum Vergleich zweier Hauptbeiträge herangezogen.\\ |smallint|5.0.4 |
 +|SortingOptions_1st|Einstellungen/​Optionen zum Sortier-Kriterium "​SortingCriteria_1st",​ u.a. ob die Sortierung auf- oder absteigend ist. Details : s. Beschreibung "​Grundsätzliches zu Sortier-Kriterien",​ Punkt 4 !\\ |smallint|5.0.4 |
 +|SortingCriteria_2nd|Entweder\\ - eine "​PostingCharacteristicID",​\\ oder\\ - der Wert "​-1"​ (steht für das "​PostDate"​)\\ Die "​allgemeine"​ Eigenschaft (zur "​PersonID = 0") zum Merkmal bzw. das "​PostDate"​ wird zum Vergleich zweier Hauptbeiträge herangezogen.\\ |smallint|5.0.4 |
 +|SortingOptions_2nd|Einstellungen/​Optionen zum Sortier-Kriterium "​SortingCriteria_2nd",​ u.a. ob die Sortierung auf- oder absteigend ist. Details : s. Beschreibung "​Grundsätzliches zu Sortier-Kriterien",​ Punkt 4 !\\ |smallint|5.0.4 |
 +|SortingCriteria_3rd|Entweder\\ - eine "​PostingCharacteristicID",​\\ oder\\ - der Wert "​-1"​ (steht für das "​PostDate"​)\\ Die "​allgemeine"​ Eigenschaft (zur "​PersonID = 0") zum Merkmal bzw. das "​PostDate"​ wird zum Vergleich zweier Hauptbeiträge herangezogen.\\ |smallint|5.0.4 |
 +|SortingOptions_3rd|Einstellungen/​Optionen zum Sortier-Kriterium "​SortingCriteria_3rd",​ u.a. ob die Sortierung auf- oder absteigend ist. Details : s. Beschreibung "​Grundsätzliches zu Sortier-Kriterien",​ Punkt 4 !\\ |smallint|5.0.4 |
 +|LastEditedAtDateAndTime|Zeitpunkt,​ an dem die Definition des Sortier-Kriteriums zuletzt geändert wurde\\ |datetime|5.0.4 |
 +|LastActivatedAtDateAndTime|Zeitpunkt,​ an dem das Sortier-Kriteriums zuletzt aktiviert wurde (d.h. wann "​IsActive"​ zuletzt auf "​1"​ gesetzt wurde)\\ |datetime|5.0.4 |
 +
 +== Sortierung der Rückgabe ==
 +
 +(parameterunabängige Sortierung)
 +  * SortingCriteriaNo (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"​)) ^
 +|-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|
 +|-500|Falsche Parameter|nur 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]\\ ​ |
 +|5.0.4 |2005-09-26|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_GetMainPostSortCriteria_Ad|fo_GetMainPostSortCriteria_Ad im Engine Playground öffnen]]
 +== cURL ==
 +Unformatierte Ausgabe:
 +<code bash>
 +curl -X GET  '​http://<​partner>​-<​project>​.dstore.de/​default/​engine/​fo_GetMainPostSortCriteria_Ad?​ForumID=<​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_GetMainPostSortCriteria_Ad?​ForumID=<​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_GetMainPostSortCriteria_Ad',​
 + array(
 + '​ForumID'​ => <​value>,​
 + // '​SortingCriteriaNo'​ => 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="​fo_GetMainPostSortCriteria_Ad">​
 + <​Parameters>​
 + <​Parameter Name="​ForumID"><​!-- smallint value --></​Parameter>​
 + <!-- <​Parameter Name="​SortingCriteriaNo">​NULL</​Parameter>​ -->
 + </​Parameters>​
 + </​Procedure>​
 + </​Batch>​
 +</​ListOfBatches></​code>​
  
engine/procedures/fo_getmainpostsortcriteria_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)