App-BACKEND-Service "objList":
Wie können Objekte-Listen vom Server abgerufen werden?
<2013-11-14>
In verschiedensten Situationen werden in der WIM-App Listen von Objekten benötigt, für deren Zusammenstellung viele Objekte in Frage kommen. Die Auswahl übernimmt der Server auf Basis der von der WIM-App angegebenen Parameter, damit die Menge der zu übertragenden Daten in Grenzen bleibt.

Warum werden Objekte-Listen beim Server abgefragt?

In manchen Situationen muss aus der Gesamtmenge aller Objekte oder zumindest aus einer größeren Anzahl eine Auswahl getroffen werden. Dann wäre es unzweckmäßig, die Auswahl der auf dem Server gespeicherten Objekte in der WIM-App zu machen, da dazu zunächst alle relevanten Daten aller in Frage kommenden Objekte zur WIM-App übertragen werden müssten.

Daher wird von der WIM-App an den (Frontend-)Server ein parameterisierter Auftrag gesendet, in dem die vorzunehmende Auswahl beschrieben wird. Im folgenden finden sich weitere Angaben zu den angebbaren Parametern.

Welche Parameter zur Steuerung der Objekte-Auswahl sind vorgesehen?

Zunächst ein Beispiel eines "objList"-Auftrags zum Liefern einer Liste der bis zu 10 neuesten Beiträge aus dem Jahr 2012, die im Teaser-Text die Buchstabenfolge "Suchtext" enthalten:

<objList Limit="10" Offset="0" Values="PUBLISHED">
<Spec>
<select Param="PUBLISHED" min="20120101_" max="20121231_235959"/>
<select Param="teaserText" contains="Suchtext"/>
<sort by="+PUBLISHED -CREATED"/>
</Spec>

... (weitere (Standard-) Parameter

</objList>

Zur Bedeutung und Aufgabe der Parameter:

  • Limit:

    Hier kann angegeben werden, dass die Länge der Ergebnisliste begrenzt werden soll.

  • Offset:

    Hier kann angegeben werden, wie viele Einträge der originalen Ergebnisliste übersprungen werden sollen, bevor die dann folgenden Einträge in die zu übermittelnden Ergebnisliste übernommen werden.

    Zu beachten ist dabei, dass bei "häppchenweiser" Abfrage eine längeren Liste Einträge doppelt erscheinen oder ausgelassen werden können, weil sich zwischen den Abfragen die Liste geändert hat.

  • Spec:

    Hier wird angegeben, welche Parameterwerte für die Auswahl und das Sortieren verwendet werden sollen. Dazu wird eine wimList mit wimRecords angegeben.
    ACHTUNG: Vorläufig(?) wird ein wimRecord statt einer wimList verwendet!

    Folgende Records sind vorgesehen:

    • Recordtyp select:
      Angabe eines Auswahlkriteriums, das zusammen mit eventuellen weiteren angegebenen Auswahlkriterien erfüllt sein muss. Folgende Parameter sind dabei anzugeben:
      • Param: Name des Parameters, dessen Wert abgefragt werden soll.
      • min: Minimalwert für den Parameterwert.
      • max: Maximalwert für den Parameterwert.
      • contains: Zeichenkette, die im Parameterwert enthalten sein muss.
      • ...: Diverse weitere Operatoren /Funktionen. (Sie werden bei Bedarf implementiert ;-)
    • Recordtyp sort mit dem (einzigen) Parameter by:
      Optionale Angabe des oder der Sortierkriterien. Hier sind die Parameternamen anzugeben, nach denen sortiert werden soll. Vor den Parameternamen sollte entweder ein "+" -Zeichen oder ein "-" -Zeichen stehen, das bestimmt, ob in auf- oder absteigender Reihenfolge sortiert werden soll.
  • Values:

    Neben der Liste der ermittelten Objekte können zu jeder Objektangabe auch ein bis mehrere Parameterwerte mitgeliefert werden. Da die Darstellung der einzelnen Parameterwerte kein Leerzeichen enthalten darf, werden Leerzeichen durch XML-Zeichen-Entities ersetzt: Als z.B. &#32; oder &#x20; . Durch die Lieferung von Name/Wert-Gruppen kann die Verarbeitungsgeschwindigkeit erhöht werden, weil oft eine zusätzliche Anfrage beim Server gespart wird.

    Im Values-Parameter werden die Namen der Parameter angegeben, deren Werte im Ergebnis mitgeliefert werden sollen. Ist kein Name angegeben, wird nur die Liste der Objektspezifkationen geliefert.

Wie sieht das Ergebnis der Abfrage aus?

Als Ergebnis wird eine leerzeichen-separierte Liste von Objekt-Spezifikationen geliefert, die gegebenen falls mit den angefragten Parameterwerten durchsetzt ist. Bei einem einzelnen Parameterwert entstehen dann also Name-Wert-Paare.

Können Einzelwerte von als wimRecord vorliegenden Parameterwerten adressiert werden?

Ja. Dazu muss dem Parameternamen ein Punkt (".") und der Name des gewünschten Parameters im wimRecord des Parameterwerte angegeben werden. Im Prinzip ist eine "beliebige" weitere Verschachtelungstiefe möglich.

Wie werden Parameterwerte vom Typ wimList behandelt?

Liegt als Parameterwert eine wimList vor, wird jedes einzelne Item der Liste geprüft. Mindestens eines der Items muss die Auswahlkriterien erfüllen.

tbd: Sortier-Verhalten ?

Ist eine kombinierte Auswahl möglich?

Im Prinzip ja. So sollte in der WIM-App die Möglichkeit vorhanden sein, dort lokal gespeicherte Daten mit einer entsprechenden Abfrage abzufragen.

Nur wenn Objektelisten vom Server abgefragt werden, muss der Frontend-Server die Objektelisten ermitteln. Sind die Objekte in der WIM-App als Überlagerung der Objekte des Servers deklariert, muss in der WIM-App die vom Server gelieferte Objekteliste mit der app-eigenen Objekteliste vereint werden.

Themen hierzuAssciated topics:

Objekte beim WIM-System

Das könnte Sie auch interessierenFurther readings:
Daten-Layer und -Aktualisierung
<2013-01-06>
Im WIM-System spielen "Vorlagen" eine bedeutende Rolle. Oftmals wird beim Zugriff auf einen Objekt-Parameter der Wert von einem Vorlage-Objekt geholt.   Mehr »
Internet-Links für openWIM-Entwickler
<2020-03-10>
In den Weiten des Internets gibt es etliche hilfreiche Internetpräsenzen und Dokumente, die für die Entwickler des openWIM-Systems hilfreich sein können. Hier sind einige aufgelistet:   Mehr »
Grundlegendes zum Message-Handling
Von: @VoBee <2020-03-28>
Das openWIM-System besteht aus mehreren "Instanzen", die zusammenwirken und ihre Informationen (meist über ein Netzwerk) austauschen müssen. Die Grundlagen dazu sollen hier dargestellt werden.   Mehr »
Allgemeine Objektparameter
Von: @VB <2015-03-20>
Objekte sind Kern des WIM-Systems. Und "Parameter" (also "Datenwerte") sind essentielle Bestandteile der WIM-Objekte. In dieser Info werden Standard-Parameter kurz vorgestellt.   Mehr »
Parameter von Projekt-Objekten im WIM-System
<2015-03-28>
Ergänzend zu allgemein verwen­deten Info-Objekten besitzen Projekt-Objekte des WIM-Systems weitere Para­meter. Die Para­meter werden hier aufge­führt.   Mehr »
Steuerung der Darstellung von Objekten
<2019-02-03>
Das openWIM-System bietet die Möglichkeit, die Darstellung von Themen, Dokumenten, usw. in weiten Teilen zu gestalten, ohne dass dazu Änderungen im Programmcode oder an (HTML-)Vorlagen nötig sind.   Mehr »
Welche Aspekte sind bei mehrsprachlichen Informationsangeboten besonders relevant?
Von: @VB <2016-10-03>
Bei der Nutzung und dem Betrieb mehrsprachlicher Informationssysteme und Internetpräsenzen sind einige Anforderungen zu beachten. In diesem Dokument werden sie aus der Anwender- und Betreiber-Perspektive diskutiert.   Mehr »
Datentypen von WIM-Datensätzen (wimRecord)
<2014-03-15>
WIM-Records mit gleicher Datenstruktur sollten immer vom gleichen "Datentyp" sein. Die wichtigsten Datentypen sollen hier gelistet werden.   Mehr »
ModuleSpec -Datensätze im WIM-System
<2014-05-25>
Der Datentyp "ModuleSpec" dient zur Definition von Modulen. Die entsprechenden Datensätze können verschiedenste Parameter enthalten, die hier beschrieben werden.   Mehr »
Ausnahme-Situationen:
Wie kann man mit "Unerwartetem" umgehen?
<2019-04-14>
Wie sollte in konkret unvorhergesehene Ereignisse und Situationen agiert werden? Wie sollten try und catch etc. sowie Problem-Einträge in Logfiles und Nutzer-Benachrichtigungen eingesetzt werden?   Mehr »
"Strukturierte" String-Daten in Parameterwerten beim WIM-System
<2013-05-19>
Manche String-Daten im WIM-System werden auf spezielle Weise interpretiert. Sie stellen oft eine kompakte Form von Datensätzen dar, von denen nur die Parameterwerte speziell angeordnet abgelegt werden.   Mehr »
Die Bildrechte werden in der Online-Version angegeben.For copyright notice look at the online version.

Bildrechte zu den in diese Datei eingebundenen Bild-Dateien:

Hinweise:
1. Die Bilder sind in der Reihenfolge ihres ersten Auftretens (im Quelltext dieser Seite) angeordnet.
2. Beim Anklicken eines der nachfolgenden Bezeichnungen, wird das zugehörige Bild angezeigt.
3, Die Bildrechte-Liste wird normalerweise nicht mitgedruckt,
4. Bildname und Rechteinhaber sind jeweils im Dateinamen des Bildes enthalten.