Objekte

In vSQL stehen einige Objekte mit Attributen zu Verfügungen, die in Ausdrücken verwendet werden können.

Im folgenden werden diese Objekte beschrieben.

Benutzer

Benutzer-Objekte sind z.B. Informationen über den eingeloggten Benutzer oder über den Benutzer, der eine App oder einen Datensatz angelegt oder geändert hat. Benutzer-Objekte besitzen folgende Attribute:

idSTR

Die eindeutige Datenbank-Identifizierer des Benutzers;

emailSTR

Die Email-Adresse des Benutzers (gleichzeitig auch der Accountname);

firstnameSTR

Der Vorname des Benutzers;

surnameSTR

Der Nachname des Benutzers;

initialsSTR

Die Initialen des Benutzers;

imageDatei

Das Benutzer-Portrait. (Hat der Benutzer kein Portrait, so sind alle Attribute des image-Objekts None.)

Datei

Datei-Objekte beschreiben hochgeladene Dateien, also z.B. das Portrait eines Benutzers, das Icon einer App oder den Inhalt eines Datei-Upload-Feldes. Datei-Objekte besitzen folgende Attribute:

internal_idSTR

Der interne Datenbank-Identifizierer der Datei.

filenameSTR

Der ursprüngliche Dateiname der Datei.

mimetypeSTR

Der MIME-Typ der Datei (also z.B. image/jpeg für JPEG-Bilder oder application/pdf für PDF-Dateien).

sizeINT

Die Größe der Datei in Bytes.

widthINT

Falls es sich bei der Datei um ein Bild handelt, ist width die Breite des Bildes in Pixeln (ansonsten None).

heightINT

Die Höhe des Bildes in Pixeln (oder None falls es sich nicht um ein Bild handelt).

durationINT

Wenn es sich bei der Datei um ein Video handelt, ist duration die Dauer des Videos in Millisekunden (und None für andere Datei-Typen).

recordedatDATETIME

Der Zeitpunkt, zu dem diese Datei erzeugt wurde (wird aus den EXIF-Daten gelesen, falls vorhanden).

createdatDATETIME

Der Zeitpunkt, zu dem diese Datei hochgeladen wurde.

App

App-Objekte enthalten Informationen über die App. Dies kann einerseits die App sein, innerhalb der sich der Benutzer befindet, andererseits auch die App, zu der ein Datensatz gehört. Dies kann evtl. eine andere App sein, da sich z.B. in den Anzeige-, Formular-, Update- oder E-Mail-Templates über Datenquellen konfigurieren läßt, daß dem Template auch Datensätze aus anderen Apps zur Verfügung stehen. Außerdem sind über verknüpfte Apps andere Apps als die Ausgangs-App zugänglich. App-Objekte besitzen folgende Attribute:

idSTR

Die eindeutige Datenbank-Identifizierer der App. (uuid ist ein anderer Name für dieses Attribut.)

nameSTR

Der Name der App.

descriptionSTR

Die Beschreibung der App.

imageDatei

Das Icon der App. (Hat die App kein Icon, so sind alle Attribute des image-Objekts None.)

createdatDATETIME

Der Zeitpunkt, zu dem die App erstellt wurde.

createdbyBenutzer

Der Benutzer, der die App erstellt hat.

updatedatDATETIME

Der Zeitpunkt, zu dem die App das letzte Mal geändert wurde. (Wurde die App noch nicht geändert, so ist updatedat None.)

updatedbyBenutzer

Der Benutzer, der die App zuletzt geändert hat. (Wurde die App noch nicht geändert, so sind alle Attribute des updatedby-Benutzers None.)

installationInstallation

Wenn die Applikation durch einen Installationsvorgang erzeugt wurde, ist installation ein Installations-Objekt. Ansonsten sind alle Attribute des installation-Objekts None.

appgroupApp-Gruppe

Die App-Gruppe, zu der die App gehört. (Gehört die App zu keiner App-Gruppe, so sind alle Attribute des appgroup-Objekts None.)

p_<identifier>App-Parameter

Alle vom Benutzer angelegten App-Parameter stehen über Shortcut-Attribute zur Verfügung. D.h., dass beispielsweise der Parameter beispiel unter app.p_beispiel.value zur Verfügung steht.

Installation

Installations-Objekte beschreiben den Installationsvorgang, bei dem eine App installiert wurde. Sie besitzen folgende Attribute:

idSTR

Der interne Datenbank-Identifizierer der Installation.

nameSTR

Der Name der Installation.

App-Gruppe

App-Gruppen-Objekte beschreiben eine Gruppe von zusammengehörigen Apps. Sie besitzen folgende Attribute:

idSTR

Der eindeutige Datenbank-Identifizierer der App-Gruppe.

nameSTR

Der Name der App-Gruppe.

descriptionSTR

Die Beschreibung der App-Gruppe.

imageDatei

Das Icon der App-Gruppe. (Hat die App-Gruppe kein Icon, so sind alle Attribute des image-Objekts None.)

createdatDATETIME

Der Zeitpunkt, zu dem die App-Gruppe erstellt wurde.

createdbyBenutzer

Der Benutzer, der die App-Gruppe erstellt hat.

updatedatDATETIME

Der Zeitpunkt, zu dem die App-Gruppe das letzte Mal geändert wurde. (Wurde die App-Gruppe noch nicht geändert, so ist updatedat None.)

updatedbyBenutzer

Der Benutzer, der die App-Gruppe zuletzt geändert hat. (Wurde die App-Gruppe noch nicht geändert, so sind alle Attribute des updatedby-Benutzers None.)

App-Parameter

Hier können sie auf die Parameter der Applikation, die unter Konfiguration ‣ Erweitert in der Parameter-Maske angelegt wurden, zugreifen. Dies funktioniert nicht bei zu filternden Apps in der Datenquelle. App-Parameter-Objekte besitzen folgende Attribute:

idSTR

Der eindeutige Datenbank-Identifizierer des Parameters.

identifierSTR

Die eindeutige Bezeichnung des Parameters.

descriptionSTR

Die Beschreibung des Parameters.

valueObjekt

Der Wert des Parameters. Dabei hängt der Typ des Wertes vom Typ des Parameters ab:

Parameter-Typ

vSQL-Typ von value

bool

BOOL

int

INT

number

NUMBER

string

STR

html

STR

json

STR

code

STR

color

COLOR

date

DATE

datetime

DATETIME

datedelta

DATEDELTA

datetimedelta

DATETIMEDELTA

monthdelta

MONTHDELTA

upload

Datei

app

App

control

Feld

Bei Parametern vom Typ upload, app und control ist value also ein Objekt, dessen Attribute wiederum in Ausdrücken verwendet werden können, also z.B. app.p_logo.value.filename, app.p_zielapp.value.name oder app.p_feld.value.type. Bei app-Parametern stehen auch die Parameter der referenzierten App zur Verfügung (z.B. app.p_zielapp.value.p_beispiel.value).

createdatDATETIME

Der Zeitpunkt, zu dem der Parameter erstellt wurde.

createdbyBenutzer

Der Benutzer, der den Parameter erstellt hat.

updatedatDATETIME

Der Zeitpunkt, zu dem der Parameter das letzte Mal geändert wurde. (Wurde der Parameter noch nicht geändert, so ist updatedat None.)

updatedbyBenutzer

Der Benutzer, der den Parameter zuletzt geändert hat. (Wurde der Parameter noch nicht geändert, so sind alle Attribute des updatedby-Benutzers None.)

Feld

Feld-Objekte enthalten die Metadaten eines Feldes einer App (in der LivingAPI entspricht dies dem Control-Objekt). In vSQL sind Feld-Objekte über App-Parameter vom Typ control zugänglich. Sie besitzen folgende Attribute:

idSTR

Der eindeutige Datenbank-Identifizierer des Feldes.

identifierSTR

Der menschenlesbare Identifizierer des Feldes.

typeSTR

Der Typ des Feldes (also z.B. "string", "int", "lookup" oder "applookup").

subtypeSTR

Der Feld-Untertyp (also z.B. "text" oder "select") oder None, wenn der Feld-Typ keinen Untertyp hat.

fulltypeSTR

Feld-Typ und Feld-Untertyp (falls vorhanden) getrennt mit /, also z.B. "number" oder "lookup/select".

fieldnameSTR

Der Name der Datenbank-Spalte, in der die Werte des Feldes gespeichert werden.

labelSTR

Die Feld-Beschriftung.

descriptionSTR

Die Beschreibung des Feldes.

in_listBOOL

Gibt an, ob das Feld in der Listenansicht angezeigt werden soll.

orderINT

Die Position des Feldes in der Reihenfolge der Felder der App.

requiredBOOL

Gibt an, ob das Feld ein Pflichtfeld ist.

in_mobile_listBOOL

Gibt an, ob das Feld in der Listenansicht auf Handys angezeigt werden soll.

in_textBOOL

Gibt an, ob das Feld in einer Text-Ansicht des Datensatzes angezeigt werden soll.

appApp

Die App, zu der dieses Feld gehört.

createdatDATETIME

Der Zeitpunkt, zu dem das Feld erstellt wurde.

createdbyBenutzer

Der Benutzer, der das Feld erstellt hat.

updatedatDATETIME

Der Zeitpunkt, zu dem das Feld das letzte Mal geändert wurde. (Wurde das Feld noch nicht geändert, so ist updatedat None.)

updatedbyBenutzer

Der Benutzer, der das Feld zuletzt geändert hat. (Wurde das Feld noch nicht geändert, so sind alle Attribute des updatedby-Benutzers None.)

Datensätze

Datensatz-Objekte haben folgende Attribute:

idSTR

Die eindeutige Datenbank-Identifizierer des Datensatzes.

createdatDATETIME

Der Zeitpunkt, zu dem der Datensatz erzeugt wurde.

createdbyBenutzer

Der Benutzer, der den Datensatz erstellt hat.

updatedatDATETIME

Der Zeitpunkt, zu dem der Datensatz das letzte Mal geändert wurde. (Wurde der Datensatz noch nicht geändert, so ist updatedat None.)

updatedbyBenutzer

Der Benutzer, der den Datensatz zuletzt geändert hat. (Wurde der Datensatz noch nicht geändert, so sind alle Attribute des updatedby-Benutzers None.)

appApp

Die App, zu der dieser Datensatz gehört.

v_<identifier>Objekt

Alle vom Benutzer angelegten Felder sind über mit Präfixen versehene Attribute verfügbar. D.h. wenn r das Datensatz-Objekt ist, ist beispielsweise das Feld mit den Identifier titel als r.v_titel verfügbar. Der Typ des Wertes hängt vom Typ des Feldes ab (siehe Datentypen, Attribute und Methoden). Bei drei Feld-Typen ist der Wert selbst wieder ein Objekt, dessen Attribute in Ausdrücken verwendet werden können:

  • Bei Geo-Feldern ist der Wert eine Geo-Koordinate mit den Attributen lat, long und info, d.h. r.v_ort.lat ist der Breitengrad.

  • Bei Datei-Upload-Feldern ist der Wert ein Datei, d.h. r.v_anhang.mimetype ist der MIME-Typ der hochgeladenen Datei.

  • Bei Applookup-Feldern ist der Wert der verknüpfte Datensatz der Ziel-App, d.h. r.v_firma.v_name ist das Feld name des verknüpften Datensatzes. Solche Verweise können beliebig tief verkettet werden (z.B. r.v_firma.v_ansprechpartner.v_email oder r.v_firma.createdby.email).