Velocity
Velocity is a template language whose purpose is to generate content. This means: HTML, XML, JSON - or whatever format is needed - is enriched with data from the database, calculations or other data sources. This can be either to exchange data in a certain format or simply to display this content in the browser. Java objects, which Intrexx provides, are used to determine the data. However, it is also possible to include objects from your own Java classes. The API provides a number of access methods to important Intrexx functionalities and objects.
Click here for general information about scripting in Intrexx.
Intrexx Standard Library
In the Velocity script editor, you can access the Intrexx Standard Library on the libraries tab. If you select an entry in the library, you can access these buttons at the bottom right of this area:
Show description
Shows the description of the currently selected function with an example script.
Open link
Links to the corresponding page that provides more information. The page that opens also shows the classes, interfaces, methods or properties that the currently selected function can be used for. This opens the exact page with the classes, interfaces, methods or properties that you can use for the currently selected function.
Application structure
Application info
Information about the application with the stated GUID.
Example
#set($appInfo = $RtCache.getApplication("C6F004594EEA424B2AACCD105181AD7F0660DF6D").getStartFupGuid())
Returns the GUID of the application's start page.
Snippet
$RtCache.getApplication("")
As of Intrexx 12.0.0: Interface ApplicationInfo
Data group info
Information about the data group with the stated GUID.
Example
#set($dgInfo = $RtCache.getDataGroup("93B1A993C5FCF2895C93E1B7BF3BDDC847DC2BCD").getName())
Returns the name of the data group.
Snippet
$RtCache.getDataGroup("")
As of Intrexx 12.0.0: Interface DataGroupInfo
Data field info
Information about the data field with the stated GUID.
Example
#set($fldInfo = $RtCache.getField("8E2B87AE9F9BD1FD2FE38AD6856347F3A0D358AD").getName())
Returns the name of the data field.
Snippet
$RtCache.getField("")
As of Intrexx 12.0.0: Interface FieldInfo
Page info
Information about the page with the stated GUID.
Example
#set($pageInfo = $RtCache.getPage("D867C6B9AC0D17E3F524ED5A5E164463046F8F01")isEditPage())
Returns true if the page is an edit page, otherwise returns false.
Snippet
$RtCache.getPage("")
As of Intrexx 12.0.0: Interface PageInfo
Current user
Login name of current user
Returns the login name of current user.
Snippet
$User.getLoginName()
As of Intrexx 12.0.0: As of Intrexx 12.0.0:
Email address of current user
Returns the business email address of current user.
Snippet
$User.getEmailBiz()
As of Intrexx 12.0.0: As of Intrexx 12.0.0:
Determine user memberships
Determine group memberships of the current user and execute further actions based on this.
Snippet
#set($groupGuids = ['EF16F15EDA8562E19D7CD56BF2E43001F119193C', '47DD42CF4203EFDC7B1596E0158BB5B1E810D583'])
#set($userMembership = $Portal.getOrgStructure().getMembershipSets($User))
##Returns true, if $User is member of at least one group, which is defined by its guid in $groupGuids
#if ($userMembership.intersects($groupGuids))
##Not implemented yet
#end
Class VelocityOrgStructureWrapper
As of Intrexx 12.0.0: Class VelocityOrgStructureWrapper
Objects in the Velocity context
$AccessController
Object that can be used to check access permissions to applications, data groups etc.
Snippet
$AccessController
As of Intrexx 12.0.0: Class IxAccessController
$AppUserProfile
Save data persistently per user.
Snippet
$AppUserProfile
Class VCApplicationUserProfile
As of Intrexx 12.0.0: Class VCApplicationUserProfile
$AsynchronousRequestHandler
Object for processing asynchronous requests.
Snippet
$AsynchronousRequestHandler
Class AsynchronousRequestHandlerCallable
As of Intrexx 12.0.0: Class AsynchronousRequestHandlerCallable
$BCM
Object for accessing the cache manager and the update sequence number (USN) of individual objects.
Snippet
##Gets the USN of the view page
$BCM.getUsn("viewpage971CA7D9")
As of Intrexx 12.0.0: Class BrowserCacheManager
Binding
Access to all bindings that are available at the time of access.
System data groups
$Binding.getValue("systemDataGroup.dataField['SYSDGFIELD_GUID']", "defaultvalue").asString()
Example
$Binding.getValue("systemDataGroup['APP_GUID'].dataField['SYSDGFIELD_GUID']", "defaultvalue").asString()
You can also access system data groups from other applications. You can also access system data groups from other applications. Enter the GUID of the APP after "systemDataGroup":
Value from tables
$Binding.getValue("dataRange['<GUID of tablerecords>'].row['0'].control['<GUID of column / control>']")
Access values of a table - not possible with calculated values, multiple selection, dynamic view.
The script example returns an IIxValue.
Use the GUID of the table records. The GUID can be determined when all elements of the table are displayed in the application structure. This can be done via the main menu "Edit" if the table is selected in the table is selected in the application structure.
$Binding.getValue("dataRange['<GUID of tablerecords>'].row['0'].control['<GUID of column / control>']").asString()
Returns an unformatted string.
$Renderer.renderDateTime($Binding.getValue("dataRange['<GUID of tablerecords>'].row['1'].control['<GUID of column / control>']").asValueHolder())
Renders a date as string.
dataRange['<name of tablerecords>'].row['0'].control['<Name of column / control>']
Values can also be determined via the name of the tablerecords / the table column.
dataRange['<name of tablerecords>'].count
Returns the number of visible data records of the table.
dataRange['<name of tablerecords>'].totalCount
Returns the number of filtered data records in the table.
dataRange['<name of tablerecords>'].row['0'].primaryKey
Returns the primary key / the record id of the data record.
Snippet
$Binding
As of Intrexx 12.0.0: Class IIxValue
$Browser
Object for requesting browser information.
Snippet
##Gets the user agent string of the calling browser
$Browser.getUserAgentId()
As of Intrexx 12.0.0: Class BrowserCallable
$CalcUtil
Introduction
In the following, the Velocity context object "$CalcUtil" for calculating values will be presented and explained using code examples.
With the function calculate(), complex calculation and comparison operations can be performed.
The '( )' brackets can be used to structure the operation. The values for the calculation and comparison operations being performed can be read from data fields, sessions, requests, table cells or SharedStates.
Operators
The following operators are available in a calculation formula:
-
+ (Addition)
-
- (Subtraction)
-
* (Multiplication)
-
/ (Division)
-
< (Comparison: Smaller than)
-
> (Comparison: Greater than)
-
<= (Comparison: Smaller than or equal to)
-
>= (Comparison: Greater than or equal to)
-
== (Comparison: Equal)
-
!= (Comparison: Unequal)
-
&& (Logical connection: And)
-
|| (Logical connection: Or)
-
! (Logial operator: Not)
Other type categories and methods
In addition to the operators described above, there are additional options to call certain variables or methods in formulae:
Method |
Description |
Example |
---|---|---|
datafield |
Value from a data field |
datafield("C68F6...D3DE7") |
datafieldAsNumber |
Value from a data field as a number |
datafieldAsNumber("C68F6...D3DE7") |
session |
Value from an existing session of the currently logged-in user as a number |
session("sessionValue") |
sessionAsNumber |
Value from an existing session of the currently logged-in user as a number |
sessionAsNumber("sessionValue") |
sharedState |
Value from the current processing context as a number |
sharedState("sharedStateValue") |
sharedStateAsNumber |
Value from the current processing context as a number |
sharedStateAsNumber("sharedStateValue") |
requestAsNumber |
Value from the current request as a number |
requestAsNumber("rq_requestValue") |
abs |
Absolute value |
abs(-1) |
For the types with the suffix "AsNumber", Intrexx will attempt to cast the incoming values, provided it is technically possible. Without this cast, an exception will occur when you use string data fields, for example. The Boolean values "true" and "false" will be cast accordingly to 1 and 0, respectively. It is also possible to state a fallback as a second method parameter. This fallback is used if the first parameter is null or empty. This fallback value can also be a formula.
Snippet
//returns -1 if the access to the sharedState variable "sharedStateValue" returns null or the value is not set.
sharedState("sharedStateValue", -1)
//returns 5 if the access to the request variable "rq_custom" returns null zurückliefert or the value is not set.
requestAsNumber("rq_custom", (10/2))
//returns 0 if the data field contains null or is not set.
datafield("C68F6...D3DE7", 0)
Error handling
To catch potential errors (e.g. dividing by 0), the following methods can be used in a formula:
Method |
Description |
Example |
---|---|---|
zeroOnError |
Return of 0 in the case of error |
|
oneOnError |
Return of 1 in the case of error |
|
fallbackOnError |
Returns the fallback value in the case of error |
|
Rounding functions
Number values can be rounded in formulae. The parameter "scale" describes the number of decimal places.
Method |
Description |
---|---|
roundLong |
Accounting rounding |
roundLongHalfAwayFromZero |
corresponds to roundLong |
roundLongHalfEven |
|
roundLongHalfUp |
|
roundLongHalfDown |
|
round(scale) |
Accounting rounding on scale decimal places (roundLong corresponds to round(0)) |
roundLongHalfAwayFromZero(scale) |
corresponds to round(scale) |
roundLongHalfEven(scale) |
|
roundLongHalfUp(scale) |
|
roundLongHalfUp(scale) |
Case differentiation
Conditions in formulae can be checked in advance with case differentiation, and based on their result, certain formulae or values can be used.
case(<booleanExpression>, <formula for true>, <formula for false>)
The following rules are available for the Boolean expression:
-
null == false
-
empty == false
-
0 == false
-
false == false
-
!true == false
-
!false == true
-
1 == true
If logical operators are used for the calculation, false becomes 0 and true becomes 1. This results in the following:
5 > 0 + 0 > -1 == 2
Examples
The calculation call with the function "calculate()" on view pages always has three parameters:
-
$ProcessingContext - The current processing context. Value is always fixed.
-
The current data range - $DC for tables and view pages.
-
Formula - Any nested formula desired consisting of the above-mentioned methods and operators.
Simple addition of two values
Here is a simple example for adding values from data fields. O address a data field, you can either state its GUID or the name of the control in single quotation marks.
Example 1
## Parameters of the methode calculate():
## $ProcessingContext (Fixed value)
## $DC
## '<Name of the control of the 1st summand>'## <Operator>## '<Name of the control of the 2nd summand>'$CalcUtil.calculate($ProcessingContext, $DC, 'dataField("integervcontrol1") + dataField("integervcontrol2")')
##Same example, but here the GUID of the data field instead of the control is used
$CalcUtil.calculate($ProcessingContext, $DC, 'dataField("3BB...5B3") + dataField("C95...950")')
The methods described above can be combined and nested to use values from different sources (session, request etc.).
Example 2
## Combination of data field and session value
$CalcUtil.calculate($ProcessingContext, $DC,'dataField("3BB...5B3") + session("calcutil_example")')
## Combination of data field and request value
$CalcUtil.calculate($ProcessingContext, $DC, 'dataField("floatcontrol02E5") + requestAsNumber("rq_calcUtil")')
## "Smaller" comparison of request value
#set($term = '(dataField("B5F472ED66DCA878683B52CE8F979F4F1DDA172B") * 2) + session("calcutil_value") <requestAsNumber("rq_calcUtil")')
$CalcUtil.calculate($ProcessingContext, $DC, $term)
## Case distinction of request value
#set($term = '(dataField("B5F472ED66DCA878683B52CE8F979F4F1DDA172B") * 2)')
$CalcUtil.calculate($ProcessingContext, $DC, "case(requestAsNumber('rq_calcUtil') <= 100, $term, -1)")
Aggregate functions for tables
You can also process values from table columns using "$CalcUtil". The calculation operations listed in the table below are available for this: The call of methods for tables always have two parameters:
- Table object
Access a table - either via the table name or GUID. These are not the direct name or GUID of the table control but rather the values of the attribute "tablerecords" for view tables and "shapedtablebase" for free layout tables. To identify the values, select Edit menu / Show elements, while the page with the table is selected in the application structure. Then navigate through the structure of the desired table. You will find the entry "tablerecords" or "shapedtablebase", respectively. You can determine the name and GUID of the entry in the respective Details dialog.
- Formula
Formula with any number of levels. Access column values with row(<column name>) or rowAsNumber(<column name>).
Example 1
$CalcUtil.calculate($ProcessingContext, $DC, 'sum(table("8E9...1B3"), row("integervcontrol3621234C"))')
$CalcUtil.calculate($ProcessingContext, $DC, 'sum(table("8E9...1B3"), row("integervcontrol3621234C"))')
The values are calculated when the page is opened. If the table has a navigation element and this is used, the values of the Velocity statements and calculations are not updated because they the table is reloaded dynamically via AJAX. If you want to perform table calculations after navigation within the table, the corresponding VTL Include (or VM) need to also be reloaded via AJAX. As a workaround, we recommend creating the table to be calculated in such a way that navigation is not required.
Method |
Description |
---|---|
sum |
Calculates the sum of the column values from the data that is displayed on the current page. |
min |
Calculates the minimum of the column values from the data that is displayed on the current page. |
max |
Calculates the maximum of the column values from the data that is displayed on the current page. |
count |
Calculates the number of data records shown on the current page. |
Please note that the total methods are computation-intensive operations. If you have a large amount of data, you may encounter corresponding delays.
Method |
Description |
---|---|
totalSum |
Calculates the sum of the column values of all data records. |
totalMin |
Calculates the minimum of the column values of all data records. |
totalMax |
Calculates the maximum of the column values of all data records. |
totalCount |
Calculates the number of all data records. |
Please note: If the table does contains no data records, the methods mentioned above return the number 0 as the return value.
Example 2
## Example output of an info text below an article table
#set($sum = 'totalSum(table("8E9F10DCB24CBB4B27FF67A3230CE7753521E1B3"), row("integervcontrol3621234C"))')
#set($count = 'totalCount(table("8E9F10DCB24CBB4B27FF67A3230CE7753521E1B3"), row("floatvcontrol256AC41"))')
$CalcUtil.calculate($ProcessingContext, $DC, $count) items were ordered in a total value
of $CalcUtil.calculate($ProcessingContext, $DC, $sum) €
$Chat
Object for sending and receiving chat messages.
Snippet
$Chat
As of Intrexx 12.0.0: Class ChatProxy
$Codec
Object for coding and encoding strings.
Snippet
$Codec.hexEncodeString("www.intrexx.com", "UTF-8")
$Codec.hexDecodeString("7777772E696E74726578782E636F6D")
As of Intrexx 12.0.0: Class Codec
$CollectionFactory
Object for creating collections.
Snippet
$CollectionFactory.createMap()
As of Intrexx 12.0.0: Class CollectionFactory
$Constants
Object for accessing the constants of a class.
Snippet
$Constants
As of Intrexx 12.0.0: Class Constants
$Cookies
Set cookies.
Snippet
#set($cookie = $Cookies.createCookie("myCookie", "test"))
$Response.addCookie($cookie)
As of Intrexx 12.0.0: Class Cookies
$DC
There are three types of data records relevant to $DC and $drRecord:
1. Main data record
The main data record is presented on a page through simple elements, such as edit fields, checkboxes, etc.
2. Data record in a view table
The view table is a list of multiple data records. Each row is one data record in a view table.
3. Data record in a free layout table
The free layout table also presents a list of multiple data records. The main difference to a normal view table is that the free layout table uses an integrated page to present the data records and not the raw data like in a view table. Each repetition of this page is a data record in a free layout table.
Access different values with $DC and $drRecord
The use of $DC and $drRecord depends on the context and record type, respectively. If Velocity is written in the context of the main dataset, e.g. with the Static text element on the page, then $DC can be used to access data from the main dataset.
If Velocity code is written in the context of a data record in a view table, e.g. to transfer data to a JavaScript call, $DC is used to access data of the main data record and $drRecord is used to access data of the respective data record in the view table.
If Velocity code is created in the context of a data record in a free layout table, e.g. because a static text element for each data record has been added to the integrated page,
$DC.getMainPageDC()
is used to access the data of the main data record. Both $DC and $drRecord can be used to access data of the respective data record in a free layout table.
|
Access the |
Access the |
Access the |
---|---|---|---|
Velocity in the main data record |
$DC |
not possible |
not possible |
Velocity in the data record in a view table |
$DC |
$drRecord |
not possible |
Velocity in the data record in a free layout table |
$DC.getMainPageDC() |
not possible |
$DC oder $drRecord |
$Loader.getDataCollection()
Using $Loader.getDataCollection() is exactly the same as using $DC. It is just a different, longer notation. $Loader.getDataCollection() or $DC can be assigned to a new variable as needed.
It is imperative that you use a completely separate name for this new variable - under no circumstances may $DC be used as the name! $DC is a reserved keyword in Intrexx. This applies to all names of the Velocity context objects in Intrexx.
Snippet
##Returns the record ID of the current record as string
$DC.getRecId()
Interface IWebRowDataCollection
As of Intrexx 12.0.0: Interface IWebRowDataCollection
2.3.13.1 User-defined $DC in emails
Manual initialization of context object $DC (short for $Loader.getDataCollection()) for using in emails with content generated from Velocity. With <APP-GUID>, the GUID of the application, which is the source of the data records to be processed, has to be provided. The following conditions must be met:
-
Process has to be triggered by a web event
-
Data record must already exist
-
Objects (e.g. data fields), that are used in Velocity must be on the target page as a control
Snippet
#set($template = $Loader.process($ProcessingContext, "<APP_GUID>", "data"))
#set($DC = $Loader.getDataCollection())
$DC - Read value of a control
Read the value of a control (e.g. value of a view field). Use the name of the control, where the value should be read from, as the parameter. Within free layout tables, use the context object $drRecord instead of $DC.
Example
#set($value = $DC.getValueHolder('textvcontrol1234').getValue())
Snippet
#set($value = $DC.getValueHolder('<CONTROL_NAME>').getValue())
Read value from a system data group
Read a value from a system data group. The name of the data field that the value should be read from needs to be stated as a parameter. Within free layout tables, use the context object $drRecord instead of $DC.
Example
#set($value = $DC.getPropertiesVH().get("STR_COLUMN1").getValue()
Snippet
#set($value = $DC.getPropertiesVH().get("<DATAFIELD_NAME>").getValue()
$DEBUG
Object for inspecting individual objects and elements in more detail.
Snippet
##Provides detailed information about the current user object.
$DEBUG.inspect($User)
As of Intrexx 12.0.0: Class ObjectInspector
$defaultLanguage
The default language of the portal.
Snippet
$defaultLanguage
$DataTransferCallable
Object for accessing data transfer connections.
Snippet
##Returns the JobHistory of the data transfer job with the transferred GUID.
$DataTransferCallable.getJobExecutions("0460E20ACAC15EDDA0E9B62E1F815D5BFD3F9B8F")
As of Intrexx 12.0.0: Class DataTransferCallable
$DbUtil
Object for accessing database connections and managing transactions of database operations.
Snippet
#set($conn = $DbUtil.getConnection("IxSysDb"))
As of Intrexx 12.0.0: Class DatabaseUtil
$DefaultMaker
Snippet
$DefaultMaker
As of Intrexx 12.0.0: Class DefaultMaker
$DistributionControl
Object for accessing distribution controls
Snippet
$DistributionControl
As of Intrexx 12.0.0: Class VCDistributionControl
$DoubletService
Object for searching for duplicates in data records of an application.
Snippet
$DoubletService
As of Intrexx 12.0.0: Class DoubletServiceCallable
$drRecord
Object for accessing the current record in a free layout table. The description of the context object $DC provides more information.
Snippet
$drRecord
Interface IWebRowDataCollection
As of Intrexx 12.0.0: Interface IWebRowDataCollection
$DtUtil
Object for date calculations.
Snippet
$DtUtil
As of Intrexx 12.0.0: Class DateTimeUtil
$ESC
Present characters that are normally escaped in Velocity.
Snippet
##Representation of a rhombus (#)
$ESC.getH()
As of Intrexx 12.0.0: Class EscapedCharacters
$Error
Object for analyzing exceptions.
Snippet
$Error
As of Intrexx 12.0.0: Class ErrorObject
$ExceptionUtil
Object for throwing exceptions.
Snippet
$ExceptionUtil.throwException("java.io.FileNotFoundException", "Die angegebene Datei existiert nicht.")
As of Intrexx 12.0.0: Class VelocityExceptionUtil
Objects for Microsoft Exchange
These objects can only be used in conjunction with the Intrexx MediaGateway.
$ExchangeCallable
Callable for Exchange authentications.
Snippet
$ExchangeCallable.getRequiredFields().isPasswordRequired()
As of Intrexx 12.0.0: Class ExchangeCallable
$ExchangeConnectionCallable
Callable for Exchange authentications.
Snippet
$ExchangeConnectionCallable.getConnection()
Class ExchangeConnectionCallable
As of Intrexx 12.0.0: Class ExchangeConnectionCallable
$ExchangeMailboxCallable
Callable for accessing the mailbox of an Exchange user.
Snippet
##Returns the out of office message of the current Exchange user.
$ExchangeMailboxCallable.getOutOfOfficeMessage()
As of Intrexx 12.0.0: Class ExchangeMailboxCallable
$ExchangeMessageCallable
Callable for accessing message objects.
Snippet
##Saves the message with ID $strMessageId in EML format under $strDestinationPath.
$ExchangeMessageCallable.saveMessageAsEML($strMessageId, $strDestinationPath)
As of Intrexx 12.0.0: Class ExchangeMessageCallable
$ExchangeItemCallable
Callable for accessing Exchange objects.
Snippet
##Stores attachments of the element with ID $strMessageId under $strDestinationPath.
$ExchangeItemCallable.saveAttachment($strMessageId, $strDestinationPath)
As of Intrexx 12.0.0: Class ExchangeItemCallable
$ExchangeUserMailboxCallable
Callable for mailbox information of an Exchange user.
Snippet
$ExchangeUserMailboxCallable.getMailboxInfo()
Class ExchangeUserMailboxCallable
As of Intrexx 12.0.0: Class ExchangeUserMailboxCallable
$Factory
Generate or access objects such as users without them having been predefined in the Velocity context.
Snippet
$Factory
As of Intrexx 12.0.0: Class ObjectFactory
$FieldFormatter
Snippet
$FieldFormatter
As of Intrexx 12.0.0: Class FieldFormatter
$FileHelper
Object for file operations such as inserting a file into an Intrexx data group.
Snippet
##Deletes the file from the data field defined with the GUID
##and the data set defined with the RecID 1.
$FileHelper.deleteFileFromIntrexx($ProcessingContext, "079A397D11EE732857CD1017C3AC6A55D0D112DA", "1")
As of Intrexx 12.0.0: Class VCFileHelper
$FileUtil
Object for analyzing files in a folder hierarchy.
Snippet
$FileUtil
As of Intrexx 12.0.0: Class FileUtil
$Filter
Collection of diverse filters for collections used in the Velocity context.
Snippet
$Filter
As of Intrexx 12.0.0: Class Filter
$FramesetHelper
Object for creating a new URL based on the current request and a list of additional parameters.
Snippet
$FramesetHelper
As of Intrexx 12.0.0: Class FramesetHelper
$HelperFactory
Converts the characters <, >, & and " into their corresponding HTML entity.
Snippet
$HelperFactory
As of Intrexx 12.0.0: Class HelperFactory
$I18N
Object for accessing language constants.
Snippet
$I18N
Class LanguageConstantsCallable
As of Intrexx 12.0.0: Class LanguageConstantsCallable
$JSON
Auxiliary functions for creating and working with JSON objects.
Snippet
$JSON
As of Intrexx 12.0.0: Class JSONUtil
$lang
Current portal language.
Snippet
$lang
$layout
Name of the current layout.
Snippet
$layout
$LayoutManager
Access layout information.
Snippet
$LayoutManager
As of Intrexx 12.0.0: Class LayoutManagerCallable
$ListBoxControl
Object for accessing drop-down lists.
Snippet
$ListBoxControl
As of Intrexx 12.0.0: Class VCListBoxControl
$ListFormatter
Auxiliary functions for formatting lists.
Snippet
$ListFormatter
As of Intrexx 12.0.0: Class ListFormatter
$Loader
Processes incoming requests. You can, for example, access the current database connection via the $Loader.
Snippet
$Loader
As of Intrexx 12.0.0: Class BuslogicCaller
$Locales
Access regional settings for number and date values.
Snippet
$Locales
As of Intrexx 12.0.0: Class VCLocales
$LogAnalyzer
Object for generating application, user and statistic reports.
Snippet
$LogAnalyzer
As of Intrexx 12.0.0: Class LogAnalyzer
$MBGallery
Object for processing and copying/moving/deleting images.
Snippet
$MBGallery
As of Intrexx 12.0.0: Class Gallery
$Math
Object for diverse arithmetical operations.
Snippet
$Math
As of Intrexx 12.0.0: Class MathUtil
$Menu
Object for accessing the menu structure.
Snippet
$Menu
As of Intrexx 12.0.0: Class MenuCallable
$MenuCloud
Object for accessing a menu cloud.
Snippet
$MenuCloud
As of Intrexx 12.0.0: Class MenuCloud
$ObjectHelper
Object for null objects and ValueHolders.
Snippet
$ObjectHelper
As of Intrexx 12.0.0: Class ObjectHelper
$PageUtil
Object for accessing controls and data on the view page of a data record.
Snippet
#set($renderer = $RendererFactory.getDefaultRenderingContext($ProcessingContext, $User, $lang))
#set($page = $PageUtil.process($RenderingContext, $ProcessingContext, $Request.get("rq_AppGuid"), $DC))
The rendering and processing context as well as the GUID of the current application and a DataCollection are required for initialization.
Example
$page.getControlNames()
## Sample output
## [textvcontrol60C5B1A8, datetimevcontrol88EFC15D, checkvcontrol68B97F7C, integervcontrolE018B980]
$page.getControlGuids()
## Sample output
## [4A21CF034953825EE93093E0C8E51C959D193C5F, 4B953139D2E394C42BD20919A2C1CA757EC10A1A]
The variable "$page" can be used to access controls and data fields on the page.
As of Intrexx 12.0.0: Class PageUtil
$Parameter
Object for accessing parameters.
Snippet
$Parameter
As of Intrexx 12.0.0: Class VCParameter
$PolicyBrowserFactory
Provides access to objects that can be used to read permissions of users, sets or containers.
Snippet
$PolicyBrowserFactory
As of Intrexx 12.0.0: Class Factory
$PollHelper
Object for requesting poll properties.
Snippet
$PollHelper
As of Intrexx 12.0.0: Class PollCallable
$Portal
Object for accessing portal properties (e.g. name).
Snippet
$Portal
As of Intrexx 12.0.0: Class Portal
$Portal - Access the organizational structure
Object for accessing the organizational structure of the portal.
Snippet
$Portal.getOrgStructure()
Class VelocityOrgStructureWrapper
As of Intrexx 12.0.0: Class VelocityOrgStructureWrapper
$PreparedQuery
Object for creating and performing database requests.
Snippet
$PreparedQuery
As of Intrexx 12.0.0: Class DbQuery
$ProcessingContext
Object of the current processing context.
Snippet
$ProcessingContext
Class BusinessLogicProcessingContext
As of Intrexx 12.0.0: Class BusinessLogicProcessingContext
Class BusinessLogicProcessingContext
Object for creating a new xsd:QName namespace.
Snippet
$QNameFactory
As of Intrexx 12.0.0: Class QNameFactory
$Renderer
Object for creating diverse renderers.
Snippet
$Renderer
Class StandardUtilRendererFactory
As of Intrexx 12.0.0: Class StandardUtilRendererFactory
$RenderingContext
Object for accessing the current, default portal rendering settings.
Snippet
$RenderingContext
As of Intrexx 12.0.0: Class RenderingContext
$Request
Object for setting and reading request variables.
Snippet
$Request
As of Intrexx 12.0.0: Class IServerBridgeRequest
$Response
Object for setting and reading properties of an HTTP response.
Snippet
$Response
As of Intrexx 12.0.0: Class HttpResponseWrapper
$RtCache
Runtime cache object with information about applications, data groups etc.
Snippet
$RtCache
As of Intrexx 12.0.0: Class VelocityRtCache
$SaucMenu
Objects for setting menu permissions in the web CMS.
Snippet
$SaucMenu
As of Intrexx 12.0.0: Class SaucMenuPermission
$SearchUtil
Object for search queries.
Snippet
$SearchUtil
As of Intrexx 12.0.0: Class SearchUtil
$Session
Access the session of the current user.
Snippet
$Session
As of Intrexx 12.0.0: Class Session
$SettingsHelper
Object for reading settings.
Snippet
$SettingsHelper
As of Intrexx 12.0.0: Class VCSettingsHelper
$SharedState
Set and read user-defined values in the processing context. Read a value from the processing context:
Example 1
$SharedState.get("meineVariable")
Write a value to the processing context:
Example 2
$SharedState.putAt("meineVariable", "meinWert")
Snippet
$SharedState.get("<paramName>")
$SharedState.putAt("<paramName>", "<paramValue>")
As of Intrexx 12.0.0: Class SharedState
$Sort
Auxiliary object for sorting lists.
Snippet
$Sort
As of Intrexx 12.0.0: Class Sort
$SourcePage
Returns, for example, the GUID, application GUID or RecID of the page that sends parameters.
Snippet
$SourcePage
As of Intrexx 12.0.0: Class VCSourcePage
$TextUtil
Auxiliary object for different types of string manipulations.
Snippet
$TextUtil
As of Intrexx 12.0.0: Class TextUtil
$TickerMan
Object for accessing the RSS provider.
Snippet
$TickerMan
As of Intrexx 12.0.0: Class TickerManager
$Unique
Object for generating unique variables.
Snippet
$Unique
As of Intrexx 12.0.0: Class Unique
$UrlBuilder
Object for creating URLS. Methods to generate URLs:
-
createBaseUrl
-
createAbsoluteBaseUrl
-
createAbsoluteRequestBaseDirectoryUrl
-
createWebSocketBaseUrl
-
parseUrl
All other methods for generating URLs are deprecated:
-
createDefaultUrl
-
createAbsoluteBaseDirectoryUrl
-
createRequestBaseDirectoryUrl
createBaseUrl
Always creates the relative base URL.
createAbsoluteBaseUrl
Creates the absolute base URL ending with a slash. The base URL configured in the portal is usually used for this purpose.
If no base URL is configured, this URL is constructed from the server variables SCHEME, SERVER_NAME and SERVER_PORT.
createAbsoluteRequestBaseDirectoryUrl
Creates an absolute URL. Its path section is equal to the path from the request URI, without the document section. The document portion is the rightmost path section that is not followed by a slash. The query string is discarded.
Example:
$UrlBuilder.createAbsoluteRequestBaseDirectoryUrl($Request) returns https://example.org/dir1/dir2/ for the request https://example.org/dir1/dir2/foo.vm.
$UrlBuilder.createAbsoluteRequestBaseDirectoryUrl($Request) returns https://example.org/dir1/dir2/ for the request https://example.org/dir1/dir2/.
parseUrl
Parses the specified URL and returns a corresponding URL object.
Snippet
$UrlBuilder
As of Intrexx 12.0.0: Class UrlBuilder
$User
Object for accessing information of the current user.
Snippet
$User
As of Intrexx 12.0.0: Class User
$VDiff
Object for displaying diffs of wiki entries.
Snippet
$VDiff
As of Intrexx 12.0.0: Class VDiff
$VH
Object for creating ValueHolders.
Snippet
$VH
As of Intrexx 12.0.0: Class ValueHolderFactory
$VHHelper
Auxiliary class for reading values in ValueHolders.
Snippet
$VHHelper
As of Intrexx 12.0.0: Class VCValueHolderHelper
$VelocityContext
Snippet
$VelocityContext
As of Intrexx 12.0.0: Class VelocityUtil
$VelocityUtil
Snippet
$VelocityUtil
As of Intrexx 12.0.0: Class VelocityUtil
$Wiki
Snippet
$Wiki
As of Intrexx 12.0.0: Class WikiRenderer
$Zebra
The Zebra callable makes it easier to output two alternating character strings.
Example
#set($zebra = $Zebra.createZebra("black", "white"))
$zebra.getStripe()
$zebra.getStripe()
$zebra.getStripe()
$zebra.getStripe()
$zebra.getSameStripe()
returns
black
white
black
white
white
Snippet
$Zebra
As of Intrexx 12.0.0: Class Zebra
As of Intrexx 12.0.0: Class ZebraFactory
Databases
Current database connection
Gets the current system connection to the database.
Snippet
$DbConnection
Access an external data connection.
Access an external data connection.
Snippet
$DbUtil.getConnection("connectionName")
Get all column names of a data group
Returns a list of column names from the data group with the stated GUID.
Snippet
#set($fields = $RtCache.getFields())
#set($columnNames = [])
#foreach($field in $fields)
#if($field.getDataGroupGuid() == "<DG_GUID>")
#set($bResult = $columnNames.add($field.getColumnName()))
#end
#end
Prepared statement with SELECT
Executes a SELECT query on a database table.
Snippet
#set($statement = $PreparedQuery.prepare($DbConnection, "SELECT <COLUMNS> FROM DATAGROUP('<DATAGROUP_GUID>') WHERE <CONDITION>"))
##$statement.setString(1, "Example text")
##$statement.setInt(2, 123)
##$statement.setBoolean(3, true)
#set($rs = $statement.executeQuery())
#foreach($element in $rs)
##$element.getIntValue(1)
##$element.getStringValue(2)
##$element.getBooleanValue(3)
##$element.getTimestampValue(4)
#end
$rs.close()
$statement.close()
As of Intrexx 12.0.0: Class DbPreparedStatement
Prepared statement with INSERT
Executes an INSERT query on a database table.
Snippet
#set($conn = $DbConnection)
#set($statement = $PreparedQuery.prepare($conn, "INSERT INTO DATAGROUP('<DATAGROUP_GUID>') (<COLUMNS>) VALUES ()"))
$DbUtil.transactionEnlistResource($conn)
##$statement.setString(1, "Example text")
##$statement.setInt(2, 123)
##$statement.setBoolean(3, true)
##$statement.setTimestamp(4, $DtUtil.utcNow())
$statement.executeUpdate()
$statement.close()
As of Intrexx 12.0.0: Class DbPreparedStatement
Prepared statement with UPDATE
Executes an UPDATE query on a database table.
Snippet
#set($l_conn = $DbConnection)
#set($statement = $PreparedQuery.prepare($l_conn, "UPDATE DATAGROUP('<DATAGROUP_GUID>') SET <COLUMN> = ? WHERE <CONDITION>"))
$DbUtil.transactionEnlistResource($l_conn)
##$statement.setString(1, "strValue")
##$statement.setInt(2, 123)
##$statement.setBoolean(3, true)
##$statement.setTimestamp(4, $DtUtil.utcNow())
$statement.executeUpdate()
$statement.close()
As of Intrexx 12.0.0: Class DbPreparedStatement
Prepared statement with DELETE
Executes an DELETE query on a database table.
Snippet
#set($conn = $DbConnection)
#set($statement = $PreparedQuery.prepare($conn, "DELETE FROM DATAGROUP('<DATAGROUP_GUID>') WHERE <CONDITION>"))
$DbUtil.transactionEnlistResource($conn)
##$statement.setString(1, "Example text")
##$statement.setInt(2, 123)
##$statement.setBoolean(3, true)
##$statement.setTimestamp(4, $DtUtil.utcNow())
$statement.executeUpdate()
$statement.close()
As of Intrexx 12.0.0: Class DbPreparedStatement
Read a single value using a prepared database query (with fallback)
Reads a single value from a database query. If the result set is empty, or the value is null, the fallbackValue is returned. If the return data type should be defined more precisely, typed method calls such as executeAndGetScalarBooleanValue(...) can be used.
Snippet
#set($statement = $PreparedQuery.prepare($DbConnection, "SELECT <COLUMN> FROM DATAGROUP('<DATAGROUP_GUID>') WHERE <CONDITION>"))
##$statement.setString(1, "Example text")
##$statement.setInt(2, 123)
##$statement.setBoolean(3, true)
#set($result = $statement.executeAndGetScalarValue(<FALLBACK_VALUE>))
$statement.close()
As of Intrexx 12.0.0: Class DbPreparedStatement
Determine the database type
Gets the database type of the system connection. Compare the database type with following identifiers:
-
Generic 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")
Unsupported system databases:
-
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
#set($strType = $DbConnection.getDescriptor().getDatabaseType())
#if($strType.contains("<DATABASE_IDENTIFIER>"))
#end
As of Intrexx 12.0.0: Class DbPreparedStatement
Timestamp for system values
This variable contains the timestamp of the current transaction and remains unmodified until the end of this transaction.
Snippet
$CURRENT_TIMESTAMP
Debugging
Inspect an object
Inspects an object.
Snippet
$DEBUG.inspect()
As of Intrexx 12.0.0: Class ObjectInspector
Write info to log file
Writes an INFO entry to the log file that belongs to the execution context of the script.
Snippet
$DEBUG.info()
As of Intrexx 12.0.0: Class ObjectInspector
Write warning to log file
Writes a WARN entry to the log file that belongs to the execution context of the script.
Snippet
$DEBUG.warn()
As of Intrexx 12.0.0: Class ObjectInspector
Write error to log file
Writes an ERROR entry to the log file that belongs to the execution context of the script.
Snippet
$DEBUG.error()
As of Intrexx 12.0.0: Class ObjectInspector
Stopwatch - Start
Starts the stopwatch.
Snippet
${DEBUG.builtinStopwatch.start()}
As of Intrexx 12.0.0: Class ObjectInspector
Stopwatch - Take split time
Takes the split time of the stopwatch.
Snippet
${DEBUG.builtinStopwatch.stop()}
As of Intrexx 12.0.0: Class ObjectInspector
Stopwatch - Restart
Restarts the stopwatch.
Snippet
${DEBUG.builtinStopwatch.restart()}
As of Intrexx 12.0.0: Class ObjectInspector
Portal data
Portal name
Returns the name of the current portal as a string.
Snippet
$Portal.getPortalName()
As of Intrexx 12.0.0: Class Portal
Time zone
Gets the portal's default time zone.
Snippet
$Portal.getTimeZone()
As of Intrexx 12.0.0: Class Portal
Users online
Returns a list of GUIDs of all logged-in users of the current portal. The parameter true/false defines whether anonymous users are included in the result list.
Example
Also returns anonymous users
$Portal.getUsersOnline(true)
Snippet
$Portal.getUsersOnline(bIncludeAnonymousUsers)
As of Intrexx 12.0.0: Class Portal
Active sessions
Gets the number of active portal sessions.
Snippet
$Portal.getActiveSessionCount()
As of Intrexx 12.0.0: Class Portal
Calculate
Add
Adds two integer, float or double values.
Snippet
$Math.add($value1, $value2)
As of Intrexx 12.0.0: Class MathUtil
Subtract
Subtracts two integer, float or double values.
Snippet
$Math.sub($value1, $value2)
As of Intrexx 12.0.0: Class MathUtil
Multiply
Multiplies two integer, float or double values.
Snippet
$Math.mult($value1, $value2)
As of Intrexx 12.0.0: Class MathUtil
Divide
Divides two double values.
Snippet
$Math.div($value1, $value2)
As of Intrexx 12.0.0: Class MathUtil
Maximum
Calculates the maximum of two values.
Snippet
$Math.max($value1, $value2)
As of Intrexx 12.0.0: Class MathUtil
Minimum
Calculates the minimum of two values.
Snippet
$Math.min($value1, $value2)
As of Intrexx 12.0.0: Class MathUtil
Renderer
Current date
Creates and formats a date according to the specified portal settings.
Snippet
$DefaultDateTimeRenderer.writeOutput($Response.getWriter(), $DtUtil.now($User.getTimeZone()))
Current date in user-defined format
Creates and formats a date according to a user-defined renderer. Output in this example (last value denotes the calendar week): 21.09.2009 12:14:35 39
Snippet
#set($dateTimeRenderer = $RendererFactory.createDateTimeRendererWithParameters($RenderingContext, false, false, null, "dd.MM.yyyy HH.mm.ss CW", "", null))
$dateTimeRenderer.writeOutput($Response.getWriter(), $DtUtil.now($User.getTimeZone()))
Rendering context
Access the current rendering context.
Snippet
$RenderingContext
As of Intrexx 12.0.0: Class RenderingContext
Date
Localize date
Creates and formats a date according to the specified location. The specified location needs to be defined as a portal language in the portal properties.
Snippet
$DtUtil.now($User.getTimeZone()).format($Locales.getLocale("en-US").getDateFormat())
Session
Session ID
Returns the ID of the current session.
Snippet
$Session.getId()
As of Intrexx 12.0.0: Class Session
Read session variable
Writes a session variable.
Snippet
$Session.get(strSessionVar)
As of Intrexx 12.0.0: Class Session
Write session variable
Writes a session variable.
Snippet
$Session.put(strSessionVar, strValue)
As of Intrexx 12.0.0: Class Session
Escaping
$ Dollar sign
Escape for dollar sign.
Snippet
${ESC.D}
As of Intrexx 12.0.0: Class EscapedCharacters
# Number sign; hash
Escape for hash sign.
Snippet
${ESC.H}
As of Intrexx 12.0.0: Class EscapedCharacters
" Quotation mark
Escape for quotation mark.
Snippet
${ESC.QUOT}
As of Intrexx 12.0.0: Class EscapedCharacters
! Exclamation mark
Escape for exclamation mark.
Snippet
${ESC.EXCL}
As of Intrexx 12.0.0: Class EscapedCharacters
\ Backslash
Escape for backslash
Snippet
${ESC.BSL}
As of Intrexx 12.0.0: Class EscapedCharacters
CR Carriage return
Escape for CR carriage return.
Snippet
${ESC.CR}
As of Intrexx 12.0.0: Class EscapedCharacters
LF Line feed
Escape for LF line feed.
Snippet
${ESC.CR}
As of Intrexx 12.0.0: Class EscapedCharacters
CRLF Line break
Escape for CRLF line break.
Snippet
${ESC.CR}
As of Intrexx 12.0.0: Class EscapedCharacters
TAB horizontal tabulation
Escape for TAB horizontal tabulation.
Snippet
${ESC.TAB}
As of Intrexx 12.0.0: Class EscapedCharacters
TextUtil
Convert an array into a string
Converts an array list into a string, using the default delimiter | and escape character 0. To use different delimiter and escape characters, call the function with additional parameters.
Example
//Uses default separator and escape characters.
$TextUtil.arrayToString(p_array)
//Userdefined separator and escape characters.
$TextUtil.arrayToString(p_array, "$", "!")
Snippet
$TextUtil.arrayToString()
As of Intrexx 12.0.0: Class TextUtil
Convert a string into an array
Converts a string into an array, if the string was previously created using arrayToString(p_myArray) with default delimiter (|) and escape character (0).
Example
$TextUtil.stringToArray(p_string)
Snippet
$TextUtil.stringToArray()
As of Intrexx 12.0.0: Class TextUtil
Split a string
Splits a string to an array using the stated separator.
Example
$TextUtil.split(p_string, "$")
Snippet
$TextUtil.split(p_string, p_delimiter)
As of Intrexx 12.0.0: Class TextUtil
Parse an integer string
Parses an integer string to an integer.
Example
$TextUtil.parseInt("1234")
Snippet
$TextUtil.parseInt()
As of Intrexx 12.0.0: Class TextUtil
Parse a double string
Parses a double string to a double.
Example
$TextUtil.parseDouble("1234.56")
Snippet
$TextUtil.parseDouble()
As of Intrexx 12.0.0: Class TextUtil
ValueHolder
Create a ValueHolder
Creates a ValueHolder from the given object.
Snippet
$VH.getValueHolder($object)
As of Intrexx 12.0.0: Class ValueHolderFactory
Create a ValueHolder with the current date
Creates a ValueHolder with the current date.
Snippet
$VH.getNowValueHolder()
As of Intrexx 12.0.0: Class ValueHolderFactory
Versioning
Display semantic version information of an application
Example
#set ($version = $Portal.getApplicationVersionInformation("8D3B7A6462649864241A4534FD48364AF378218A").getCurrentVersion())
$version.getFormattedVersion()
$version.getDescriptions().get("de")
$version.getMajorVersion()
$version.getMinorVersion()
$version.getPatchVersion()
$version.getPreReleaseVersion()
$version.getCustomVersion()
$version.getDate()
$version.getMinProductVersion()
$version.getAdditionalRequirements().get("de")
Snippet
$Portal.getApplicationVersionInformation("")
As of Intrexx 12.0.0: Class Portal
Display semantic version information of a process
Example
#set ($version = $Portal.getWorkflowVersionInformation("B239068CECAA616964F71825C2CB9DB74DBB1BBA").getCurrentVersion())
$version.getFormattedVersion()
$version.getDescriptions().get("de")
$version.getMajorVersion()
$version.getMinorVersion()
$version.getPatchVersion()
$version.getPreReleaseVersion()
$version.getCustomVersion()
$version.getDate()
$version.getMinProductVersion()
$version.getAdditionalRequirements().get("de")
Snippet
$Portal.getWorkflowVersionInformation("")
As of Intrexx 12.0.0: Class Portal
Display semantic version information of a layout
Example
#set ($version = $Portal.getLayoutVersionInformation("Beispiellayout").getCurrentVersion())
$version.getFormattedVersion()
$version.getDescriptions().get("de")
$version.getMajorVersion()
$version.getMinorVersion()
$version.getPatchVersion()
$version.getPreReleaseVersion()
$version.getCustomVersion()
$version.getDate()
$version.getMinProductVersion()
$version.getAdditionalRequirements().get("de")
Snippet
$Portal.getLayoutVersionInformation("")
As of Intrexx 12.0.0: Class Portal
Connector for Microsoft Exchange
Current Exchange connection
Returns information about an Exchange folder (the inbox folder in this example)
Snippet
#set($conn = $ExchangeConnectionCallable.getConnection())
Class ExchangeConnectionCallable
As of Intrexx 12.0.0: Class ExchangeConnectionCallable
Folder information
Returns information about an Exchange folder (the inbox folder in this example)
Snippet
#set($inbox = $ExchangeMailboxCallable.getInboxFolderHref($strMailboxName))
$ExchangeMailboxCallable.getFolderInfoByHref($inbox)
As of Intrexx 12.0.0: Class ExchangeMailboxCallable
Mailbox name of the current Exchange user
Returns the mailbox name of the current Exchange user.
Snippet
#set($strMailboxName = $ExchangeUserMailboxCallable.getMailboxInfo().getMailboxName())
As of Intrexx 12.0.0: Class ExchangeUserMailboxInfo
Account of the current Exchange user
Returns the account connected to the current Exchange connection.
Snippet
#set($account = $ExchangeUserMailboxCallable.getMailboxInfo().getUserAccount())
As of Intrexx 12.0.0: Class ExchangeAccount
Set the out of office message
Writes the out of office message and sets its status to active. The text is set for internal and external out of office messages.
Snippet
#set($strMessage = "Out of office till 2010/12/31")
$ExchangeMailboxCallable.setOutOfOfficeMessage($strMessage)
$ExchangeMailboxCallable.setOutOfOffice(true)
As of Intrexx 12.0.0: Class ExchangeMailboxCallable
Mark a messsage as read
Marks the message with the stated ID as read. Example (on an email view page)
Snippet
$ExchangeMessageCallable.setMessageRead($messageId)
As of Intrexx 12.0.0: Class ExchangeMessageCallable
Message attachments
Returns the attachments of the mail with the stated ID. Example (on an email view page):$ExchangeItemCallable.getAttachments($DC.getRecId())
Snippet
$ExchangeItemCallable.getAttachments($messageId)
As of Intrexx 12.0.0: Class ExchangeItemCallable
Create an Exchange appointment
Creates an appointment for the current user.
Parameters:
$startDate - Start date of the appointment
$endDate - End date of the appointment
$subject - Subject of the appointment
$body - Description of the appointment
If additional properties are set or updated with set()-methods after creating the appointment, they have to be saved with $appointment.save() afterwards.
Example
#set($appointment = $ExchangeAppointmentCallable.createNewAppointment($startDate, $endDate, $subject, $body))
$appointment.setLocation("Konferenzraum")
$appointment.save()
Snippet
#set($appointment = $ExchangeAppointmentCallable.createNewAppointment($startDate, $endDate, $subject, $body))
Class ExchangeAppointmentCallable
As of Intrexx 12.0.0: Class ExchangeAppointmentCallable
Create an Exchange contact
Creates a new contact for the current user.
Parameters:
$lastName - Last name of the contact
$firstName - First name of the contact
$mail - Email address of the contact
$mailbox - The user's mailbox that the contact should be added to. If null, the current user's mailbox is used.
If additional properties are set or updated with set()-methods after creating the contact, they have to be saved with $contact.save() afterwards.
Example
#set($contact = $ExchangeContactCallable.createNewContact($lastName, $firstName, $mail, $mailbox))
$contact.setJobTitle("Developer")
$contact.save()
Snippet
#set($contact = $ExchangeContactCallable.createNewContact($lastName, $firstName, $mail, $mailbox))
As of Intrexx 12.0.0: Class ExchangeContactCallable
Create and end Exchange email
Creates a new email for the current Exchange user.
Parameters:
$from - Sender address
$to - Recipient address
$subject - Subject text
$body - Message text
Onal properties are set or updated with set()-methods after creating the message, they have to be saved with $message.save() afterwards.
Example
#set($message = $ExchangeMessageCallable.createNewDraft(strSender, strRecipient, strSubject, strBody))
$message.setCc("cc_recipient@example.org")
$message.save()
$message.send()
Snippet
#set($message = $ExchangeMessageCallable.createNewDraft(strSender, strRecipient, strSubject, strBody))
As of Intrexx 12.0.0: Class ExchangeMessageCallable
Create an Exchange note
Creates a note for the current user.
Parameters:
$text - Text of the note
$mailbox - The user's mailbox that the note should be added to. If null, the current user's mailbox is used.
Example
#set($note = $ExchangeNoteCallable.createNewNote("My note", null))
Snippet
#set($note = ExchangeNoteCallable.createNewNote($text, $mailbox))
As of Intrexx 12.0.0: Class ExchangeNoteCallable
Create an Exchange task
Creates a task for the current user.
Parameters:
$start - The tasks start date
$due - The tasks due date
$subject - The tasks subject
$mailbox - The user's mailbox that the task should be added to. If null, the current user's mailbox is used.
Example
#set($task = $ExchangeTaskCallable.createNewTask(${cursor}dtStart, dtDue, "Task subject", null))
$task.setPercentComplete(25.0)
$task.save()
Snippet
#set($task = $ExchangeTaskCallable.createNewTask(dtStart, dtDue, "Task subject", null))
As of Intrexx 12.0.0: Class ExchangeTaskCallable
If Else
Basic framework for an "if else" condition.
Snippet
#if(condition1)
##code for condition1
#elseif(condition2)
##code for condition2
#else
##code if no condition matches
#end
As of Intrexx 12.0.0: Velocity overview
For each loop
Foreach loop code snippet.
Snippet
#foreach($element in )
#end
As of Intrexx 12.0.0: Velocity overview
Define a variable
Example
#set( $id = 1)
#set( $userName = "Administrator")
Snippet
#set($variable = aValue)
As of Intrexx 12.0.0: Velocity overview
Output variable in local format
Outputs a variable in the portal's local format. The variable has to be defined in a ValueHolder. The following types can be used as the RENDERING_TYPE: integer, datetime, date, time, currency, number, boolean, author.
Example
#set($vhValue = $VH.getValueHolder(1))
#writeVH($vhValue, "currency", true, false, false)
Snippet
#set($vhValue = $VH.getValueHolder($object))
#writeVH($vhValue, "<RENDERING_TYPE>", true, false, false)
As of Intrexx 12.0.0: Velocity overview
Read request parameter
Read a request parameter
Snippet
$!Request.get("rq_param")
As of Intrexx 12.0.0: Class IServerBridgeRequest
Write request parameter
Write a request parameter
Snippet
$Request.put("rq_param", "strValue")
As of Intrexx 12.0.0: Class IServerBridgeRequest
All data groups of an application
Returns the names of all data groups of the application with the stated GUID.
Snippet
#set($datagroups = $RtCache.getDataGroups($RtCache.filter.dataGroup.getByApplication(<GUID-der-Applikation>)))
#foreach($datagroup in $datagroups)
Name: $datagroup.getName()
#end
As of Intrexx 12.0.0: Class VelocityRtCache
Dynamic identification of a table name per sysident
To identify the table name via sysident, the expert attribute "sysident" has to be defined on the "Expert" tab of the data group properties. The sysident value is case-sensitive.
Example
$RtCache.getFirstDataGroup($RtCache.filter.dataGroup.getBySysIdent("4B73F01B5F97199C578431966703239ED1AD8397", "mein-sysident")).getTableName()
Snippet
$RtCache.getFirstDataGroup($RtCache.filter.dataGroup.getBySysIdent("<GUID-der-Applikation>", "<Sysident-Wert>)).getTableName()
As of Intrexx 12.0.0: Class VelocityRtCache
Current date with the current user's time zone
Creates a current date considering the time zone of the current user.
Snippet
$DtUtil.now($User.getTimeZone())
As of Intrexx 12.0.0: Class CalendarAwareDate
Create a JSON response
Creates a JSON response
Snippet
## This is necessary: Prevent the response from linebreaks, unwanted outputs, etc.
$Response.setIgnoreWrite(true)
## in here you can write your Velocity-Code without effecting the response accidentally
## e.g. set a variable
#set($myVar = "Hello client!")
## This may help you: Using a java.util.Map to go on easy with JSON-formatting later.
#set($map = $CollectionFactory.createMap())
## Add everything you need into the map with a reliable key.
$map.put("myJSONAnswer", $myVar)
## This is necessary: Format the response, so the server delivers JSON.
$Response.setHeader("Cache-Control", "no-cache")
$Response.setHeader("Content-Type", "application/json;charset=UTF-8")
## Format the Map to be escaped for the JSON-String.
$Response.setIgnoreWrite(false)$JSON.toJSONString($map)
As of Intrexx 12.0.0: Class JSONUtil
Create a GUID
Generates a new GUID.
Snippet
$Unique.newGuid()
As of Intrexx 12.0.0: Class Unique
Determine start time and uptime of the portal
Snippet
$Portal.getUptimeDuration()
$Portal.getUptimeMillis()
$Portal.getStartTime()
As of Intrexx 12.0.0: Determine start time and uptime of the portal
Snippet
$Portal.getUptimeDuration()
$Portal.getUptimeMillis()
$Portal.getStartTime()