LivingAPI
LivingAPI bezeichnet die Gesamtmenge an Objekten die einem Anzeige-Template, einem E-Mail-Template oder anderen Templates übergeben werden.
(Im Gegensatz dazu wird vSQL verwendet, um Datensätze zu filtern oder auszuwählen, bevor sie an Templates übergeben werden.)
Von welchen Apps Daten über die LivingAPI an ein Anzeige-, Formular-, Update- oder E-Mail-Template übergeben werden, kann unter Anzeige-Templates-Maske beim jeweiligen Anzeige-Template unter der Datenquellen-Maske konfiguriert werden (sowie über bestimmte Abfrage-Parameter im HTTP-Request beeinflußt werden). Für E-Mail-Templates passiert dies in der E-Mail-Templates-Maske beim jeweiligen E-Mail-Template unter der Datenquellen-Maske.
in derObjekt-Typen
Die folgende Objekt-Typen stellen die zentralen Objekte in der LivingAPI dar: Apps (App) mit ihren Feldern (Control) oder Dekorationsfeldern (LayoutControl) sowie Datensätze (Record) mit den Feld-Werten (Field), Anhängen zu den Datensätzen (Attachment) und untergeordnetet Datensätze (RecordChildren) sowie Auswahl-Objekte (LookupItem), Objekte für hochgeladene Dateien (File) und für geographische Koordinaten (Geo).
![digraph LivingAPI_1 {
graph [ bgcolor="transparent"];
node [ pad=0.1 shape="box" style="rounded" fillcolor="ghostwhite" ];
App -> Record [ dir="both" arrowtail="normal" arrowhead="dot" ];
App -> Control [ dir="both" arrowtail="normal" arrowhead="dot" ];
App -> LayoutControl [ dir="both" arrowtail="normal" arrowhead="dot" ];
Record -> Field [ dir="both" arrowtail="normal" arrowhead="dot" ];
Record -> Attachment [ dir="both" arrowhead="dot" arrowtail="normal" ];
Record -> RecordChildren [ dir="both" arrowhead="dot" arrowtail="normal" ];
RecordChildren -> Record [ dir="both" arrowhead="none" arrowtail="normal" ];
Control -> RecordChildren [ dir="both" arrowhead="dot" arrowtail="none" ];
Field -> Control [ arrowtail="normal" weight=3 ];
Control -> LookupItem [ dir="both" arrowtail="normal" arrowhead="dot" style="dotted" ];
Field -> LookupItem [ dir="both" arrowhead="normal" arrowtail="none" style="dotted" ];
Field -> LookupItem [ dir="both" arrowhead="dot" arrowtail="none" style="dotted" ];
Field -> Record [ dir="both" arrowhead="normal" arrowtail="none" style="dotted" ];
Field -> Record [ dir="both" arrowhead="dot" arrowtail="none" style="dotted" ];
Field -> Geo [ arrowhead="normal" ];
Field -> File [ arrowhead="normal" ];
LayoutControl -> File [ arrowhead="normal" ];
subgraph {
rank = same; Record; Control; LayoutControl;
}
subgraph {
rank = same; Attachment; Field;
}
subgraph {
rank = same; Geo; LookupItem; File;
}
}](_images/graphviz-7cb95803df61384a1c13ba4e2b7950039a0fd6a9.png)
Weiterhin werden einem Anzeige-Template im Globals-Objekt globale Informationen übergeben. Darüber hat der Benutzer die Möglichkeit auf Informationen über die zu verarbeitende HTTP-Anfrage zuzugreifen (HTTPRequest), die zu versendende HTTP-Anwort zu beeinflußen (HTTPResponse), und einige Dinge mehr.
Bei einem E-Mail-Template werden ebenfalls im Globals-Objekt globale Informationen übergeben. Das EmailRequest-Objekt enhält Informationen über den Kontext in dem die E-Mail-Versendung stattfindet. Das EmailResponse-Objekt kann dazu verwendet werden, Betreff und Adressaten der Email zu ändern.
![digraph LivingAPI_2 {
graph [ bgcolor="transparent" ];
node [ pad=0.1 shape="box" style="rounded" fillcolor="ghostwhite" ];
Globals -> FlashMessage [ dir="both" arrowhead="dot" arrowtail="none" ];
Globals -> HTTPRequest [ arrowtail="normal" ];
Globals -> HTTPResponse [ arrowtail="normal" ];
Globals -> EmailRequest [ arrowtail="normal" ];
Globals -> EmailResponse [ arrowtail="normal" ];
App -> Globals [ arrowtail="normal" weight=2];
App -> DataSource [ dir="both" arrowhead="none" arrowtail="dot" ];
App -> DataSource [ dir="both" arrowhead="none" arrowtail="normal" ];
DataSource -> DataSourceChildren [ dir="both" arrowhead="dot" arrowtail="normal" ];
Globals -> DataSource [ dir="both" arrowhead="dot" arrowtail="normal" ];
subgraph {
rank = same; Globals; DataSource;
}
}](_images/graphviz-c8a95b60b260eb939b2b9e55f3c04dd27adc9d6c.png)
Dem App-Objekt sind weiterhin einige Informationen zugeordnet: Die App-Kategorien (Category), die App-Parameter (AppParameter), die Menüs (MenuItem), die Panels/Kacheln (Panel), die Installation, die diese App erzeugt hat (Installation) sowie die Ansichten (View).
![digraph LivingAPI_3 {
graph [ bgcolor="transparent" ];
node [ pad=0.1 shape="box" style="rounded" fillcolor="ghostwhite" ];
App -> Category [ dir="both" arrowhead="dot" arrowtail="dot" ];
App -> AppParameter [ dir="both" arrowhead="dot" arrowtail="normal" ];
App -> MenuItem [ dir="both" arrowhead="dot" arrowtail="normal" ];
App -> Panel [ dir="both" arrowhead="dot" arrowtail="normal" ];
App -> Installation [ arrowtail="normal" ];
Category -> Category [ dir="both" arrowhead="dot" arrowtail="normal" ];
App -> View [ dir="both" arrowhead="dot" arrowtail="normal" ];
View -> ViewControl [ dir="both" arrowhead="dot" arrowtail="normal" ];
ViewControl -> ViewLookupItem [ arrowhead="dot" style="dotted" ];
}](_images/graphviz-f36bdd2ec8d0e81fc5634c94fdbf979f1fcff52f.png)
Die einzelnen Objekt-Typen werden in den folgenden Unter-Kapiteln beschrieben:
Globals
HTTPRequest
HTTPResponse
EmailRequest
EmailResponse
FlashMessage
DataSource
DataSourceChildren
App
AppGroup
Control
Record
RecordChildren
Field
LayoutControl
AppParameter
MenuItem
Panel
LookupItem
View
ViewControl
ViewLookupItem
Attachment
User
File
Geo
Installation
Category
KeyView
ViewTemplateInfo