Velocity
(missing or bad snippet)Allgemeine Informationen zum Thema "Scripting" finden Sie hier.
Intrexx-Standardbibliothek
Im Velocity-Skripteditor haben Sie im Bereich Bibliotheken Zugriff auf die Intrexx-Standardbibliothek. Wenn Sie einen Eintrag in der Bibliothek markiert haben, finden Sie unten rechts die folgenden Schaltflächen:
Beschreibung anzeigen
Hier finden Sie eine Beschreibung der aktuell ausgewählten Funktion mit Beispiel-Skript.
Link öffnen
Verlinkt auf entsprechende Seiten mit weiterführenden Informationen. Dabei wird jeweils genau die Seite mit den Klassen, Interfaces, Methoden oder Properties geöffnet, die Sie für die aktuell markierte Funktion verwenden können.
Applikationsstruktur
Applikationsinfo
Informationen zur Applikation mit der übergebenen GUID.
Beispiel
Ermittelt die GUID der Startseite der Applikation.
Snippet
Datengruppen-Info
Informationen zur Datengruppe mit der übergebenen GUID.
Beispiel
Ermittelt den Namen der Datengruppe.
Snippet
Datenfeld-Info
Informationen zum Datenfeld mit der übergebenen GUID.
Beispiel
Ermittelt den Namen des Datenfeldes.
Snippet
Seiteninfo
Informationen zur Seite mit der übergebenen GUID.
Beispiel
Ergibt true, wenn die Seite eine Eingabeseite ist, andernfalls false.
Snippet
Aktueller Benutzer
Loginname des aktuellen Benutzers
Liefert den Anmeldenamen des aktuellen Benutzers.
Snippet
E-Mailadresse des aktuellen Benutzers
Liefert die geschäftliche E-Mailadresse des aktuellen Benutzers.
Snippet
Gruppenzugehörigkeit eines Benutzers bestimmen
Die Gruppenzugehörigkeiten des aktuell angemeldeten Benutzers bestimmen und in Abhängigkeit davon eine weitere Verarbeitung durchführen.
Snippet
Class VelocityOrgStructureWrapper
Objekte im Velocity-Kontext
$AccessController
Objekt zur Überprüfung von Zugriffsrechten an Applikationen, Datengruppen etc.
Snippet
$AppUserProfile
Daten pro Benutzer persistent speichern.
Snippet
Class VCApplicationUserProfile
$AsynchronousRequestHandler
Objekt zur Verarbeitung asynchroner Requests.
Snippet
Class AsynchronousRequestHandlerCallable
$BCM
Objekt zum Zugriff auf den Cache Manager und die Update Sequence Numbers (usn) einzelner Objekte.
Snippet
$Binding
Zugriff auf alle Bindings, die zum Zeitpunkt des Zugriffs zur Verfügung stehen.
Systemdatengruppen
Hier ein Beispiel für den Zugriff auf eine Systemdatengruppe.
Auch der Zugriff auf Systemdatengruppen anderer Applikationen ist möglich. Geben Sie dazu nach "systemDataGroup" die APP_GUID an.
Werte aus Tabellen
Zugriff auf Werte einer Tabelle - nicht möglich bei berechneten Werten, Mehrfachauswahl, dynamischer Ansicht.
Das Skriptbeispiel liefert ein IIxValue.
Verwenden Sie dazu die GUID der Tablerecords. Diese GUID kann ermittelt werden, wenn die Elemente der Tabelle in der Applikationsstruktur eingeblendet sind. Möglich ist dies über das Hauptmenü "Bearbeiten", wenn die Tabelle in der Applikationsstruktur markiert ist.
Liefert einen unformatierten String.
Rendert ein Datum als String.
Werte können auch über den Namen der Tablerecords / Tabellenspalte ermittelt werden.
Liefert die Anzahl der angezeigten Datensätze in der Tabelle.
Liefert die Anzahl aller Datensätze in der Tabelle unter berücksichtigung des Filters.
Liefert den Primary Key / die RecordId des Datensatzes.
Snippet
$Browser
Objekt zur Abfrage von Browserinformationen.
Snippet
$CalcUtil
Einleitung
Im Folgenden wird das Velocity-Kontextobjekt "$CalcUtil" zur Berechnung von Werten vorgestellt und anhand von Codebeispielen erläutert.
Mit der Funktion calculate() können komplexe Rechen- und Vergleichsoperationen durchgeführt werden.
Zur Strukturierung der Operation können die '( )' Klammern verwendet werden. Die Werte für die durchzuführenden Rechen- und Vergleichsoperationen können aus Datenfeldern, Sessions, Requests, Tabellenzellen oder SharedStates ausgelesen werden.
Operatoren
Folgende Operatoren stehen in einer Berechnungsformel zur Verfügung:
+ (Addition)
- (Subtraktion)
* (Multiplikation)
/ (Division)
< (Vergleich Kleiner)
> (Vergleich Größer)
<= (Vergleich Kleiner gleich)
>= (Vergleich Größer gleich)
== (Vergleich Gleich)
!= (Vergleich Ungleich)
&& (Logische Verknüpfung Und)
|| (Logische Verknüpfung Oder)
! (Logischer Operator Nicht)
Weitere Typkategorien und Methoden
Zusätzlich zu den oben beschriebenen Operatoren existieren noch weitere Möglichkeiten, in Formeln bestimmte Variablen oder Methoden aufzurufen:
Methode | Beschreibung | Beispiel |
---|---|---|
datafield | Wert aus einem Datenfeld | datafield("C68F6...D3DE7") |
datafieldAsNumber | Wert aus einem Datenfeld als Number | datafieldAsNumber("C68F6...D3DE7") |
session | Wert aus einer bestehenden Session des aktuell angemeldeten Benutzers | session("sessionValue") |
sessionAsNumber | Wert aus einer bestehenden Session des aktuell angemeldeten Benutzers | sessionAsNumber("sessionValue") |
sharedState | Wert aus dem aktuellen Verarbeitungskontext | sharedState("sharedStateValue") |
sharedStateAsNumber | Wert aus dem aktuellen Verarbeitungskontext | sharedStateAsNumber("sharedStateValue") |
requestAsNumber | Wert aus dem aktuellen Request | requestAsNumber("rq_requestValue") |
abs | Absolutbetrag | abs(-1) |
Bei den Typangaben mit Suffix AsNumber wird, soweit technisch möglich, versucht, die eingehenden Werte zu casten. Ohne diesen Cast wird z.B. bei der Verwendung von String-Datenfeldern eine Exception auftreten. Die Boolean-Werte "true" und "false" werden entsprechend zu 1 bzw. 0 gecastet. Optional ist es möglich, als zweiten Methodenparameter einen Fallback anzugeben, der verwendet wird, wenn der erste Parameter null oder leer ist. Bei diesem Fallbackvalue kann es sich auch um eine Formel handeln.
Snippet
Fehlerbehandlung
Für das Abfangen potenzieller Fehler (z.B. Teilen durch 0) existieren folgende Methoden, die in einer Formel verwendet werden können:
Methode | Beschreibung | Beispiel |
---|---|---|
zeroOnError | Rückgabe von 0 im Fehlerfall | |
oneOnError | Rückgabe von 1 im Fehlerfall | |
fallbackOnError | Im Fehlerfall wird der als fallback definierte Wert zurückgeliefert |
Rundungsfunktionen
Zahlenwerte können in Formeln gerundet werden. Der Parameter "scale" beschreibt dabei die Anzahl der Nachkommastellen.
Methode | Anmerkungen |
---|---|
roundLong | Buchhalterisches Runden |
roundLongHalfAwayFromZero | entspricht roundLong |
roundLongHalfEven | |
roundLongHalfUp | |
roundLongHalfDown | |
round(scale) | Buchhalterisches Runden auf scale Nachkommastellen (roundLong entspricht round(0)) |
roundLongHalfAwayFromZero(scale) | entspricht round(scale) |
roundLongHalfEven(scale) | |
roundLongHalfUp(scale) | |
roundLongHalfDown(scale) |
Fallunterscheidungen
Mit Fallunterscheidungen können in Formeln Vorbedingungen geprüft und anhand deren Ergebnis bestimmte Formeln oder Werte verwendet werden.
Für den boolschen Ausdruck bestehen hierbei folgende Regeln:
null == false
leer == false
0 == false
false == false
!true == false
!false == true
1 == true
Werden logische Operatoren zum Berechnen verwendet, wird false zu 0 und true zu 1. Folglich ergibt sich:
Beispiele
Ein Berechnungsaufruf mit der Funktion "calculate()" auf Ansichtsseiten besitzt immer drei Parameter:
$ProcessingContext - Der aktuelle Verarbeitungscontext. Wert ist immer fix.
Die aktuelle Datarange - $DC für Tabellen und Ansichtsseiten.
Formel - Beliebig geschachtelte Formel, bestehend aus den o.g. Methoden und Operatoren.
Einfache Addition zweier Werte
Hier ein einfaches Beispiel für eine Addition, deren Werte aus Datenfeldern gelesen werden. Um ein Datenfeld anzusprechen, können Sie entweder die GUID des Datenfeldes oder den Namen der Kontrolle in Hochkommatas angeben.
Beispiel 1
Die oben beschriebenen Methoden lassen sich beliebig kombinieren und schachteln, um Werte aus verschiedenen Quellen (Session, Request, ...) zu verwenden.
Beispiel 2
Aggregatsfunktionen für Tabellen
Über "$CalcUtil" ist es auch möglich, Werte aus Spalten einer Tabellen zu verarbeiten. Es stehen hierbei die in der folgenden Tabelle aufgelisteten Rechenoperationen zur Verfügung. Die Aufrufe der Methoden für Tabellen besitzen hierbei immer zwei Parameter:
- Tabellenobjekt
Zugriff auf Tabelle - entweder per Tabellenname oder Tabellen-GUID. Es handelt sich hierbei nicht um den direkten Namen und die GUID der Tabellenkontrolle, sondern um die Werte des Attributs "tablerecords" bei Ansichtstabellen bzw. "shapedtablebase" bei frei gestalteten Tabellen. Um die Werte zu ermitteln, wählen Sie das Hauptmenü "Bearbeiten / Elemente anzeigen, wenn die Seite, auf der sich die Tabelle befindet, in der Applikationsstruktur markiert ist. Navigieren Sie dann in der Struktur zur gewünschten Tabelle. Dort finden Sie den Eintrag "tablerecords" bzw. "shapedtablebase". Im Details-Dialog des Eintrags können Name und GUID ermittelt werden.
- Formel
Beliebig geschachtelte Formel. Zugriff auf Spaltenwerte über row(<Spaltenname>) bzw. rowAsNumber(<spaltenname>)
Beispiel 1
Die Werte werden beim Aufrufen der Seite berechnet. Besitzt die Tabelle Navigationselemente und werden diese verwendet, aktualisieren sich die Werte der Velocity-Anweisungen und -Berechnungen nicht, da die Tabelle dynamisch per AJAX nachgeladen wird. Sollte also gewünscht sein, Tabellenberechnungen auch nach einer Navigation innerhalb der Tabelle durchzuführen, muss das entsprechende VTL-Include (respektive die VM-Datei) ebenfalls per AJAX nachgeladen werden. Als Workaround wird geraten, die zu berechnende Tabelle so aufzubereiten, dass keine Navigation notwendig ist.
Methode | Beschreibung |
---|---|
sum | Berechnet die Summe der Spaltenwerte aus jenen Daten, die auf der aktuellen Seite angezeigt werden. |
min | Berechnet das Minimum der Spaltenwerte aus jenen Daten, die auf der aktuellen Seite angezeigt werden. |
max | Berechnet das Maximum der Spaltenwerte aus jenen Daten, die auf der aktuellen Seite angezeigt werden. |
count | Berechnet die Anzahl der Datensätze, die auf der aktuellen Seite angezeigt werden. |
Bitte beachten Sie, dass es sich bei den folgenden Methoden um rechenintensive Operationen handelt. Bei sehr großen Datenbeständen können entsprechende Verzögerungen auftreten.
Methode | Beschreibung |
---|---|
totalSum | Berechnet die Summe der Spaltenwerte aller Datensätze. |
totalMin | Berechnet das Minimum der Spaltenwerte aller Datensätze. |
totalMax | Berechnet das Maximum der Spaltenwerte aller Datensätze. |
totalCount | Berechnet die Anzahl aller Datensätze. |
Beachten Sie bitte: Befindet sich in einer Tabelle kein Datensatz, liefern die o.g. Methoden die Zahl 0 als Rückgabewert.
Beispiel 2
$Chat
Objekt zum Senden und Empfangen von Chatnachrichten.
Snippet
$Codec
Objekt zur Codierung und Encodierung von Strings.
Snippet
$CollectionFactory
Objekt zur Erstellung von Collections.
Snippet
$Constants
Objekt zum Zugriff auf Konstanten einer Klasse.
Snippet
$Cookies
Setzen von Cookies.
Snippet
$DC
Es gibt drei Arten von Datensätzen, die in Bezug auf $DC und $drRecord unterschieden werden müssen:
1. Hauptdatensatz
Der Hauptdatensatz wird auf einer Seite durch einfache Elemente wie Textfelder, Kontrollkästchen etc. dargestellt.
2. Datensatz in einer Ansichtstabelle
Die Ansichtstabelle besteht aus einer Auflistung mehrerer Datensätze. Eine einzelne Zeile ist ein Datensatz in einer Ansichtstabelle.
3. Datensatz in einer frei gestalteten Tabelle
Die frei gestaltete Tabelle stellt ebenfalls eine Liste von mehreren Datensätzen dar. Sie ist von der reinen Ansichtstabelle zu unterscheiden, da die frei gestaltete Tabelle eine eigene Seite zur Darstellung der Datensätze verwendet und nicht wie die Ansichtstabelle nur die rohen Daten. Jede wiederholte Darstellung dieser eigenen Seite ist ein Datensatz in einer frei gestalteten Tabelle.
Zugriff auf verschiedene Werte mit $DC und $drRecord
Die Verwendung von $DC und $drRecord ist abhängig vom Kontext bzw. Datensatztyp. Wird Velocity im Kontext des Hauptdatensatzes geschrieben, z.B. mit dem Element "Statischer Text" auf der Seite, dann kann mit $DC auf Daten des Hauptdatensatzes zugegriffen werden.
Wird Velocity im Kontext des Datensatzes einer Ansichtstabelle geschrieben, z.B. um Daten an einen JavaScript-Aufruf zu übergeben, wird mit $DC auf Daten des Hauptdatensatzes und mit $drRecord auf Daten des jeweiligen Datensatzes in der Ansichtstabelle zugegriffen.
Wird Velocity im Kontext des Datensatzes einer frei gestalteten Tabelle erstellt, z.B. weil auf der darstellenden Seite für jeden Datensatz ein statischer Text platziert wird, in dem Velocity geschrieben wird, wird
für den Zugriff auf Daten des Hauptdatensatzes verwendet. Sowohl mit $DC als auch mit $drRecord kann auf Daten des jeweiligen Datensatzes in der frei gestalteten Tabelle zugegriffen werden.
| Zugriff auf |
Zugriff auf |
Zugriff auf |
---|---|---|---|
Velocity im Hauptdatensatz | $DC | nicht möglich | nicht möglich |
Velocity im Datensatz einer Ansichtstabelle | $DC | $drRecord | nicht möglich |
Velocity im Datensatz einer frei gestalteten Tabelle | $DC.getMainPageDC() | nicht möglich | $DC oder $drRecord |
$Loader.getDataCollection()
Der Aufruf $Loader.getDataCollection() entspricht exakt der Verwendung von $DC. Es handelt sich lediglich um eine andere, längere Schreibweise. $Loader.getDataCollection() bzw. $DC kann bei Bedarf einer neuen Variablen zugewiesen werden.
Verwenden Sie für diese neue Variable zwingend und unbedingt einen komplett eigenen Namen - auf keinen Fall darf $DC als Name verwendet werden! $DC ist ein reserviertes Schlüsselwort in Intrexx. Dies gilt für alle Namen der in Velocity verfügbaren Kontextobjekte in Intrexx.
Snippet
Interface IWebRowDataCollection
2.3.13.1 Benutzerdefiniert in E-Mails
Manuelle Initialisierung des Kontextobjekts $DC (Kurzform von $Loader.getDataCollection()) zur Verwendung in E-Mails mit aus Velocity generiertem Inhalt. Mit <APP_GUID> muss die GUID der Applikation übergeben werden, aus der Datensätze verarbeitet werden sollen. Es müssen folgende Voraussetzungen gegeben sein:
Der Prozess muss über ein Ereignis aus dem Web ausgelöst werden
Es handelt sich um bestehende Datensätze
Objekte (z.B. Datenfelder), die in Velocity verwendet werden, müssen im Sprungziel als Kontrolle vorhanden sein
Snippet
Wert aus Kontrolle auslesen
Auslesen eines Wertes aus einer Kontrolle (z.B. aus einem Ansichtsfeld). Als Parameter muss der Name der Kontrolle angegeben werden, aus der der Wert ausgelesen werden soll. In einer Frei gestalteten Tabelle ist statt $DC das Kontextobjekt $drRecord zu verwenden.
Beispiel
Snippet
Wert aus Systemdatengruppe auslesen
Auslesen eines Wertes aus einer Systemdatengruppe. Als Parameter muss der Name des Datenfeldes angegeben werden, aus dem der Wert ausgelesen werden soll. In einer Frei gestalteten Tabelle ist statt $DC das Kontextobjekt $drRecord zu verwenden.
Beispiel
Snippet
$DEBUG
Objekt zur genaueren Untersuchung einzelner Objekte und Elemente.
Snippet
$defaultLanguage
Standardsprache des Portals.
Snippet
$DataTransferCallable
Objekt für den Zugriff auf angelegte Datentransferverbindungen.
Snippet
$DbUtil
Objekt für den Zugriff auf Datenbankverbindungen und zur Transaktionsverwaltung von Datenbankoperationen.
Snippet
$DefaultMaker
Snippet
$DistributionControl
Objekt zum Zugriff auf Verteilerkontrollen
Snippet
$DoubletService
Hilfsobjekt zur Suche von Dubletten in Datenbeständen einer Applikation.
Snippet
$drRecord
Objekt für den Zugriff auf den aktuellen Datensatz in freien Tabellen. Weitere Informationen finden Sie beim Kontextobjekt $DC.
Snippet
Interface IWebRowDataCollection
$DtUtil
Objekt für Datumsberechnungen.
Snippet
$ESC
Darstellung von Zeichen, die in Velocity standardmäßig escapet werden.
Snippet
$Error
Objekt zur Analyse von Exceptions.
Snippet
$ExceptionUtil
Objekt zum Werfen von Exceptions.
Snippet
Objekte für Microsoft Exchange
Diese Objekte können nur in Verbindung mit dem Intrexx-MediaGateway verwendet werden.
$ExchangeCallable
Callable für Exchange-Authentifizierungen.
Snippet
$ExchangeConnectionCallable
Callable für Exchange-Verbindungen.
Snippet
Class ExchangeConnectionCallable
$ExchangeMailboxCallable
Callable für den Zugriff auf die Mailbox eines Exchange-Benutzers.
Snippet
$ExchangeMessageCallable
Callable für den Zugriff auf Nachrichtenobjekte.
Snippet
$ExchangeItemCallable
Callable für den Zugriff auf Exchange-Objekte.
Snippet
$ExchangeUserMailboxCallable
Callable auf Mailbox-Informationen eines Exchange-Benutzers.
Snippet
Class ExchangeUserMailboxCallable
$Factory
Erzeugen von oder Zugriff auf Objekte wie z.B. Benutzer, ohne dass sie im Velocitykontext vordefiniert wurden.
Snippet
$FieldFormatter
Snippet
$FileHelper
Objekt für Dateioperation wie das Einfügen einer Datei in eine Intrexxdatengruppe.
Snippet
$FileUtil
Objekt zur Analyse von Dateien in einer Ordnerhierarchie.
Snippet
$Filter
Sammlung diverser Filter für Collections, die im Velocitykontext verwendet werden.
Snippet
$FramesetHelper
Objekt zum Aufbau eines neuen URL basierend auf dem aktuellen Request und einer Liste von zusätzlichen Parametern.
Snippet
$HelperFactory
Konvertiert die Zeichen <, >, & und " in ihre entsprechende HTML-Entität.
Snippet
$I18N
Objekt für den Zugriff auf Sprachkonstanten
Snippet
Class LanguageConstantsCallable
$JSON
Hilfsfunktionen zum Erstellen von und Arbeiten mit JSON-Objekten.
Snippet
$lang
Aktuelle Portalsprache.
Snippet
$layout
Name des aktuell verwendeten Layouts.
Snippet
$LayoutManager
Zugriff auf Layoutinformationen.
Snippet
$ListBoxControl
Objekt zum Zugriff auf Auswahllisten.
Snippet
$ListFormatter
Hilfsfunktionen zur Formatierung von Listen.
Snippet
$Loader
Verarbeitet eingehende Requests. Über $Loader ist z.B. der Zugriff auf die aktuelle Datenbankverbindung möglich.
Snippet
$Locales
Zugriff auf Ländereinstellungen von Zahlen- & Datumswerten.
Snippet
$LogAnalyzer
Objekt zum Erstellen von Applikations- und Benutzer- und Statistikreports.
Snippet
$MBGallery
Objekt zur Bearbeitung umd zum Kopieren/Verschieben/Löschen von Bildern.
Snippet
$Math
Objekt für diverse arithmetische Operationen.
Snippet
$Menu
Objekt zum Zugriff auf die Menüstruktur.
Snippet
$MenuCloud
Objekt zum Zugriff auf eine Menüwolke.
Snippet
$ObjectHelper
Objekt für null-Objekte und -ValueHolder.
Snippet
$PageUtil
Objekt zum Zugriff auf Kontrollen und Daten auf der Ansichtsseite eines Datensatzes.
Snippet
Zur Initialisierung werden der Rendering- und Verarbeitungskontext benötigt, außerdem die GUID der aktuellen Applikation und eine DataCollection.
Beispiel
Mit der Variable "$page" kann auf Kontrollen und Datenfelder der Seite zugegriffen werden.
$Parameter
Objekt für den Zugriff auf Parameter.
Snippet
$PolicyBrowserFactory
Bietet Zugriff auf Objekte, mit deren Hilfe lesend auf Rechte von Benutzern, Sets oder Containern zugegriffen werden kann.
Snippet
$PollHelper
Objekt für Abfragen von Eigenschaften einer Umfrage.
Snippet
$Portal
Objekt für den Zugriff auf Portaleigenschaften (z.B. Name).
Snippet
$Portal - Zugriff auf die Organisationsstruktur
Zugriff auf die Organisationsstruktur des Portals.
Snippet
Class VelocityOrgStructureWrapper
$PreparedQuery
Objekt zum Erstellen und Ausführen von Datenbankabfragen.
Snippet
$ProcessingContext
Objekt des aktuellen Verabeitungskontextes.
Snippet
Class BusinessLogicProcessingContext
$QNameFactory
Objekt zur Erstellung eines neuen xsd:QName namespaces.
Snippet
$Renderer
Objekt für das Erstellen von diversen Renderern.
Snippet
Class StandardUtilRendererFactory
$RenderingContext
Objekt zum Zugriff auf die aktuellen Default-Rendereinstellungen des Portals.
Snippet
$Request
Objekt zum Setzen und Auslesen von Requestvariablen.
Snippet
$Response
Objekt für das Setzen und Lesen von Eigenschaften einer HTTP-Response.
Snippet
$RtCache
Runtime-Cache-Objekt mit Informationen über Applikationen, Datengruppen etc.
Snippet
$SaucMenu
Objekt für das Setzen von Menürechten im Web-CMS.
Snippet
$SearchUtil
Objekt für Suchanfragen.
Snippet
$Session
Zugriff auf die Session des aktuellen Benutzers.
Snippet
$SettingsHelper
Objekt zum Auslesen von Settings.
Snippet
$SharedState
Setzen und Auslesen von benutzerdefinerten Werten im Verarbeitungskontext. Wert aus dem Verarbeitungskontext lesen:
Beispiel 1
Wert in den Verarbeitungskontext schreiben:
Beispiel 2
Snippet
$Sort
Hilfsobjekt zum Sortieren von Listen.
Snippet
$SourcePage
Liefert z.B. GUID, Applikations-GUID oder RecID der Seite, die Parameter sendet.
Snippet
$TextUtil
Hilfsobjekt für diverse Arten von Stringmanipulationen.
Snippet
$TickerMan
Objekt für den Zugriff auf RSS-Provider.
Snippet
$Unique
Objekt zur Generierung von eindeutigen Variablen.
Snippet
$UrlBuilder
Objekt zum Erstellen von URLs. Methoden um URLs zu erzeugen:
createBaseUrl
createAbsoluteBaseUrl
createAbsoluteRequestBaseDirectoryUrl
createWebSocketBaseUrl
parseUrl
Alle anderen Methoden zum Erzeugen von URLs sind deprecated:
createDefaultUrl
createAbsoluteBaseDirectoryUrl
createRequestBaseDirectoryUrl
createBaseUrl
Erzeugt immer die relative Basis-URL.
createAbsoluteBaseUrl
Erzeugt die mit einem Slash endende absolute Basis-URL. Dazu wird in der Regel die im Portal konfigurierte Basis-URL verwendet.
Ist keine Basis-URL konfiguriert, so wird diese URL aus den Servervariablen SCHEME, SERVER_NAME und SERVER_PORT konstruiert.
createAbsoluteRequestBaseDirectoryUrl
Erzeugt eine absolute URL. Ihr Pfadanteil ist gleich dem Pfad aus der Request-URI, ohne den Dokumentanteil. Der Dokumentanteil ist dabei der am weitesten rechts stehende Pfadanteil, dem kein Slash folgt. Der Querystring wird verworfen.
Beispiel:
Für den Request https://example.org/dir1/dir2/foo.vm liefert $UrlBuilder.createAbsoluteRequestBaseDirectoryUrl($Request) das Ergebnis https://example.org/dir1/dir2/.
Für den Request https://example.org/dir1/dir2/ liefert $UrlBuilder.createAbsoluteRequestBaseDirectoryUrl($Request) das Ergebnis https://example.org/dir1/dir2/.
parseUrl
Parst die gegebene URL und gibt ein entsprechendes URL-Objekt zurück.
Snippet
$User
Objekt zum Zugriff auf Informationen des aktuellen Benutzers.
Snippet
$VDiff
Objekt, um Diffs von Wiki-Beiträgen anzuzeigen.
Snippet
$VH
Objekt zum Erstellen von ValueHoldern.
Snippet
$VHHelper
Hilfsklasse zum Auslesen von Werten in ValueHoldern.
Snippet
$VelocityContext
Snippet
$VelocityUtil
Snippet
$Wiki
Snippet
$Zebra
Das Zebra-Callable erleichtert die alternierende Ausgabe zweier Zeichenketten.
Beispiel
liefert als Ausgabe
black
white
black
white
white
Snippet
Datenbanken
Aktuelle Datenbankverbindung
Liefert die aktuelle Systemverbindung zur Datenbank.
Snippet
Zugriff auf Fremddatenverbindung
Zugriff auf eine angelegte Fremdatenverbindung.
Snippet
Alle Spaltennamen einer Datengruppe
Liefert eine Liste mit den Namen aller Spalten der Datengruppe mit der übergebenen GUID.
Snippet
Vorbereitete Anweisung mit SELECT
Führt eine SELECT-Anfrage auf eine Datenbanktabelle aus.
Snippet
Vorbereitete Anweisung mit INSERT
Führt ein INSERT-Statement auf einer Datenbanktabelle aus.
Snippet
Vorbereitete Anweisung mit UPDATE
Führt ein UPDATE-Statement auf einer Datenbanktabelle aus.
Snippet
Vorbereitete Anweisung mit DELETE
Führt ein DELETE-Statement auf einer Datenbanktabelle aus.
Snippet
Einzelner Wert aus vorbereiteter Datenbank-Abfrage (mit Fallback)
Liest einen einzelnen Wert aus einer Datenbankabfrage aus. Ist die Ergebnismenge leer oder null, wird der mit fallbackValue definierte Wert zurückgegeben. Soll der Datentyp der Rückgabe genauer spezifiziert werden, können typisierte Methodenaufrufe wie z.B. executeAndGetScalarBooleanValue(...) erfolgen.
Snippet
Datenbanktyp unterscheiden
Liefert den Datenbanktyp der Systemverbindung. Die Unterscheidung kann mit folgenden Bezeichnern erfolgen:
Generischer Descriptor: $strType.contains("Standard")
PostgreSQL: $strType.contains("PostgreSQL")
Oracle allgemein, Oracle10, Oracle11:
$strType.contains("Oracle")
$strType.contains("Oracle10")
$strType.contains("Oracle11")DB2: $strType.contains("Db2")
Derby: $strType.contains("Derby")
MsSqlServer: $strType.contains("MsSqlServer")
Datenbanken, die nicht als Systemdatenbanken unterstützt werden:
AbacusPervasive: $strType.contains("AbacusPervasive")
Firebird: $strType.contains("Firebird")
HSQLDB: $strType.contains("HSQLDB")
Ingres: $strType.contains("Ingres")
Oracle 8, Oracle 9:
$strType.contains("Oracle8")
$strType.contains("Oracle9")solidDB: $strType.contains("soliddb")
Snippet
Zeitstempel für Systemwerte
Diese Variable beinhaltet den Zeitstempel der aktuellen Transaktion und bleibt bis zum Verarbeitungsende dieser Transaktion unverändert.
Snippet
Fehlersuche
Objekt inspizieren
Inspiziert ein Objekt.
Snippet
Info in Logdatei schreiben
Schreibt einen INFO-Eintrag in die zum Ausführungskontext des Skripts gehörige Logdatei.
Snippet
Warnung in Logdatei schreiben
Schreibt einen WARN-Eintrag in die zum Ausführungskontext des Skripts gehörige Logdatei.
Snippet
Fehler in Logdatei schreiben
Schreibt einen ERROR-Eintrag in die zum Ausführungskontext des Skripts gehörige Logdatei.
Snippet
Stoppuhr - starten
Startet die Stoppuhr.
Snippet
Stoppuhr - Zwischenzeit nehmen
Nimmt die Zwischenzeit der Stoppuhr.
Snippet
Stoppuhr - neu starten
Startet die Stoppuhr neu.
Snippet
Portaldaten
Portalname
Liefert den Namen des aktuellen Portals als String.
Snippet
Zeitzone
Liefert die default-Zeitzone des Portals.
Snippet
Angemeldete Benutzer
Liefert eine Liste mit den GUIDS der aktuell im Portal angemeldeten Benutzer. Der Übergabeparameter true/false gibt an, ob anonyme Benutzer mit ausgegeben werden sollen oder nicht.
Beispiel
Gibt auch anonyme Benutzer aus.
Snippet
Aktive Sessions
Liefert die Anzahl der aktiven Sessions im Portal.
Snippet
Rechnen
Addieren
Addiert zwei Integer, Long oder Double Werte.
Snippet
Subtrahieren
Subtrahiert zwei Integer, Long oder Double Werte.
Snippet
Multiplizieren
Multipliziert zwei Integer, Long oder Double Werte.
Snippet
Dividieren
Dividiert zwei Double Werte.
Snippet
Maximum
Berechnet das Maximum zweier Werte.
Snippet
Minimum
Berechnet das Minimum zweier Werte.
Snippet
Renderer
Aktuelles Datum
Erzeugt und formatiert das Datum entsprechend des im Portal eingestellten Formats.
Snippet
Aktuelles Datum in benutzerdefiniertem Format
Erzeugt formatiert ein Datum mit Hilfe eines benutzerdefinierten Renderes. Ausgabe in diesem Beispiel (Letzter Wert bezeichnet die Kalenderwoche): 21.09.2009 12:14:35 39
Snippet
Renderingcontext
Zugriff auf den aktuellen Renderingcontext.
Snippet
Datum
Datum lokalisieren
Erzeugt und formatiert das Datum entsprechend der gewünschten Locale. Die aktuelle Locale muss in den Portal-Einstellungen verfügbar sein.
Snippet
Session
Session-ID
Liefert die ID der aktuellen Session.
Snippet
Sessionvariable lesen
Liefert den Wert einer Sessionvariablen.
Snippet
Sessionvariable schreiben
Liefert den Wert einer Sessionvariablen.
Snippet
Escaping
$ Dollarzeichen
Escape für Dollarzeichen
Snippet
# Nummernzeichen
Escape für Nummernzeichen
Snippet
" Anführungszeichen
Escape für Anführungszeichen
Snippet
! Ausrufezeichen
Escape für Ausrufezeichen
Snippet
\ Backslash
Escape für Backslash
Snippet
CR Wagenrücklauf
Escape für CR Wagenrücklauf
Snippet
LF Zeilenvorschub
Escape für LF Zeilenvorschub
Snippet
CRLF Zeilenumbruch
Escape für CRLF Zeilenumbruch
Snippet
TAB Tabulator
Escape für TAB Tabulator
Snippet
TextUtil
Array in String transformieren
Transformiert ein Array zu einem String mit dem default-Trenner | und 0 als escape-Zeichen. Sollen andere Trenn-und Escapezeichen verwendet werden, können diese im Funktionsaufruf übergeben werden.
Beispiel
Snippet
String in Array transformieren
Transformiert einen String zu einem Array, wenn dieser zuvor mit arrayToString(p_myArray) aus einem Array mit dem default-Trenner | und 0 als escape-Zeichen erstellt wurde.
Beispiel
Snippet
String trennen
Trennt einen String mit dem übergebenen Zeichen zu einem Array.
Beispiel
Snippet
Integer String parsen
Parst einen Integer String zu einem Integer.
Beispiel
Snippet
Double String parsen
Parst einen Double String zu einem Double.
Beispiel
Snippet
ValueHolder
ValueHolder erzeugen
Erzeugt aus dem übergebenen Objekt einen ValueHolder.
Snippet
ValueHolder mit aktuellem Datum erzeugen
Erzeugt einen ValueHolder mit dem aktuellen Datum.
Snippet
Versionierung
Semantische Versionsinformation einer Applikation anzeigen
Beispiel
Snippet
Semantische Versionsinformation eines Prozesses anzeigen
Beispiel
Snippet
Semantische Versionsinformation eines Layouts anzeigen
Beispiel
Snippet
Connector für Microsoft Exchange
Aktuelle Exchange-Verbindung
Liefert die aktuelle Exchange-Verbindung.
Snippet
Class ExchangeConnectionCallable
Ordnerinformationen
Informationen zu einem Exchange-Ordner - in diesem Beispiel dem Posteingang.
Snippet
Mailboxname des aktuellen Exchange-Benutzers
Liefert den Mailboxnamen des aktuellen Exchange-Benutzers.
Snippet
Account des aktuellen Exchange-Benutzers
Liefert den Account zur aktuellen Exchange-Verbindung.
Snippet
Abwesenheitsnachricht setzen
Schreibt den Text der Abwesenheitsnachricht und setzt den Status auf aktiv. Der Text wird sowohl als interne als auch als externe Nachricht gesetzt.
Snippet
Nachricht als gelesen markieren
Markiert eine Nachricht mit der übergebenen ID als gelesen. Beispiel (z.B. auf einer Ansichtsseite einer E-Mail): $ExchangeMessageCallable.setMessageRead($DC.getRecId())
Snippet
Anhänge einer Nachricht
Liefert die Anhänge der Nachricht mit der übergebenen ID. Beispiel (z.B. auf einer Ansichtsseite einer E-Mail): $ExchangeItemCallable.getAttachments($DC.getRecId())
Snippet
Exchange-Termin anlegen
Legt für den aktuellen Exchange-Benutzer einen neuen Termin an.
Parameter:
$startDate - Startdatum des Termins
$endDate - Enddatum des Termins
$subject - Titel des Termins
$body - Beschreibung des Termins
Werden nach dem Erstellen des Termins weitere Eigenschaften über set()-Methoden definiert, müssen abschließend mit $appointment.save() der Termin erneut gespeichert werden, um die Änderungen zu übernehmen.
Beispiel
Snippet
Class ExchangeAppointmentCallable
Exchange-Kontakt anlegen
Legt für den aktuellen Exchange-Benutzer einen neuen Kontakt an.
Parameter:
$lastName - Nachname des Kontakts
$firstName - Vorname des Kontakts
$mail - E-Mail-Adresse des Kontakts
$mailbox - Mailbox des Benutzers, zu dem der Kontakt angelegt werden soll.
Wird null angegeben, wird die Mailbox des aktuellen Benutzers verwendet.
Werden nach dem Erstellen des Kontakts weitere Eigenschaften über set()-Methoden definiert, muss abschließend mit $contact.save() der Termin erneut gespeichert werden, um die Änderungen zu übernehmen.
Beispiel
Snippet
Exchange-E-Mail generieren und versenden
Generiert eine neue Email für den aktuellen Exchange-Benutzer.
Parameter:
$from - Absenderadresse
$to - Empfängeradresse
$subject - Betreff
$body - Nachrichtentext
Werden nach dem Erstellen der E-Mail weitere Eigenschaften über set()-Methoden definiert, muss abschließend der Entwurf mit $message.save() erneut gespeichert werden, um die Änderungen zu übernehmen.
Beispiel
Snippet
Exchange-Notiz anlegen
Legt für den aktuellen Exchange-Benutzer eine neue Notiz an.
Parameter:
$text - Text der Notiz
$mailBox - Name der Mailbox, in der die Notiz angelegt werden soll. Wird null angegeben, wird die Mailbox des aktuellen Benutzers verwendet.
Beispiel
Snippet
Exchange-Aufgabe anlegen
Legt für den aktuellen Exchange-Benutzer eine neue Aufgabe an.
Parameter:
$start - Startdatum der Aufgabe
$due - Fälligkeitsdatum der Aufgabe
$subject - Titel der Aufgabe
$mailBox - Name der Mailbox, in der die Aufgabe angelegt werden soll. Wird null angegeben, wird die Mailbox des aktuellen Benutzers verwendet.
Beispiel
Snippet
If Else
Grundgerüst für eine "if else"-Bedingung.
Snippet
For each-Schleife
Grundgerüst einer foreach Schleife.
Snippet
Variable definieren
Beispiel
Snippet
Variable in lokalem Format ausgeben
Zeigt eine Variable im lokalen Format des Portals an. Die Variable muss in einem Valueholder gespeichert sein. Als RENDERING_TYPE können folgende Typen angegeben werden: integer, datetime, date, time, currency, number, boolean, author.
Beispiel
Snippet
Requestparameter lesen
Auslesen eines Requestparameters.
Snippet
Requestparameter schreiben
Schreiben eines Requestparameters.
Snippet
Alle Datengruppen einer Applikation
Gibt die Namen aller Datengruppen der Applikation mit der angegebenen GUID aus.
Snippet
Dynamisches Ermitteln eines Tabellennamens per Sysident
Um den Tabellennamen per Sysident zu ermitteln, muss in den Datengruppeneigenschaften das Expert-Attribut sysident definiert sein. Bei der Angabe des Sysident-Wertes muss die Groß-/Kleinschreibung beachtet werden.
Beispiel
Snippet
Aktuelles Datum mit der Zeitzone des aktuellen Benutzers
Erzeugt ein aktuelles Datum unter Berücksichtigung der Zeitzone des aktuellen Benutzers.
Snippet
Aufbau einer JSON-Antwort
Erzeugt eine JSON-Antwort.
Snippet
GUID erzeugen
Erzeugt eine neue GUID
Snippet