Parameter store
From Intrexx version 12.0.0
The parameter store is a central store that enables non-sensitive connection parameters (e.g. hosts, ports, user names) that are used in processes (e.g. in IMAP event sources or generic elements) to be stored independently of the processes and made available at runtime.
This feature is a prerequisite for managing processes in public GIT repositories and for passing on processes to third parties. The parameter store enables an improved staging environment from the test to the live area.
The parameter store can be found in the "Integration" module on the left below the "Connection data management" entry. Clicking on it lists the parameters defined in the portal on the right-hand side with name, value, description and date of the last change.
At the top right you will find the button "Add parameter". Clicking on it opens a dialog that can be used to create new parameters.
Create parameter
The parameter name and value are required here; a description can be entered optionally. The parameter name must be unique and may only contain the following characters: [a-z][A-Za-z0-9]*.
Click "OK" to save the changes and close the dialog again.
Edit parameter"
Opens a dialog in which the parameter currently selected in the list can be edited.
Edit parameter
The name of the parameter cannot be changed. The value and description can be edited. Click "OK" to save the changes and close the dialog again.
The changes are applied immediately and are available at process runtime. Exception: If the value of a parameter changes, processes with event sources that use the parameter must be republished.
Delete connection parameter
Deletes the parameter currently selected in the list. When removing, the system checks whether the selected parameter is used in processes. If yes, you will be asked whether the parameter should still be deleted.
Show usage in Intrexx
Opens a dialog in which the processes that use the parameter are displayed.
Usage in Intrexx
The processes in which the selected parameter is used are checked here. The processes found are displayed in a list.
Click "OK" to save the changes and close the dialog again.
Search field
There is a search field located above the parameter table on the right-hand side. The table is filtered for parameters that contain the search term in the parameter name.
Refresh
The parameter list can be reloaded from the server via the main menu "Parameter store / Refresh" option or the corresponding button in the toolbar.
parameterstore.cfg
All parameters are saved in the XML file "parameterstore.cfg" in the portal directory "internal/cfg". Here is an example:
<?xml version="1.0" encoding="UTF-8"?>
<parameters xmlns="http://schemas.intrexx.com/intrexx/2024/parameter-store/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.intrexx.com/intrexx/2024/parameter-store/ http://schemas.unitedplanet.de/intrexx/2024/package/de/uplanet/lucy/server/parameterstore/cfg/res/parameterstore.xsd"/>
<parameter name="myHost" lastModified="2024-04-15T13:32:51.320Z" value="test.example.org">
<description>Host für Testsystem</description>
</parameter>
<parameter name="myPort" lastModified="2024-04-15T13:33:39.181Z" value="993">
<description>Port für Testsystem</description>
</parameter>
<parameter name="myUser" lastModified="2024-04-15T13:34:20.375Z" value="testUser">
<description>Benutzername für Testsystem</description>
</parameter>
</parameters>
Parameters in process elements
In the "Processes" module, parameters can be selected at various points in the properties of process elements and also new parameters can also be created and added to the parameter store. Alternatively, the parameters can also be saved directly in the process.
A parameter is saved in a separate bean property whose name is the same as the name of the bean property of the static value plus the suffix "ParamRef". The value of the bean property corresponds to the name of the parameter that was assigned in the parameter store. Example: userParamRef = "myUser".
IMAP Event Source (type "Standard IMAP")
For the IMAP event source, the IMAP server, IMAP port and the user name can be defined in the properties of the element on the "Email server" tab.
Clicking on any of the small downward-pointing arrows on the right opens a menu in which you can select whether the respective value should be saved with the process (default) or obtained from the parameter store; if you select "From parameter store", the respective edit field becomes a selection list from which you can select the desired parameter. The name of the parameter is then saved in the process.
If you have selected the "From parameter store" menu, the respective icon to the right of the "IMAP server", "IMAP port" or "User name" fields changes to a different icon . Clicking on this opens a dialog in which existing parameters can be edited and new parameters can be created.
Select parameters
All existing parameters are listed here. By clicking on "Add parameter", new parameters can be created and existing parameters edited from here.
Only display parameters with integer values
In the parameter selection for the IMAP port, you will find the additional setting "Only display parameters with integer values".
Only parameters with an integer value are available for the IMAP port. If you deactivate the setting "Only display parameters with integer values", all parameters are displayed. However, only parameters with an integer value can be selected.
IMAP Event Source (type "Exchange Online")
The client, user principal name and application ID can be defined or selected here in the same way as for the IMAP event source with the type "Standard IMAP".
Generic elements
When editing a property, it is possible to select a parameter by clicking on "Insert value from parameter" if the property has the suffix "ParamRef". In the runtime class, the annotation "@Referenceable" must be set for the setter and getter of the bean property for the static value.
@Referenceable
public String getUser()
{
return m_strUser;
}
@Referenceable
public void setUser(String p_strUser)
{
m_strUser = p_strUser;
}
public String getUserParamRef()
{
return m_strUserParamRef;
}
public void setUserParamRef(String p_strParamRef)
{
m_strUserParamRef = p_strParamRef;
}
"Expert" tab
The use of parameters via the "Expert" tab in the properties of process elements works in the same way as with generic elements.
Groovy API
The context object "g_parameterReferences" is used to access the parameter store. Click here for more information.
Security
The following measures are in place to ensure the security of the parameter store:
-
Permissions check: To add, edit or remove parameters, users require the "Administrate portal" portal permission and to read or select requires the "Administrate portal" portal permission, access to the "Applications" module, or access to the "Processes" module.
-
When exporting processes, only the names of the parameters are exported, no values. During or after the process import, the values can be reset by the user, provided they have the required portal permission.
Publication of processes
Check for undefined parameters
Before a process is published, the system checks whether the parameters used in the process are defined in the portal. The bean properties of the elements and the Groovy scripts are checked.
Undefined parameters can occur in a process - e.g. if an imported process contains a parameter that does not exist in the current portal. If there are undefined parameters in the process, a corresponding message is displayed, which also indicates possible problems when publishing or executing the process. The user has the option of continuing or canceling the publishing process.
In the properties of the elements, undefined parameters are marked with the attribute (undefined) (exception: generic elements and "Expert" tab).
Notes tab
In addition to the notice message, the relevant elements and any Groovy script files are listed in the "Notes" area. The warning triangle shows the description of the entry when the mouse contacts it.
Double-click on an element to highlight it on the workspace.
Groovy script files can also be displayed. Double-click on the corresponding item to open the script editor. The cursor jumps to the line of the first use of an undefined parameter.
metaParameter.xml
When publishing, the parameter names used in the process are written to the new "metaParameter.xml" file in the process directory. The parameter names are collected from the "model.xml" file and from files with the extension ".groovy".
<meta xmlns="http://schemas.intrexx.com/intrexx/2024/meta/parameter/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.intrexx.com/intrexx/2024/meta/parameter/ http://schemas.unitedplanet.de/intrexx/2024/package/de/uplanet/lucy/parameterstore/meta/res/metaparameter.xsd">
<parameter name="myHost"/>
<parameter name="myPort"/>
<parameter name="myUser"/>
</meta>
Process import
If a parameter is used in at least one of the processes selected for the import, the new "Parameters" page is displayed in the Import Wizard.
The names of the parameters from the selected processes are displayed here. The source of the names is the "metaParameter.xml" file.
Click on "Info" in the first column of the parameter list to display the usage in the import package. The parameter name is displayed in the second column.
In the third column, you will find a checkbox that can be used to create a new parameter if it does not yet exist in the target portal.
Configure parameters
Click on "Configure parameters" to open a dialog that can be used to configure the new parameter. When a new parameter is created, it must be configured, i.e. a value must be assigned. The name of the parameter must be unique and must only contain the following characters: [a-z][A-Za-z0-9]*. A description can also be entered optionally.
If the checkbox is set and the new parameter is configured, it is added to the parameter store during the import process.
The "Administrate portal" portal permission is required to create new parameters.
The fourth column shows whether there is an assignment for the parameter from the portal's parameter store. The assignment takes place automatically if a parameter with the same name as in the import package exists in the portal. An assignment with a different name is not possible, since the use in Groovy scripts cannot be determined 100% reliably and therefore an adaptation of the name would not be possible in every case.
Alternatively, missing parameters can also be added to the portal's parameter store immediately. To do this, open the parameter store using the "Open parameter store" button. Click here for more information.
The assignments to the portal are updated when the dialog is closed.
If not all parameters are assigned or the creation of new parameters is not fully configured, a message is displayed when you click on "Next". The import can still be continued on request.