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:
idSTRDie eindeutige Datenbank-Identifizierer des Benutzers;
emailSTRDie Email-Adresse des Benutzers (gleichzeitig auch der Accountname);
firstnameSTRDer Vorname des Benutzers;
surnameSTRDer Nachname des Benutzers;
initialsSTRDie Initialen des Benutzers;
imageDateiDas Benutzer-Portrait. (Hat der Benutzer kein Portrait, so sind alle Attribute des
image-ObjektsNone.)
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_idSTRDer interne Datenbank-Identifizierer der Datei.
filenameSTRDer ursprüngliche Dateiname der Datei.
mimetypeSTRDer MIME-Typ der Datei (also z.B.
image/jpegfür JPEG-Bilder oderapplication/pdffür PDF-Dateien).sizeINTDie Größe der Datei in Bytes.
widthINTFalls es sich bei der Datei um ein Bild handelt, ist
widthdie Breite des Bildes in Pixeln (ansonstenNone).heightINTDie Höhe des Bildes in Pixeln (oder
Nonefalls es sich nicht um ein Bild handelt).durationINTWenn es sich bei der Datei um ein Video handelt, ist
durationdie Dauer des Videos in Millisekunden (undNonefür andere Datei-Typen).recordedatDATETIMEDer Zeitpunkt, zu dem diese Datei erzeugt wurde (wird aus den EXIF-Daten gelesen, falls vorhanden).
createdatDATETIMEDer 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:
idSTRDie eindeutige Datenbank-Identifizierer der App. (
uuidist ein anderer Name für dieses Attribut.)nameSTRDer Name der App.
descriptionSTRDie Beschreibung der App.
imageDateiDas Icon der App. (Hat die App kein Icon, so sind alle Attribute des
image-ObjektsNone.)createdatDATETIMEDer Zeitpunkt, zu dem die App erstellt wurde.
createdbyBenutzerDer Benutzer, der die App erstellt hat.
updatedatDATETIMEDer Zeitpunkt, zu dem die App das letzte Mal geändert wurde. (Wurde die App noch nicht geändert, so ist
updatedatNone.)updatedbyBenutzerDer Benutzer, der die App zuletzt geändert hat. (Wurde die App noch nicht geändert, so sind alle Attribute des
updatedby-BenutzersNone.)installationInstallationWenn die Applikation durch einen Installationsvorgang erzeugt wurde, ist
installationein Installations-Objekt. Ansonsten sind alle Attribute desinstallation-ObjektsNone.appgroupApp-GruppeDie App-Gruppe, zu der die App gehört. (Gehört die App zu keiner App-Gruppe, so sind alle Attribute des
appgroup-ObjektsNone.)p_<identifier>App-ParameterAlle vom Benutzer angelegten App-Parameter stehen über Shortcut-Attribute zur Verfügung. D.h., dass beispielsweise der Parameter
beispielunterapp.p_beispiel.valuezur Verfügung steht.
Installation
Installations-Objekte beschreiben den Installationsvorgang, bei dem eine App installiert wurde. Sie besitzen folgende Attribute:
App-Gruppe
App-Gruppen-Objekte beschreiben eine Gruppe von zusammengehörigen Apps. Sie besitzen folgende Attribute:
idSTRDer eindeutige Datenbank-Identifizierer der App-Gruppe.
nameSTRDer Name der App-Gruppe.
descriptionSTRDie Beschreibung der App-Gruppe.
imageDateiDas Icon der App-Gruppe. (Hat die App-Gruppe kein Icon, so sind alle Attribute des
image-ObjektsNone.)createdatDATETIMEDer Zeitpunkt, zu dem die App-Gruppe erstellt wurde.
createdbyBenutzerDer Benutzer, der die App-Gruppe erstellt hat.
updatedatDATETIMEDer Zeitpunkt, zu dem die App-Gruppe das letzte Mal geändert wurde. (Wurde die App-Gruppe noch nicht geändert, so ist
updatedatNone.)updatedbyBenutzerDer Benutzer, der die App-Gruppe zuletzt geändert hat. (Wurde die App-Gruppe noch nicht geändert, so sind alle Attribute des
updatedby-BenutzersNone.)
App-Parameter
Hier können sie auf die Parameter der Applikation, die unter in der Parameter-Maske angelegt wurden, zugreifen. Dies funktioniert nicht bei zu filternden Apps in der Datenquelle. App-Parameter-Objekte besitzen folgende Attribute:
idSTRDer eindeutige Datenbank-Identifizierer des Parameters.
identifierSTRDie eindeutige Bezeichnung des Parameters.
descriptionSTRDie Beschreibung des Parameters.
valueObjektDer Wert des Parameters. Dabei hängt der Typ des Wertes vom Typ des Parameters ab:
Parameter-Typ
vSQL-Typ von
valueboolintnumberstringhtmljsoncodecolordatedatetimedatedeltadatetimedeltamonthdeltauploadappcontrolBei Parametern vom Typ
upload,appundcontrolistvaluealso ein Objekt, dessen Attribute wiederum in Ausdrücken verwendet werden können, also z.B.app.p_logo.value.filename,app.p_zielapp.value.nameoderapp.p_feld.value.type. Beiapp-Parametern stehen auch die Parameter der referenzierten App zur Verfügung (z.B.app.p_zielapp.value.p_beispiel.value).createdatDATETIMEDer Zeitpunkt, zu dem der Parameter erstellt wurde.
createdbyBenutzerDer Benutzer, der den Parameter erstellt hat.
updatedatDATETIMEDer Zeitpunkt, zu dem der Parameter das letzte Mal geändert wurde. (Wurde der Parameter noch nicht geändert, so ist
updatedatNone.)updatedbyBenutzerDer Benutzer, der den Parameter zuletzt geändert hat. (Wurde der Parameter noch nicht geändert, so sind alle Attribute des
updatedby-BenutzersNone.)
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:
idSTRDer eindeutige Datenbank-Identifizierer des Feldes.
identifierSTRDer menschenlesbare Identifizierer des Feldes.
typeSTRDer Typ des Feldes (also z.B.
"string","int","lookup"oder"applookup").subtypeSTRDer Feld-Untertyp (also z.B.
"text"oder"select") oderNone, wenn der Feld-Typ keinen Untertyp hat.fulltypeSTRFeld-Typ und Feld-Untertyp (falls vorhanden) getrennt mit
/, also z.B."number"oder"lookup/select".fieldnameSTRDer Name der Datenbank-Spalte, in der die Werte des Feldes gespeichert werden.
labelSTRDie Feld-Beschriftung.
descriptionSTRDie Beschreibung des Feldes.
in_listBOOLGibt an, ob das Feld in der Listenansicht angezeigt werden soll.
orderINTDie Position des Feldes in der Reihenfolge der Felder der App.
requiredBOOLGibt an, ob das Feld ein Pflichtfeld ist.
in_mobile_listBOOLGibt an, ob das Feld in der Listenansicht auf Handys angezeigt werden soll.
in_textBOOLGibt an, ob das Feld in einer Text-Ansicht des Datensatzes angezeigt werden soll.
appAppDie App, zu der dieses Feld gehört.
createdatDATETIMEDer Zeitpunkt, zu dem das Feld erstellt wurde.
createdbyBenutzerDer Benutzer, der das Feld erstellt hat.
updatedatDATETIMEDer Zeitpunkt, zu dem das Feld das letzte Mal geändert wurde. (Wurde das Feld noch nicht geändert, so ist
updatedatNone.)updatedbyBenutzerDer Benutzer, der das Feld zuletzt geändert hat. (Wurde das Feld noch nicht geändert, so sind alle Attribute des
updatedby-BenutzersNone.)
Datensätze
Datensatz-Objekte haben folgende Attribute:
idSTRDie eindeutige Datenbank-Identifizierer des Datensatzes.
createdatDATETIMEDer Zeitpunkt, zu dem der Datensatz erzeugt wurde.
createdbyBenutzerDer Benutzer, der den Datensatz erstellt hat.
updatedatDATETIMEDer Zeitpunkt, zu dem der Datensatz das letzte Mal geändert wurde. (Wurde der Datensatz noch nicht geändert, so ist
updatedatNone.)updatedbyBenutzerDer Benutzer, der den Datensatz zuletzt geändert hat. (Wurde der Datensatz noch nicht geändert, so sind alle Attribute des
updatedby-BenutzersNone.)appAppDie App, zu der dieser Datensatz gehört.
v_<identifier>ObjektAlle vom Benutzer angelegten Felder sind über mit Präfixen versehene Attribute verfügbar. D.h. wenn
rdas Datensatz-Objekt ist, ist beispielsweise das Feld mit den Identifiertitelalsr.v_titelverfü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,longundinfo, d.h.r.v_ort.latist der Breitengrad.Bei Datei-Upload-Feldern ist der Wert ein Datei, d.h.
r.v_anhang.mimetypeist 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_nameist das Feldnamedes verknüpften Datensatzes. Solche Verweise können beliebig tief verkettet werden (z.B.r.v_firma.v_ansprechpartner.v_emailoderr.v_firma.createdby.email).