Parameter memory (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 memory enables an improved staging environment from the test to the production area.

The parameter memory can be found in the "Integration" module on the left below the "Connection data management" entry. By clicking on it, the parameters defined in the portal are listed on the right-hand side with name, value, description and date of the last change.

The "Change portal properties" portal right is required to manage the parameters.

At the top right you will find the button "Add parameters". Clicking on it opens a dialog where new parameters can be created.

Create parameters

The parameter name and value are required here; a description can optionally be entered. 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 parameters"

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.

Remove parameters

Deletes the parameter currently selected in the list. When removing, the system checks whether the selected parameter is used in processes. If yes, you are asked whether the parameter should still be deleted.

Parameters used in Groovy script cannot be determined 100%.

Show usage in Intrexx

Opens a dialog in which the processes that use the parameter are displayed.

Use in Intrexx

The processes in which the selected parameter is used are checked here. The processes found are displayed in a list.

Parameters used in Groovy script cannot be determined 100%.

Click "OK" to save the changes and close the dialog again.

Search field

You will find a search field 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 memory / Refresh" 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: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 newly created and stored in the parameter memory. Alternatively, the parameters can also be saved directly in the process.

The "Change portal properties" portal right is required to create and edit parameters. The portal right "Access to Processes module" or "Access to Applications module" is sufficient for the mere selection of existing parameters.

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.

If you click on the small downward-pointing arrow on the right, a menu opens 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 input 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 memory" menu, the respective icon to the right of the "IMAP server", "IMAP port" or "User name" fields changes to another 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 also find the 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. Further information can be found here.

Security

The following measures are in place to ensure the security of the Parameter Store:

  • Rights check: Users require the "Change portal properties" portal right to add, edit or remove parameters and the "Change portal properties" portal right to read or select, 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 if the required portal rights are available.

Publication of processes

Check for undefined parameters

Before publishing a process, 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.

Parameters used in Groovy scripts cannot be determined 100%.

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 addition (undefined) (exception: generic elements and "Expert" tab).

Notes-Tab

In addition to the hint message, the relevant elements and any Groovy script files are listed in the "Hints" area. The warning triangle shows the description of the entry on mouse contact.

Double-click on an element to highlight it on the workspace.

Groovy script files can also be displayed. Double-click on the corresponding entry 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 ".groovy" extension.

Parameters used in Groovy scripts cannot be determined 100%.
            <meta  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 parameter" to open a dialog box that can be used to configure the new parameter. The parameter must be configured when creating a new one, i.e. a value must be entered. The name of the parameter must be unique and may only contain the following characters: [a-z][A-Za-z0-9]*. A description can also be entered as an option.

If the checkbox is set and the new parameter is configured, it is added to the Store parameter during the import process.

The "Change portal properties" portal right 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, as the use in Groovy scripts cannot be determined 100% and therefore an adaptation of the name would not be possible in every case.

Alternatively, missing parameters can also be added immediately to the portal's parameter store. To do this, open the parameter store using the "Open parameter store" button. Further information can be found here.

The assignments to the portal are updated when the dialog is closed.

If not all parameters are assigned or the new creation of parameters is not fully configured, a message is displayed when you click on "Next". The import can still be continued on request.

More information

Connection data management

Credential store (credential store)