Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:fo_getmainpostsortcriteria_ad

fo_GetMainPostSortCriteria_Ad

Gibt definierte Sortier-Kriterien für Hauptbeiträge von Foren aus.

Hintergrund :
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 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-MethodGET
HTTP-AuthOptional
Aliasfo_GetMainPostingSortingCriteria_Ad
Tags
Engine-Kategorieforums
Engine-TypDaten-Ermittlung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
ForumID ID eines Forums, für das definierte Sortier-Kriterien ermittelt werden sollen
smallint5.0.4
SortingCriteriaNoNULL (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.
tinyint5.0.4

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
SortingCriteriaNoNummer eines Sortier-Kriteriums für das Forum „ForumID“ (eindeutig innerhalb „ForumID“)
tinyint5.0.4
IsActiveMö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)
tinyint5.0.4
SortingCriteria_1stEntweder
- 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.
smallint5.0.4
SortingOptions_1stEinstellungen/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 !
smallint5.0.4
SortingCriteria_2ndEntweder
- 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.
smallint5.0.4
SortingOptions_2ndEinstellungen/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 !
smallint5.0.4
SortingCriteria_3rdEntweder
- 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.
smallint5.0.4
SortingOptions_3rdEinstellungen/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 !
smallint5.0.4
LastEditedAtDateAndTimeZeitpunkt, an dem die Definition des Sortier-Kriteriums zuletzt geändert wurde
datetime5.0.4
LastActivatedAtDateAndTimeZeitpunkt, an dem das Sortier-Kriteriums zuletzt aktiviert wurde (d.h. wann „IsActive“ zuletzt auf „1“ gesetzt wurde)
datetime5.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 5)
-569Der Benutzer hat kein Ausführungsrecht für die Prozedurnur indirekt
-567Die Prozedur darf z. Zt. nicht ausgeführt werdennur indirekt
-566Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werdennur indirekt
-535Das Datum liegt nicht in der Vergangenheitnur indirekt
-530Der Wert ist nicht konvertierbarnur indirekt
-510Der Benutzer ist nicht registriertnur indirekt
-504Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochennur indirekt
-500Falsche Parameternur indirekt

XML-Schema

Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.

Historie

7.0.7 2015-01-29Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf]
5.0.4 2005-09-26Erstmalig 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:

cURL

Unformatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/fo_GetMainPostSortCriteria_Ad?ForumID=<value>'

Mit xmllint 6) formatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/fo_GetMainPostSortCriteria_Ad?ForumID=<value>' | xmllint --format -
dStore_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();
engine/execute

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="fo_GetMainPostSortCriteria_Ad">
			<Parameters>
				<Parameter Name="ForumID"><!-- smallint value --></Parameter>
				<!-- <Parameter Name="SortingCriteriaNo">NULL</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
5)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
6)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/fo_getmainpostsortcriteria_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)